第1章 数据库技术基础

上传人:人*** 文档编号:571136134 上传时间:2024-08-08 格式:PPT 页数:50 大小:255.50KB
返回 下载 相关 举报
第1章 数据库技术基础_第1页
第1页 / 共50页
第1章 数据库技术基础_第2页
第2页 / 共50页
第1章 数据库技术基础_第3页
第3页 / 共50页
第1章 数据库技术基础_第4页
第4页 / 共50页
第1章 数据库技术基础_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

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

2、据库系统的组成开发方法数据建模数据规范化 数据模型到关系数据库的映射 系统安全设计 第一节数据库系统的组成数据库用户数据元数据索引和其它系统数据应用元数据数据库引擎设计工具表生成工具窗体生成工具查询生成工具报表生成工具过程语言编译器执行时间窗体处理器查询处理器报表书写器过程语言执行时间应用程序应用程序图1数据库系统的组件开发人员用户数据库包含的4个要素 用户数据: 用户希望此系统保存和使用的数据。索引: 为了改变数据库的性能和可访问性所增加的一组辅助性数据。元数据: 数据库自身结构描述的数据。应用元数据: 用来存放用户表格,报表,查询和其他形式的应用组件。 用户数据snosnamessexsa

3、ge20080010 张明男2120080011李虎男2320080012 王英女20STUDENTcnocnameproccredit872301数据库8601013872401系统结构8601022COURSE元数据(sys tables 表)Table nameNumber of columns Primary keystudent4snocourse4cnosc4Sno,cnoColumn nameTable nameData typelengthsnostudentchar8snamestudentchar8cnocoursechar6Syscolumns 表索引(学号)snosna

4、messexsage20080010 张明男2220080011李虎男2320080012 宋丽女2220080013 王英女20sagesno20200800132220080010,200800122320080011年龄索引三个子系统 设计工具子系统: 它有一个方便数据库及其应用产生的工具箱集,典型的包含产生表,窗体,查询和报表的工具,DBMS还提供编程语言和对编程语言的接口。此部分功能通常由数据定义语言(DDL)实现,完成数据库定义功能。运行子系统: 它处理用设计工具开发的应用组件,此外还有一种运行组件,由它处理应用程序读写数据库数据的请求。此部分功能通常由数据操纵语言(DML)实现、

5、完成数据库存取功能。DBMS引擎: 它介于设计工具子系统及运行子系统和数据库本身之间。DBMS引擎从其它两个组件接受请求,并把它们翻译成对操作系统的命令,从而读写物理介质上的数据。DBMS引擎还涉及事务管理,锁定、备份和恢复。此部分功能通常由数据控制语言(DCL)实现、提供数据库例行程序。 第2节. 开发方法开发数据库的策落有两种:自顶向下和自底向上 。自顶向下是从一般到特殊,它开始于对组织战略目标、完成这些目标的方法、达到这些目标必须完成的需求和需要提供这些信息的系统的研究,从这些研究可以构造抽象数据模型。自底向上方式、采用与抽象相反的方式进行。开始于开发特定系统的要求,然后把每一个开发好的

6、子系统逐步集成,直到完成整个系统。概念结构设计策略 自顶向下策略 自底向上策略子需求全局概念模式概念模式概念模式概念模式概念模式概念模式概念模式需求子需求子需求概念模式概念模式概念模式概念模式概念模式全局概念模式第3节.数据建模一、一、 需求分析常用方法需求分析常用方法1 组织机构及岗位职责调查组织机构及岗位职责调查2 业务流程调查业务流程调查3 数据内容、格式、及处理量调查数据内容、格式、及处理量调查组织机构调查总公司总经办技术部生产部营销部热处理车间装配机加1机加2钳工锻工车工岗位职责1岗位职责2岗位职责n输入工作实绩表输入扣除款表考勤文件 计算工资奖金发放标准工资档案库扣除款文件 实发工

