第1章数据库技术基础.ppt

上传人:本田雅阁 文档编号:3422604 上传时间:2019-08-23 格式:PPT 页数:50 大小:255.54KB
返回 下载 相关 举报
第1章数据库技术基础.ppt_第1页
第1页 / 共50页
第1章数据库技术基础.ppt_第2页
第2页 / 共50页
第1章数据库技术基础.ppt_第3页
第3页 / 共50页
第1章数据库技术基础.ppt_第4页
第4页 / 共50页
第1章数据库技术基础.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《第1章数据库技术基础.ppt》由会员分享,可在线阅读,更多相关《第1章数据库技术基础.ppt(50页珍藏版)》请在三一文库上搜索。

1、现代数据库技术,计算机科学与工程学院 姚全珠,本课程教授内容,第一章 应用数据库系统开发技术 6 第二章 分布式数据库 12 第三章 面向对象数据库 4 第四章 空间数据库 4 第五章 时态数据库 4,推荐教材,汤庸,叶小平.高级数据库技术与应用.高等教育出版社.2008.2 王能斌. 数据库系统原理下册.出版社:电子工业出版社.2002年2版 邵佩英.分布式数据库系统及应用.出版社:科学出版社.2005年2版 David M.Kroenke著、施伯乐等译. 数据库处理基础设计与实现.出版社:电子工业出版社.2003年8版,成绩,1 平时作业(30) 2 考试成绩 (70),第一章 应用数据库

2、系统开发技术,数据库系统的组成 开发方法 数据建模 数据规范化 数据模型到关系数据库的映射 系统安全设计,第一节 数据库系统的组成,开发人员,用户,数据库包含的4个要素,用户数据: 用户希望此系统保存和使用的数据。,索引: 为了改变数据库的性能和可访问性所增加的一组辅助性数据。,元数据: 数据库自身结构描述的数据。,应用元数据: 用来存放用户表格,报表,查询和其他形式的应用组件。,用户数据,STUDENT,COURSE,元数据(sys tables 表),Syscolumns 表,索引(学号),年龄索引,三个子系统,设计工具子系统: 它有一个方便数据库及其应用产生的工具箱集,典型的包含产生表,

3、窗体,查询和报表的工具,DBMS还提供编程语言和对编程语言的接口。此部分功能通常由数据定义语言(DDL)实现,完成数据库定义功能。 运行子系统: 它处理用设计工具开发的应用组件,此外还有一种运行组件,由它处理应用程序读写数据库数据的请求。此部分功能通常由数据操纵语言(DML)实现、完成数据库存取功能。 DBMS引擎: 它介于设计工具子系统及运行子系统和数据库本身之间。DBMS引擎从其它两个组件接受请求,并把它们翻译成对操作系统的命令,从而读写物理介质上的数据。DBMS引擎还涉及事务管理,锁定、备份和恢复。此部分功能通常由数据控制语言(DCL)实现、提供数据库例行程序。,第2节. 开发方法,开发

4、数据库的策落有两种:自顶向下和自底向上 。 自顶向下是从一般到特殊,它开始于对组织战略目标、完成这些目标的方法、达到这些目标必须完成的需求和需要提供这些信息的系统的研究,从这些研究可以构造抽象数据模型。 自底向上方式、采用与抽象相反的方式进行。开始于开发特定系统的要求,然后把每一个开发好的子系统逐步集成,直到完成整个系统。,概念结构设计策略,自顶向下策略 自底向上策略,子需求,全局概念模式,概念模式,概念模式,概念模式,概念模式,概念模式,概念模式,需求,子需求,子需求,概念模式,概念模式,概念模式,概念模式,概念模式,全局概念模式,第3节.数据建模,一、 需求分析常用方法 1 组织机构及岗位

5、职责调查 2 业务流程调查 3 数据内容、格式、及处理量调查,组织机构调查,岗位职责1 岗位职责2 岗位职责n,计算工资业务流程,数据内容、格式、及处理量调查 表1业务项目描述表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:,表2数据录入调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:,填表人: 填表日期: 审查人: 审查日期:,表3数据查询调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:,填表人: 填表日期: 审查人: 审查日期:,表4 需求调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:,填表人: 填表日期: 审查人: 审

6、查日期:,二、 数据概念建模工具,E-R 图(Entity-Relationship Approach) ) 语义对象模型,E-R模型,E-R模型是由Peter Chen在1976年提出的。 实体是可以从用户工作环境中标识的事物。实体可归结为实体类或同一类型的实体集合。实体类是一个事物的一般形式或描述。而实体类的一个实例则表示一个特定实体。 实体具有属性,有时也称作性质,是用来描述实体的特征的。 实体可以通过联系相互关联。E-R模型包含联系和联系类,联系类是实体类之间的联系,联系是实例之间的联系,联系也可拥有属性。 两个实体之间的联系有3种类型:1对1联系,1对多联系,多对多联系。,性别,姓名

