数据库多部门通讯录

上传人:正** 文档编号:50547225 上传时间:2018-08-08 格式:PPT 页数:69 大小:1.06MB
返回 下载 相关 举报
数据库多部门通讯录_第1页
第1页 / 共69页
数据库多部门通讯录_第2页
第2页 / 共69页
数据库多部门通讯录_第3页
第3页 / 共69页
数据库多部门通讯录_第4页
第4页 / 共69页
数据库多部门通讯录_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《数据库多部门通讯录》由会员分享,可在线阅读,更多相关《数据库多部门通讯录(69页珍藏版)》请在金锄头文库上搜索。

1、数据库多部门通讯录2home back first prev next last学习目标 分部门通讯录开发 ERD 中有多个实体,实体间有关系 数据库中有多个表,通过外键关联到一起 一对多关系如何映射到外键3home back first prev next last项目背景 我院计算机系基于Web的通讯录投入使用后,效果 非常好。大家不再为信息不能及时更新而发愁, 也不用再担心自己的通讯录是不是最新版本,在 需要的时候会不会找不到自己要找的人。 学院领导决定推广计算机系的先进经验,将计算 机系的做法推广到整个学院。 我院有四百多名教职工,分属于不同的系部和部 门。新的通讯录除了应当具备原项目

2、一中所具备 的功能外,应当添加分部门管理功能,即可以根 据用户所选择的部门显示相应的教职工信息。4home back first prev next last需求分析 4-1 首先要解决的问题 项目的任务和目标是什么? 需要什么功能? 需要保存什么样的数据? 需要什么样的运行环境? 需要什么样的开发工具? 安全性有什么要求? 效率有什么要求? 5home back first prev next last需求分析 4-2本项目的任务和目标 提供给全校职工一个可通过互联网使用的通讯录 通讯录内容必须可以及时更新,能反映本校教职工最新的联系方式 本项目产品必备功能 验证用户是否合法。添加部门 查询

3、部门 修改部门信息 删除部门查询所选员工信息。 修改所选员工信息。 删除所选员工信息。 增加所选员工信息。6home back first prev next last需求分析 4-3本项目需要保存的数据 下面 ERD 中实体间连线表示关系本项目运行环境 同项目一 本项目开发工具 同项目一7home back first prev next last需求分析 4-4 安全性 暂时同项目一 效率 由于使用人员有限,同时使用的情况更少,信 息量很少,不需要特别考虑8home back first prev next last设计 5-1 数据库设计9home back first prev nex