7、资库 职工存款库工资报表领导及职工签名工作业绩文件输入考勤表银行帐管理工资报表生成程序存取款处理存取款清单打印存取款清单计算工资业务流程计算工资业务流程数据内容、格式、及处理量调查数据内容、格式、及处理量调查表1业务项目描述表科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:业务名称业务简介业务来源业务去向业务流量备注表2数据录入调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:序号录入具体内容数据格式录入频率数据有效期数据保密等级录入方式备注填表人: 填表日期: 审查人: 审查日期: 表3数据查询调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:序号查

8、询内容 查询格式 查询频率 查询权限查询建议 备注填表人: 填表日期: 审查人: 审查日期:表4 需求调查表 科室或单位名称: 调研人: 业务人或岗位名称: 调研日期:交叉重复 的业务 无法理顺的业务 旧系统中不满意的地方 旧系统中满意的地方对不满意的改进建议 希望新系统补充的功能 最需要计算机取代的手工劳动 填表人: 填表日期: 审查人: 审查日期: 二、 数据概念建模工具E-R 图(Entity-Relationship Approach) )语义对象模型E-R模型E-R模型是由Peter Chen在1976年提出的。实体是可以从用户工作环境中标识的事物。实体可归结为实体类或同一类型的实体

9、集合。实体类是一个事物的一般形式或描述。而实体类的一个实例则表示一个特定实体。实体具有属性,有时也称作性质,是用来描述实体的特征的。实体可以通过联系相互关联。E-R模型包含联系和联系类,联系类是实体类之间的联系,联系是实例之间的联系,联系也可拥有属性。 两个实体之间的联系有3种类型:1对1联系,1对多联系,多对多联系。 仓库主任仓库1:1领导性别姓名年龄住址职工号库名面积地址传真电话仓库库管员1:M工作面积库名地址传真电话姓名性别年龄住址职工号库管员物资M:N管理姓名年龄性别住址职工号规格单价编码名称数量例2 公司雇员实体类。因为有些雇员是工程师,在雇员和工程师之间有一个子类型联系。每个工程师

10、必须是一个雇员;工程师有一个对汽车的1:1联系;其每个汽车必须分配给一个工程师,但并非所有的工程师都拥有汽车。工程师为客户提供服务,一个工程师能提供0到多个服务,但一项给定的服务必须且只能由一个工程师提供。客户可以有多项服务,一项服务可被多个客户请求。一个客户必须购买至少一项服务,但服务不必一定有客户。客户-服务联系有一个属性收费。 有时客户会相互参照,一个客户可以参照多个客户,但一个客户最多只能被一个客户参照。 一个工程师可能已经获得了某项认证。 CERTIFICATION是描述特定证书的实体. EMPLOYEETRUKENGINEER-CERTIFICATIONSERVICECLIENTC

11、ERTIFICATION1:1N:MN:11:nENGINEER1:N1:nENG-SKILLTRUCK-ASSGNSERVICE-PROVIDERNCLIENT-SERVICELQUAL-ENGINEERREFERRED-BYFee例3 jefferson舞蹈俱乐部教授交际舞,提供私人授课和集体授课两种服务.对于私人授课, jefferson收取每人(或每对)每小时45美元的费用;对于集体授课, jefferson收取每人每小时6美元的费用.私人授课从中午12点到晚上10点提供,每周6天.集体授课晚上提供. Jefferson雇佣了两种类型的老师:专职教师和兼职教师.专职教师每周付给固定的工

12、资,而兼职教师则是按一个晚上或一节特定的课程付给预定的工资. 除了授课外, Jefferson每周主办两次舞会,参加者每人收取5美元.星期五晚上的舞会更受欢迎,平均有80人参加;星期六晚上的舞会大约能吸引到30人参加.Jefferson想开发一个信息系统来跟踪学生和他们所选的课程. Jefferson的经理还希望知道每一个老师所教授的课程数量和类型,用以统计每个老师每节课的平均费用.customerPrivate-lessonGroup-lessonteacherDanceFulltime teacherPart-time teacher2:nN:mN:2N:mMm1:n图3 Jefferso