7、,年龄,住址,职工号,库名,面积,地址,传真,电话,面积,库名,地址,传真,电话,姓名,性别,年龄,住址,职工号,姓名,年龄,性别,住址,职工号,规格,单价,编码,名称,数量,例2 公司雇员实体类。因为有些雇员是工程师, 在雇员和工程师之间有一个子类型联系。每个工程 师必须是一个雇员;工程师有一个对汽车的1:1联系;其每个汽车必须分配给一个工程师,但并非所有的工程师都拥有汽车。 工程师为客户提供服务,一个工程师能提供0到多个服务,但一项给定的服务必须且只能由一个工程师提供。客户可以有多项服务,一项服务可被多个客户请求。一个客户必须购买至少一项服务,但服务不必一定有客户。客户-服务联系有一个属性

8、收费。 有时客户会相互参照,一个客户可以参照多个客户,但一个客户最多只能被一个客户参照。 一个工程师可能已经获得了某项认证。 CERTIFICATION是描述特定证书的实体.,例3 jefferson舞蹈俱乐部教授交际舞,提供私人授 课和集体授课两种服务.对于私人授课, jefferson收 取每人(或每对)每小时45美元的费用;对于集体授课, jefferson收取每人每小时6美元的费用.私人授课从中午12点到晚上10点提供,每周6天.集体授课晚上提供. Jefferson雇佣了两种类型的老师:专职教师和兼职教师.专职教师每周付给固定的工资,而兼职教师则是按一个晚上或一节特定的课程付给预定的

9、工资. 除了授课外, Jefferson每周主办两次舞会,参加者每人收取5美元.星期五晚上的舞会更受欢迎,平均有80人参加;星期六晚上的舞会大约能吸引到30人参加.,Jefferson想开发一个信息系统来跟踪学生和他们所选的课程. Jefferson的经理还希望知道每一个老师所教授的课程数量和类型,用以统计每个老师每节课的平均费用.,例4 San Juan帆船出租公司是一个向客户收费出 租帆船的代理,San Juan本人并没有帆船,它是替那些希望自己不使用帆船时赚取收入的帆船主出租帆船。San Juan为自己的服务收取费用,而专门经营可以出租多日或一周的船。最小的船是28英尺长,最长的船是51

10、英尺长。 每一只船在出租时都是完全装备的,大多数设备由船主提供,有一些是由San Juan加上去的。船主提供的设备包括固定在船上的设备,如无线电、指南针、深度计及其他仪器、炉子、冰箱等,其他船主提供的设备没有安装在船上,这种设备包括帆、绳子、锚、救生艇、救生衣和船舱内的碟子、银器、烹调器皿、床等。San Juan提供消费品,也可以说是补给,如航海图、导航书籍、潮汐表、和一些类似的物品。,San Juan的一个重要的责任就是跟踪船上的设备,多数设备比较昂贵,有些设备(特别是那些没有装在船上的)很容易丢失或被盗窃。在出租期间,由客户负责所有的设备。 San Juan想精确地记录客户和出租的情况,这

11、不仅用于开拓市场,还用于记录客户所走的行程。有些路线和气候条件比其他的危险,因此,San Juan想知道哪些客户有什么经验。 San Juan的大部分业务是裸船出租,也就是说不提供船长或水手。但有些情况下,客户要求船长或水手,因此San Juan雇佣了一些这类兼职人员。,帆船经常需要维护。San Juan与船主签订的 合同要求San Juan精确地记录所有的维护活动和费用,包括像清洁和换机油这样的例常工作和不定期的维修。某些情况下,维修需要在出租后进行。 例如,帆船的发动机可能在远离San Juan维修部的时候出故障,这时,客户用无线电通知调度员,由他来确定最好的维修部,并派遣维修部的人到发生

12、故障的船上去。为了做出这些决断,调度员需要关于维修部的信息和船只的维修质量与费用的历史信息。,语义对象模型,语义对象的概念是David M.Kroenke 1988年在数据库处理一书的第三版中提出的。在ER模型中称为实体的事物在语义对象模型中被称为语义对象,语义对象是用来部分地对用户数据的含义建模的。,语义对象代表明确的本体,是足以描 述一个确切本体属性的命名集合,是用户需 要跟踪和报告的事物。 对象也有一个属性集合,每个属性代表所表示对象的一个特征。 属性有三种类型,简单属性是单值的,例如姓名、性别等。属性组是其他属性的组合,例如地址,它包含属性省分,区/县,街道,。第三种属性是语义对象属性

13、,它是在语义对象和另一个语义对象之间建立关系的属性。在下图 中给出了仓库语义对象的描述。,第4节.数据规范化,在分析问题的过程中,通常把问题分解,按子系统建模,然后再把子模型集成起来形成完整系统模型。在集成的过程中会产生数据冗余,有时会发生冲突,冲突体现在以下三个方面: 属性冲突:包括属性值的类型、取值范围和取值集合不同,单位冲突(如:重量单位用吨和公斤、但管材的单位有时用长度等); 结构冲突:同一属性组的外延不同、不同E-R图中实体和属性存在冲突,例如一个事物在此处被看作属性,而在其他地方又被看作实体; 命名冲突:同名异义、异名同义。,冗余数据消除,冗余数据指可由基本数据导出的数据,冗余的存