4、t last设计 5-2界面设计 1.登录 同项目一 2、创建部门10home back first prev next last设计 5-3 界面设计 3.部门详细信息修改及删除 11home back first prev next last设计 5-4界面设计 4.查找信息 12home back first prev next last设计 5-5 测试13home back first prev next last构建 6-1创建数据库对象 在 SQL Workshop 中执行: - 创建表 CREATE TABLE a02_departments( dept_idNUMBER(5,

5、0) CONSTRAINT a02_departments_pk PRIMARY KEY, nameVARCHAR2(50 CHAR) NOT NULL, addressVARCHAR2(50 CHAR);CREATE TABLE a02_employees( idNUMBER(5,0) PRIMARY KEY, nameVARCHAR2(5 CHAR) NOT NULL, m_phoneVARCHAR2(20 CHAR), o_phoneVARCHAR2(20 CHAR), h_phoneVARCHAR2(20 CHAR), emailVARCHAR2(60 CHAR), dept_idNU

6、MBER(5,0) CONSTRAINT a02_emp_dept_fk REFERENCES a02_departments (dept_id) NOT NULL );14home back first prev next last构建 6-2 创建数据库对象 在 SQL Workshop 中执行:- 创建序列,用于自动产生连续整数,作为 employees 表的主键CREATE SEQUENCE a02_employees_seq;CREATE SEQUENCE a02_departments_seq;15home back first prev next last构建 6-3- 添加测试

7、数据 INSERT INTO a02_departments VALUES(a02_departments_seq.NEXTVAL,计算机系 ,B301); INSERT INTO a02_employees values(a02_employees_seq.NEXTVAL,郭靖,13705319999,0531 88888888,0531 7777777,,a02_departments_seq.CURRVAL);INSERT INTO a02_departments VALUES(a02_departments_seq.NEXTVAL,人事处, 办公楼402); INSERT INTO a

8、02_employees values(a02_employees_seq.NEXTVAL,黄蓉,13705319898,0531 88888888,0531 77777777,,a02_departments_seq.CURRVAL);SELECT * FROM a02_departments; SELECT * FROM a02_employees;- 提交 COMMIT; 16home back first prev next last构建 6-4 创建应用程序 创建页 选择 MasterDetail 报表,部门表作主表,员工表为从表。 验证方式,选择Application Expres

9、s。 添加验证 实现部门名称不能为空值的检查验证。 标识验证级别: 选择 项级验证 标识要验证的项: 选择 Edit A02_DEPARTMENTS: 1. P2_NAME (Name) 选择验证方法: 选择 项不为空 错误消息: 填写 name 不能为空,必须填写17home back first prev next last构建 6-5创建应用程序 添加处理 选择要创建的处理类别: PL/SQL 名称 Get PK 输入 PL/SQL 页处理: DECLAREv_pk NUMBER; BEGINSELECT A02_DEPARTMENTS_SEQ .NEXTVAL next_val INT

10、O v_pk FROM dual;:P2_DEPT_ID := v_pk; END; 失败消息: 无法获取主键值 在按下按钮时: CREATE 修改处理“Get PK”的序列为 小于“Process Row of A02_DEPARTMENTS Automatic Row Processing (DML)” 的值, 比如 2018home back first prev next last构建 6-6 创建应用程序 员工细节报表“Add Row”处理 如何为报表中新增行的ID列赋予主键值? 打开细节页定义,找到报表EMPLOYEES DetailReport ,编辑其列ID的定义,找到Tabu

11、lar Form Element,Primary Key Source Type一项的内容选择 Existing Sequence, Primary Key Source中填写A02_EMPLOYEES_SEQ ,应用修 改,就可以了。 添加查询信息页 添加页,选择报表页类型,选择交互式报表,选择在已有 Tabset中添加Tab,修改Label为“查找员工”,SQL语句填写 :SELECT e.name 姓名,e.m_phone 移动电话,e.o_phone 办公电话 ,e.h_phone 家用电话,e.email 电子邮件,d.name 部门 FROM a02_employees e,a02

12、_departments d WHERE e.dept_id = d.dept_id 19home back first prev next last测试.移交.运行维护测试 按测试设计内容进行 移交 制作数据库对象创建脚本 导出应用程序 在系网站服务器安装OracleXE 运行数据库对象创建脚本 导入应用程序 将现有通讯录内容核实,添加到数据库 通知所有用户网址、用户名、口令 运行维护 信息维护 程序维护20home back first prev next last熟悉 Web 页面 熟悉主从报表 熟悉交互式报表界面和功能21home back first prev next last熟悉

13、 EditPage 页面 Web 页面开发环境 熟悉报表区域 能在Source部分找到并修改报表对应 SELECT 语 句 熟悉报表区域,能修改报表各列标题,显示顺序等 共享组件 可在多页中使用22home back first prev next last总结 2-1数据库设计 关系,ERDish,关系绘图方法; 矩阵图; 一对多关系到外键的映射; 数据的基本处理方式 增、删、查、改 (CRUD) SQL 外键约束; 主从表(父子表)概念; CURRVAL伪列; WHERE子句; 联合查询; 表别名23home back first prev next last总结 2-2 PL/SQL 触

14、发器; 游标; COUNT(*) OAE 主从报表的使用;24home back first prev next last关系 16-1 实体或数据不是孤立存在的,有些实体之间 存在着某种关系,比如: 数量关系: 一个员工必须属于一个且只能属于一个部门 一个部门可以有一个或多个员工 可选或强制关系 一个员工必须属于一个且只能属于一个部门 一个部门可以有一个或多个员工25home back first prev next last关系 16-2 如果能够确定实体之间的关系,则理解数据 不同部分之间的联系就变得容易多了。 这有助于了解一个系统的不同部分之间如何 相互影响。例如,学生实体和课程实体是

15、彼 此关联的。 要准确地建立业务的模型,关系与实体本身 同样重要。26home back first prev next last关系 16-3 例子: 一个座位可能被出售给一位或多位乘客。 每位乘客只会购买一个座位。 座位被出售给一位乘客(或多位乘客-因此出现 超量售出)。 乘客购买或预订一个座位。27home back first prev next last关系 16-4 描述关系的业务方案: “在我们的餐厅里,顾客可以 来柜台下达订单。一个顾客 可以为自己或整个组的人订 餐。例如,如果一位母亲为 自己和孩子订了餐,我们就 认为这位母亲是拥有订单并 且应负责结帐的顾客。当然 ,顾客可以按需要预订任意 多份餐。28home back first prev next last关系 16-5 顾客拥有订单:可选性 和基数 可选性=“必须”或“可以” ? 每份订单必须是由一位( 且仅一位)顾客下达的。 每位顾客必须下达一份或 多份订单。 基数= 多少? 每份订单必须是由一位( 且仅一位)顾客下达的。 每位顾客必须下达一份或 多份订单。29home back first prev nex

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号