13、n俱乐部的R 图 例4 San Juan帆船出租公司是一个向客户收费出租帆船的代理,San Juan本人并没有帆船,它是替那些希望自己不使用帆船时赚取收入的帆船主出租帆船。San Juan为自己的服务收取费用,而专门经营可以出租多日或一周的船。最小的船是28英尺长,最长的船是51英尺长。 每一只船在出租时都是完全装备的,大多数设备由船主提供,有一些是由San Juan加上去的。船主提供的设备包括固定在船上的设备,如无线电、指南针、深度计及其他仪器、炉子、冰箱等,其他船主提供的设备没有安装在船上,这种设备包括帆、绳子、锚、救生艇、救生衣和船舱内的碟子、银器、烹调器皿、床等。San Juan提供消

14、费品,也可以说是补给,如航海图、导航书籍、潮汐表、和一些类似的物品。San Juan的一个重要的责任就是跟踪船上的设备,多数设备比较昂贵,有些设备(特别是那些没有装在船上的)很容易丢失或被盗窃。在出租期间,由客户负责所有的设备。San Juan想精确地记录客户和出租的情况,这不仅用于开拓市场,还用于记录客户所走的行程。有些路线和气候条件比其他的危险,因此,San Juan想知道哪些客户有什么经验。San Juan的大部分业务是裸船出租,也就是说不提供船长或水手。但有些情况下,客户要求船长或水手,因此San Juan雇佣了一些这类兼职人员。帆船经常需要维护。San Juan与船主签订的合同要求S

15、an Juan精确地记录所有的维护活动和费用,包括像清洁和换机油这样的例常工作和不定期的维修。某些情况下,维修需要在出租后进行。 例如,帆船的发动机可能在远离San Juan维修部的时候出故障,这时,客户用无线电通知调度员,由他来确定最好的维修部,并派遣维修部的人到发生故障的船上去。为了做出这些决断,调度员需要关于维修部的信息和船只的维修质量与费用的历史信息。 OWNERSCHEDOULED-MAINTENACEBOTAEQUIPMENTREPAIRN:MN:M1:N1:N1:NN:MPART-TIMECREWN:MLEASECUSTOMERWEATHER-ITINERARY1:1N:1语义对

16、象模型 语义对象的概念是David M.Kroenke 1988年在数据库处理一书的第三版中提出的。在在ER模型中称为实体的事物模型中称为实体的事物在语义对象模型中被称为语义对象,语在语义对象模型中被称为语义对象,语义对象是用来部分地对用户数据的含义义对象是用来部分地对用户数据的含义建模的。建模的。 语义对象代表明确的本体,是足以描述一个确切本体属性的命名集合,是用户需要跟踪和报告的事物。 对象也有一个属性集合,每个属性代表所表示对象的一个特征。 属性有三种类型,简单属性简单属性是单值的,例如姓名、性别等。属性组属性组是其他属性的组合,例如地址,它包含属性省分,区/县,街道,。第三种属性是语义

17、对象属性语义对象属性,它是在语义对象和另一个语义对象之间建立关系的属性。在下图 中给出了仓库语义对象的描述。 仓库仓库id 库名 面积 地址地址省市/县街道 电话电话区号市内号码 传真仓库主任库管员物资仓库主任仓库主任id 职工号 姓名 性别 年龄 地址地址省市/县街道 仓库库管员库管员id 职工号 姓名 性别 年龄 地址地址省市/县街道仓库物资物资物资id 编码 名称 规格 数量 单价库管员仓库第4节.数据规范化 在分析问题的过程中,通常把问题分解,按子系统建模,然后再把子模型集成起来形成完整系统模型。在集成的过程中会产生数据冗余,有时会发生冲突,冲突体现在以下三个方面: 属性冲突:包括属性

