《【教学课件】第4章数据库及应用程序开发-数据库设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章数据库及应用程序开发-数据库设计.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章 数据库及应用程序开发数据库及应用程序开发 数据库设计数据库设计西安交通大学西安交通大学西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心计算机教学实验中心计算机教学实验中心软件开发技术基础软件开发技术基础软件开发技术基础软件开发技术基础14.2 数据库设计n只只有有对对数数据据库库进进行行合合理理的的逻逻辑辑设设计计和和有有效效的的物理设计才能开发出完善而高效的信息系统物理设计才能开发出完善而高效的信息系统 n需求分析需求分析n概念设计概念设计n逻辑结构设计逻辑结构设计n物理结构设计物理结构设计n数据库实施阶段数据库实施阶段 2需求分析与概念设计n1需求分析需求分析n需求
2、分析就是分析用户的要求需求分析就是分析用户的要求 n结结果果是是否否准准确确地地反反映映了了用用户户的的实实际际要要求求,将将直直接接影影响响到到后后面面各各个个阶阶段段的的设设计计,并并影影响响到到设设计计结结果果是是否否合合理理和实用和实用n需求分析的任务:需求分析的任务:n详细调查要处理的对象详细调查要处理的对象n了解原系统工作概况了解原系统工作概况,明确用户的各种需求明确用户的各种需求 n确定新系统的功能确定新系统的功能n考虑今后可能的扩充和改变考虑今后可能的扩充和改变3n信息要求信息要求n要从数据库中获得信息的内容与性质要从数据库中获得信息的内容与性质n处理要求处理要求n要完成什么处
3、理功能,对处理的响应时间有什么要求。要完成什么处理功能,对处理的响应时间有什么要求。n安全性与完整性要求安全性与完整性要求n安全性要求描述不同用户使用和操作数据库的情况安全性要求描述不同用户使用和操作数据库的情况n完整性要求描述数据之间的关联以及数据的取值范围完整性要求描述数据之间的关联以及数据的取值范围42概念设计概念设计 n以以DFDDFD和和DDDD提供的信息作为输入,运用信息模提供的信息作为输入,运用信息模型工具对目标进行描述,并以用户能理解的形型工具对目标进行描述,并以用户能理解的形式表达信息。这种表达独立于具体的式表达信息。这种表达独立于具体的DBMS DBMS nERER方法方法
4、实体实体联系模型联系模型 n将现实世界抽象为具有属性的实体及联系。画将现实世界抽象为具有属性的实体及联系。画出一张出一张ER图,就得到了一个对系统信息的初步图,就得到了一个对系统信息的初步描述,进而形成数据库的概念模型。描述,进而形成数据库的概念模型。5逻辑结构设计逻辑结构设计 nER关系模型关系模型n步骤:步骤:n将概念结构转化为一般的关系模型。将概念结构转化为一般的关系模型。n将将转转化化来来的的关关系系模模型型向向特特定定DBMSDBMS支支持持下下的的数数据模型转换。据模型转换。n对数据模型进行优化对数据模型进行优化61数据库逻辑模型的产生(1 1)一一个个实实体体型型转转换换为为一一
5、个个关关系系模模式式。实实体体的的属性就是关系的属性,实体的码就是关系的码。属性就是关系的属性,实体的码就是关系的码。7(2)一个)一个1:l联系,联系,n可可以以转转换换为为一一个个独独立立的的关关系系模模式式:各各实实体体的的码码以以及及联联系系本本身身的的属属性性均均转转换换为为关关系系的的属属性性,每每个实体的码均是该关系的候选码。个实体的码均是该关系的候选码。n与与一一端端的的关关系系模模式式合合并并:在在该该关关系系模模式式的的属属性性中中加加入入另另一一个个关关系系模模式式的的码码和和联联系系本本身身的的属属性性 。8【例【例4-434-43】将将1:1联系的联系的E-R图转换为
6、关系模型。图转换为关系模型。9方案方案1 n职工(职工(职工号职工号,姓名,年龄),姓名,年龄)n产品(产品(产品号产品号,产品名,价格),产品名,价格)n负责(负责(职工号职工号,产品号产品号)n方案方案2n职工(职工(职工号职工号,姓名,年龄,产品号),姓名,年龄,产品号)n 产品(产品(产品号产品号,产品名,价格),产品名,价格)n方案方案3 3n职工(职工(职工号职工号,姓名,年龄),姓名,年龄)n产品(产品(产品号产品号,产品名,价格,职工号),产品名,价格,职工号)n方案方案3 3比较合理比较合理 10(3)(3)一个一个1 1:n n联系联系n可以转换为一个独立的关系模式:可以转
7、换为一个独立的关系模式:n与与该该联联系系相相连连的的各各实实体体的的码码以以及及联联系系本本身身的的属属性性均均换换为为关关系系的的属属性性,而而关关系系的的码码为为n n端端实体的码实体的码n与与n n端对应的关系模式合并:端对应的关系模式合并:n联联系系本本身身的的属属性性均均换换为为关关系系的的属属性性,再再加加1 1端实体的码端实体的码11【例【例4-44】n将含有将含有1:n联系的联系的E-R图转换为关系模型图转换为关系模型 12n方案方案1:1:n1:1:n联系形成的关系独立存在。联系形成的关系独立存在。n仓库(仓库(仓库号仓库号,地点,面积),地点,面积)n产品(产品(产品号产
8、品号,产品名,价格),产品名,价格)n仓储(仓库号,仓储(仓库号,产品号产品号,数量),数量)n方案方案2:2:联系形成的关系与联系形成的关系与n n端对象合并端对象合并n仓库(仓库(仓库号仓库号,地点,面积),地点,面积)n产品(产品(产品号产品号,产品名,价格,仓库号,数量),产品名,价格,仓库号,数量)n方案方案2较优较优 13(4 4)m m:n n联系联系n一个一个m m:n n联系转换为一个关系模式:联系转换为一个关系模式:n与与该该联联系系相相连连的的各各实实体体的的码码以以及及联联系系本本身身的的属属性性均均转转换换为为关关系系的的属属性性。而而关关系系的的码码为各实体码的组合
9、。为各实体码的组合。14【例【例4-45】一个一个m m:n n联系转换为一个关系模式联系转换为一个关系模式15【例【例4-45】n学生(学生(学号学号,姓名,年龄,性别);,姓名,年龄,性别);n课程(课程(课程号课程号,课程名,学时数);,课程名,学时数);n选修(选修(学号学号,课程号课程号,成绩)。,成绩)。16(5)三个及以上实体间联系三个及以上实体间联系n三个或三个以上实体间的一个多元联系转换为三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。码以及联系本身的属性均转换为关
10、系的属性。而关系的码为各实体码的组合。而关系的码为各实体码的组合。17【例【例4-464-46】一个一个m m:n n联系转换为一个关系模式联系转换为一个关系模式18【例【例4-46】n供应商(供应商(供应商号供应商号,供应商名,地址),供应商名,地址)n零件(零件(零件号零件号,零件名,单价),零件名,单价)n产品(产品(产品号产品号,产品名,型号),产品名,型号)n供应(供应(供应商号,零件号,产品号供应商号,零件号,产品号,数量),数量)19(6)(6)同一实体集联系,同一实体集联系,按上述按上述1 1:1 1,1:n1:n和和m m:n n三种情况分别处理。三种情况分别处理。20【例【
11、例4-47】n将将含含有有同同一一实实体体集集的的1:n1:n联联系系的的E-RE-R图图转转换换为为关关系模型系模型 21n方案方案1 1:转换为两个关系模式。:转换为两个关系模式。职工(职工(职工号职工号,姓名,年龄),姓名,年龄)领导(领导(领导工号领导工号,职工号职工号)n方案方案2:2:转换为一个关系模式。转换为一个关系模式。职工(职工(职工号职工号,姓名,年龄,领导工号),姓名,年龄,领导工号)22【例【例4-48】n将将含含有有同同实实体体集集间间m:n联联系系的的E-R图图转转换换为为关关系模式系模式 23n零件(零件(零件号零件号,名称,价格),名称,价格)n组装(组装(组装
12、件号组装件号,零件号,零件号,数量),数量)242.数据模型的优化数据模型的优化 n以规范化理论为指导以规范化理论为指导 n(1 1)确确定定数数据据依依赖赖。按按需需求求分分析析,写写出出各各属性之间的数据依赖。属性之间的数据依赖。n(2 2)考考查查是是否否存存在在部部分分函函数数依依赖赖、传传递递函函数数依依赖赖等等,确确定定各各关关系系模模式式分分别别属属于于第第几几范范式。式。n(3 3)按按照照需需求求分分析析对对数数据据处处理理的的要要求求,确确定是否需要对它们进行合并或分解。定是否需要对它们进行合并或分解。n并不是规范化程度越高的关系就越好并不是规范化程度越高的关系就越好 25
13、3设计用户模式设计用户模式 n利利用用视视图图功功能能设设计计更更符符合合局局部部用用户户需需要要的的用用户户外模式。外模式。n定定义义数数据据库库模模式式主主要要是是从从系系统统的的时时间间效效率率、空空间效率、易维护等角度出发。间效率、易维护等角度出发。n用用户户外外模模式式与与模模式式是是独独立立的的,因因此此在在定定义义用用户户外模式时更应该注重考虑用户的习惯与方便外模式时更应该注重考虑用户的习惯与方便 n(1 1)使用更符合用户习惯的别名)使用更符合用户习惯的别名n(2 2)针针对对不不同同级级别别的的用用户户定定义义不不同同的的外外模模式,以满足系统对安全性的要求。式,以满足系统对
14、安全性的要求。26数据库物理设计及实施n物理设备上的存储结构与存取方法称为数据库物理设备上的存储结构与存取方法称为数据库的物理结构的物理结构 n1确定数据的存储结构确定数据的存储结构n综合考虑存取时间、存储空间利用率和维护代价综合考虑存取时间、存储空间利用率和维护代价3方面的因素。方面的因素。n2 2设计数据的存取路径设计数据的存取路径n在关系数据库中,选择存取路径主要是指确定如在关系数据库中,选择存取路径主要是指确定如何建立索引。何建立索引。27索引索引 n(1 1)聚簇索引)聚簇索引n聚簇键相同的元组自然地被放在同一个物理聚簇键相同的元组自然地被放在同一个物理页中,如果元组过多,一个物理页
15、放不下,页中,如果元组过多,一个物理页放不下,则被链接到多个物理页中则被链接到多个物理页中。n(2 2)非聚簇索引)非聚簇索引n索引页上的顺序与物理数据页上的顺序一般索引页上的顺序与物理数据页上的顺序一般不一致。不一致。28建立索引原则建立索引原则n一个(组)属性经常在操作条件中出现。一个(组)属性经常在操作条件中出现。n一个(组)属性经常作为聚集函数的参数。一个(组)属性经常作为聚集函数的参数。n一一个个(组组)属属性性经经常常在在连连接接操操作作的的连连接接条条件件中中出现。出现。29建立聚簇索引原则建立聚簇索引原则n检检索索数数据据时时,常常以以某某个个(组组)属属性性作作为为排排序序、
16、分组条件。分组条件。n检检索索数数据据时时,常常以以某某个个(组组)属属性性作作为为检检索索限限制条件,并返回大量数据。制条件,并返回大量数据。n表中某个(组)的值重复性较大。表中某个(组)的值重复性较大。303确定数据的存放位置n为为了了提提高高系系统统性性能能,数数据据应应该该根根据据应应用用情情况况将将易易变变部部分分与与稳稳定定部部分分、经经常常存存取取部部分分和和存存取取频频率较低部分分开存放。率较低部分分开存放。n数数据据库库数数据据备备份份、日日志志文文件件备备份份等等,可可以以考考虑虑存放在磁带上。存放在磁带上。n可可以以考考虑虑将将表表和和索索引引分分别别放放在在不不同同的的
17、磁磁盘盘上上。在在查查询询时时,由由于于两两个个磁磁盘盘驱驱动动器器分分别别在在工工作作,因而可以保证物理读写速度比较快。因而可以保证物理读写速度比较快。314确定系统配置确定系统配置 n同时使用数据库的用户数同时使用数据库的用户数n同时打开的数据库对象数同时打开的数据库对象数n使用的缓冲区长度、个数使用的缓冲区长度、个数n时间片大小,数据库大小时间片大小,数据库大小n物理块的大小,物理块的装填因子物理块的大小,物理块的装填因子325数据库的实施(1 1)定义数据库结构)定义数据库结构(2 2)数据装载)数据装载33例子建立例子建立图书馆图书馆需求分析需求分析n查询图书查询图书:通过书名和类别
18、查询库中的图书,:通过书名和类别查询库中的图书,其中书名为其中书名为模糊查询模糊查询。n借书处理借书处理:在查询的基础上完成借书登记处理。:在查询的基础上完成借书登记处理。借书时需要输入书号和读者编号,修改图书表借书时需要输入书号和读者编号,修改图书表记录和增加借阅表的记录。记录和增加借阅表的记录。n还书处理还书处理:实现还书处理操作。还书时需要先:实现还书处理操作。还书时需要先修改图书记录,改变其借出否标志,再删除相修改图书记录,改变其借出否标志,再删除相关的借阅记录。关的借阅记录。34数据数据库设计库设计n概念模型概念模型读者读者 35图书图书 36借书借书 37数据库逻辑模型数据库逻辑模
19、型 n读者读者(编号编号,姓名,单位,性别,电话),姓名,单位,性别,电话)n图书图书(书号书号,类别,出版社,作者,书名,定,类别,出版社,作者,书名,定价,借出否)价,借出否)n借阅借阅(书号,读者编号书号,读者编号,借阅日期),借阅日期)38规范化规范化 n图书图书:书号书号类别,书号类别,书号出版社,书号出版社,书号作者,书号作者,书号书名,书号书名,书号定价,书号定价,书号借出借出否否;n读者读者:编号编号姓名,编号姓名,编号单位,编号单位,编号性性别,编号别,编号电话电话;n借阅借阅:(书号,读者编号):(书号,读者编号)借阅日期;借阅日期;所有非主属性对码完全并直接依赖。各表均为
20、第所有非主属性对码完全并直接依赖。各表均为第三范式。三范式。39完整性约束完整性约束 n主码约束:主码约束:在在“图书图书”表中,表中,“书号书号”为主码;为主码;在在“读者读者”表中,表中,“编号编号”为主码;为主码;在在“借阅借阅”表中,表中,“书号书号”和和“读者编号读者编号”为主为主码。码。这些主码的属性值具有惟一性和非空性。这些主码的属性值具有惟一性和非空性。40借阅表和图书表间的外码约束:借阅表和图书表间的外码约束:n借阅中书号为外码,参照表为图书,参照属性借阅中书号为外码,参照表为图书,参照属性为书号。为书号。n在借阅关系中插入元组(借阅图书)时,仅当在借阅关系中插入元组(借阅图
21、书)时,仅当图书表中有相应书号时,系统才执行插人操作,图书表中有相应书号时,系统才执行插人操作,否则拒绝此操作。否则拒绝此操作。41借阅表和读者表间的外码约束借阅表和读者表间的外码约束借阅中读者编号为外码,参照表为读者,参照属借阅中读者编号为外码,参照表为读者,参照属性为编号。性为编号。在借阅关系中插入元组(借阅图书)时,仅当读在借阅关系中插入元组(借阅图书)时,仅当读者表中有相应读者编号时,系统才执行插人操者表中有相应读者编号时,系统才执行插人操作,否则拒绝此操作。作,否则拒绝此操作。42关系的属性关系的属性设计设计关系属性的设计包括:关系属性的设计包括:n属性名、属性名、n数据类型、数据类型、n数据长度、数据长度、n该属性是否允许空值、该属性是否允许空值、n是否为主码、是否为主码、n是否为索引项是否为索引项n及约束条件。及约束条件。43读者表读者表 44图书表图书表 45借阅表借阅表 46