14、在容易破坏数据库的完整性,可用分析法消除冗余,但最常用的却是规范化理论。 规范化理论的一个重要的目标就是将数据分割存储在特定的地方来消除冗余、简化数据库的更新,提高数据库完整性,并且减少存储的要求。,学生,课程,教师,教材,选课,开设,选用,选用,m,n,m,1,1,1,1,1,一 、下图表示一个公司各部门的层次结构。,图1 部门层次图,对每个部门,数据库中包含部门号(惟一的)D#、预算费(BUDGET)以及此部门领导人的职工号E#(惟一的)信息。 对每一个部门,还存有关于此部门的全部职工、生产与科研项目以及办公室的信息。 职工信息包括:职工号、他所参加的生产与科研项目号(J#)、他所在办公室

15、的电话号码(PHONE#)。 生产科研项目包括:项目号(惟一的)、预算费。 办公室信息包含办公室房间号(惟一的)、面积。 对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。 对每个办公室包含此办公室中全部电话号码的信息。 请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。,(1)首先画出一些重要的函数依赖,所有这些函数依赖都是根据文字说明和语义假设导出。 语义假设如下: 1) 一个职工不能同时成为多个部门的领导人; 2) 一个职工不能同时在多个部门就职; 3) 一个职工不能同时参加多个生产项目; 4) 一个职工不能同时在两个不同的办公室办公; 5) 一个职工不

16、能同时拥有两部或两部以上的电话; 6) 一个生产项目不能同时分配给多个部门; 7) 一个办公室不能同时分配给多个部门; 8) 部门号、职工号、项目号、办公室号码及电话号码是全局惟一的。,图2 关系模式函数依赖图,(2)先按照图1设计一组关系模式,它们都是属于1NF的。 DEPT(DEPT#, DBUDGET, MGR_EMO#) PRIMARY KEY(DEPT#) DEPT#和MGR_EMP#都是侯选码,把DEPT#作为主码。 F=DEPT# DBUDGET , DEPT# MGR_EMO# , MGR_EMO# DEPT# EMP1(EMP# , DEPT# , PROJ# , OFF#

17、, PHONE#) PRIMARY KEY(EMP#) F= EMP# DEPT# , EMP# PROJ# , EMP# OFF# , EMP# PHONE# , PHONE# OFF# , OFF# DEPT# , PROJ# DEPT#,JOB(EMP# , JOBTITLE) PRIMARY KEY(EMP# , JOBTITLE) F= EMP# , JOBTITLE EMP# , EMP# , JOBTITLE JOBTITLE SALHIST(EMP# , JOBTITLE , DATA , SALARY) PRIMARY KEY(EMP# , DATE) F= EMP# , D

18、ATE JOBTITLE , EMP# , DATE SALARY PROJ(PROJ# , DEPT# , PBUDGET) PRIMARY KEY(PROJ#) F=PROJ# DEPT# , PROJ# PBUDGET OFFICE(OFF# , DEPT# , AREA) PRIMARY KEY(OFF#) F= OFF# DEPT# , OFF# AREA ,PHONE(PHONE# , OFF#) PRIMARY KEY(PHONE#) F= PHONE# OFF# (3)现在来分析一下这7个关系模式,发现:SALHIST(EMP# , JOBTITLE , DATA , SALA

19、RY)的属性包含了JOB(EMP# , JOBTITLE)的属性,所以JOB(EMP# , JOBTITLE)可以消去。 EMP1中OFF#和DEPT#都传递函数依赖于主码(EMP#)。OFF#通过PHONE#,DEPT#通过PROJ#或OFF#(然后通过PHONE#)传递依赖于(EMP#)所以可以把EMP1(EMP# , DEPT# , PROJ# , OFF# , PHONE#)分解成以下4个3NF的关系模式:,EMP(EMP# , PROJ# , PHONE#) PRIMARY KEY(EMP#) X(PHONE# , OFF#) PRIMARY KEY(PHONE#) Y(PROJ#

20、, DEPT#) PRIMARY KEY(PROJ#) Z(OFF# , DEPT#) PRIMARY KEY(OFF#) 然而,X就是PHONE,Y就是PROJ的投影,Z就是OFFICE的投影,所以X、Y、Z都可以消去。 最后可以得到以下6个关系模式,所有这些关系模式都是属于3NF的,进一步发现它们也是BCNF的。,DEPT(DEPT#, DBUDGET, MGR_EMO#) PRIMARY KEY(DEPT#) EMP(EMP# , PROJ# , PHONE#) PRIMARY KEY(EMP#) SALHIST(EMP# , JOBTITLE , DATA , SALARY) PRIMARY KEY(EMP# , DATE) PROJ(PROJ# , DEPT# , PBUDGET) PRIMARY KEY(PROJ#) OFFICE(OFF# , DEPT# , AREA) PRIMARY KEY(OFF#) PHONE(PHONE# , OFF#) PRIMARY KEY(PHONE#),第5节.数据概念模型到关系数据模型的映射,数据库逻辑设计: 将概念设计所得到的概念模型转换为某一具体的数据模型(层次、网状、关系、面向对象) 向某一具体DBMS支持的模型转换 对逻辑模型进行优化,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1