18、值的类型、取值范围和取值集合不同,单位冲突(如:重量单位用吨和公斤、但管材的单位有时用长度等); 结构冲突:同一属性组的外延不同、不同E-R图中实体和属性存在冲突,例如一个事物在此处被看作属性,而在其他地方又被看作实体;命名冲突:同名异义、异名同义。 冗余数据消除冗余数据指可由基本数据导出的数据,冗余的存在容易破坏数据库的完整性,可用分析法消除冗余,但最常用的却是规范化理论。规范化理论的一个重要的目标就是将数据分割存储在特定的地方来消除冗余、简化数据库的更新,提高数据库完整性,并且减少存储的要求。 学生课程教师教材选课开设选用选用mnm11111一 、下图表示一个公司各部门的层次结构。 图1

19、部门层次图对每个部门,数据库中包含部门号(惟一的)D#、预算费(BUDGET)以及此部门领导人的职工号E#(惟一的)信息。对每一个部门,还存有关于此部门的全部职工、生产与科研项目以及办公室的信息。职工信息包括:职工号、他所参加的生产与科研项目号(J#)、他所在办公室的电话号码(PHONE#)。生产科研项目包括:项目号(惟一的)、预算费。办公室信息包含办公室房间号(惟一的)、面积。对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。对每个办公室包含此办公室中全部电话号码的信息。请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。(1)首先画出一些重要的函数依赖,所有

20、这些函数依赖都是根据文字说明和语义假设导出。语义假设如下:1) 一个职工不能同时成为多个部门的领导人;2) 一个职工不能同时在多个部门就职;3) 一个职工不能同时参加多个生产项目;4) 一个职工不能同时在两个不同的办公室办公;5) 一个职工不能同时拥有两部或两部以上的电话;6) 一个生产项目不能同时分配给多个部门;7) 一个办公室不能同时分配给多个部门;8) 部门号、职工号、项目号、办公室号码及电话号码是全局惟一的。图2 关系模式函数依赖图 (2)先按照图1设计一组关系模式,它们都是属于1NF的。DEPT(DEPT#, DBUDGET, MGR_EMO#) PRIMARY KEY(DEPT#)

21、DEPT#和MGR_EMP#都是侯选码,把DEPT#作为主码。F=DEPT# DBUDGET , DEPT# MGR_EMO# , MGR_EMO# DEPT#EMP1(EMP# , DEPT# , PROJ# , OFF# , 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# , JOBTIT

22、LE EMP# , EMP# , JOBTITLE JOBTITLE SALHIST(EMP# , JOBTITLE , DATA , SALARY) PRIMARY KEY(EMP# , DATE) F= EMP# , DATE JOBTITLE , EMP# , DATE SALARY PROJ(PROJ# , DEPT# , PBUDGET) PRIMARY KEY(PROJ#) F=PROJ# DEPT# , PROJ# PBUDGETOFFICE(OFF# , DEPT# , AREA) PRIMARY KEY(OFF#) F= OFF# DEPT# , OFF# AREA PHON

23、E(PHONE# , OFF#) PRIMARY KEY(PHONE#) F= PHONE# OFF# (3)现在来分析一下这7个关系模式,发现:SALHIST(EMP# , JOBTITLE , DATA , SALARY)的 属 性 包 含 了 JOB(EMP# , JOBTITLE)的 属 性 , 所 以 JOB(EMP# , JOBTITLE)可以消去。EMP1中OFF#和DEPT#都传递函数依赖于主码(EMP#)。OFF#通过PHONE#,DEPT#通过PROJ#或OFF#(然后通过PHONE#)传递依赖于(EMP#)所以可以把EMP1(EMP# , DEPT# , PROJ# ,

24、OFF# , PHONE#)分解成以下4个3NF的关系模式:EMP(EMP# , PROJ# , PHONE#) PRIMARY KEY(EMP#)X(PHONE# , OFF#) PRIMARY KEY(PHONE#)Y(PROJ# , 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_E

25、MO#) 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备13022795号 | 川公网安备 51140202000112号