软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计

上传人:E**** 文档编号:89326021 上传时间:2019-05-23 格式:PPT 页数:51 大小:1.17MB
返回 下载 相关 举报
软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计_第1页
第1页 / 共51页
软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计_第2页
第2页 / 共51页
软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计_第3页
第3页 / 共51页
软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计_第4页
第4页 / 共51页
软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计》由会员分享,可在线阅读,更多相关《软件开发技术基础 第2版 教学课件 ppt 作者 赵英良 第4章 数据库及应用程序开发3_数据库设计(51页珍藏版)》请在金锄头文库上搜索。

1、第4章 数据库及应用程序开发 数据库设计,西安交通大学 计算机教学实验中心 http:/,软件开发技术基础,4.2 数据库设计,数据库系统设计 数据库设计 数据库应用系统设计 数据库设计 (1) 数据库的结构特性设计 (2)数据库的行为特性设计 (3)数据库的物理模式设计,2,数据库系统设计应分6个阶段进行, 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护,3,4.2.1需求分析与概念设计,1需求分析 目标:分析用户的要求,将分析结果用数据流程图和数据字典表示。 内容: 信息要求 处理要求 安全性要求 完整性要求 步骤 了解现实世界的组织机构情况 了解相关部门

2、的业务活动情况 确定新系统的边界,4,系统需求调查的方法,(1) 跟班作业 (2) 开调查会 (3) 请专人介绍 (4) 询问 (5) 设计调查表请用户填写 (6) 查阅现实世界的数据记录,5,2概念设计,以DFD和DD提供的信息作为输入,运用信息模型工具对目标进行描述,并以用户能理解的形式表达信息。这种表达独立于具体的DBMS 数据抽象方法 (1) 分类: 定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。在E-R模型中,实体集就是这种抽象。 (2) 聚集:定义某一类型的组成部分,它抽象了对象内部的类型和 “组成部分”的语义。 (3) 概括:定义类型之间的一种子集

3、联系,它抽象了类型之间的“所属”的语义。,6,设计分E-R图实体联系模型 合并分E-R图,生成初步E-R图 将现实世界抽象为具有属性的实体及联系。画出一张ER图,就得到了一个对系统信息的初步描述,进而形成数据库的概念模型。,7,4.2.2逻辑结构设计,ER关系模型 步骤: 将概念结构转化为一般的关系模型。 将转化来的关系模型向特定DBMS支持下的数据模型转换。 对数据模型进行优化,8,1数据库逻辑模型的产生,【例4-43】 将1:1联系的E-R图转换为关系模型。,9,方案1 职工(职工号,姓名,年龄) 产品(产品号,产品名,价格) 负责(职工号,产品号) 方案2 职工(职工号,姓名,年龄,产品

4、号) 产品(产品号,产品名,价格) 方案3 职工(职工号,姓名,年龄) 产品(产品号,产品名,价格,职工号) 方案3比较合理,10,(1)一个实体型转换为一个关系模式。 (2)一个1:l联系, 可以转换为一个独立的关系模式: 与一端的关系模式合并:。,11,【例4-44】,将含有1:n联系的E-R图转换为关系模型,12,方案1: 1:n联系形成的关系独立存在。 仓库(仓库号,地点,面积) 产品(产品号,产品名,价格) 仓储(仓库号,产品号,数量) 方案2: 联系形成的关系与n端对象合并 仓库(仓库号,地点,面积) 产品(产品号,产品名,价格,仓库号,数量) 方案2较优,13,(3)一个1:n联

5、系,可以转换为一个独立的关系模式 与n端对应的关系模式合并 【例4-45】,14,【例4-45】,学生(学号,姓名,年龄,性别); 课程(课程号,课程名,学时数); 选修(学号,课程号,成绩)。,15,(4)m:n联系,一个m:n联系转换为一个关系模式 【例4-46】,16,【例4-46】,供应商(供应商c,供应商名,地址) 零件(零件号,零件名,单价) 产品(产品号,产品名,型号) 供应(供应商号,零件号,产品号,数量),17,(5)三个及以上实体间联系,三个或三个以上实体间的一个多元联系转换为一个关系模式。 与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实

6、体码的组合。,18,【例4-47】,将含有同一实体集的1:n联系的E-R图转换为关系模型,19,方案1:转换为两个关系模式。 职工(职工号,姓名,年龄) 领导(领导工号,职工号) 方案2:转换为一个关系模式。 职工(职工号,姓名,年龄,领导工号),20,【例4-48】,将含有同实体集间m:n联系的E-R图转换为关系模式,21,零件(零件号,名称,价格) 组装(组装件号,零件号,数量),22,(6)同一实体集联系,,按上述1:1,1:n和m:n三种情况分别处理。,23,2.数据模型的优化,以规范化理论为指导 (1)确定数据依赖。按需求分析,写出各属性之间的数据依赖。 (2)考查是否存在部分函数依

7、赖、传递函数依赖等,确定各关系模式分别属于第几范式。 (3)按照需求分析对数据处理的要求,确定是否需要对它们进行合并或分解。 并不是规范化程度越高的关系就越好,24,3设计用户模式,利用视图功能设计更符合局部用户需要的用户外模式。 定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。 用户外模式与模式是独立的,因此在定义用户外模式时更应该注重考虑用户的习惯与方便 (1)使用更符合用户习惯的别名 (2)针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。,25,4.2.3数据库物理设计及实施,物理设备上的存储结构与存取方法称为数据库的物理结构 1. 为关系模式选择存取方法

8、(建立存取路径) 在关系数据库中,选择存取路径主要是指确定如何建立索引。 2. 设计关系、索引等数据库文件的物理存储结构 综合考虑存取时间、存储空间利用率和维护代价3方面的因素。,26,1.DBMS常用存取方法,索引方法 聚簇(Cluster)方法 HASH方法,27,索引,(1)聚簇索引 属性(称为聚簇码)上具有相同值的元组集中存放在一个物理块内或物理上相邻的区域内称为聚簇。如果元组过多,一个物理页放不下,则被链接到多个物理页中 。 (2)非聚簇索引 索引页上的顺序与物理数据页上的顺序一般不一致。,28,例, 设有一关系TEACHER(教师), 其上建有YR(出生年份)的索引。 若要查询19

9、48年出生的教师, 设1948年出生的教师有100人, 在极端情况下, 这100个教师所对应的元组分散在100个不同的物理块中,29,101,212,332,199,136,30,建立索引原则,如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引,31,建立聚簇索引原则,检索数据时,常以某个(组)属性作为排序、分组条件。 检索数据时,常以某个(组)属性作为检索限制条件,并返回大量数据

10、。 表中某个(组)的值重复性较大。,32,HASH存取方法的选择,哈稀(HASH)文件又称为散列文件, 是一种支持快速存取的文件存储方法。 如果用该方式存储一个文件, 必须指定文件的一个(或一组)域为查询的关键字, 该域常称为HASH域, 然后定义一个HASH域上的函数, 即HASH函数, 以此函数的值作为记录查询的地址。,33,2确定数据库的存储结构,(1) 存放位置 关系 索引 聚簇 日志 备份 (2) 确定系统配置,34,(1) 存放位置,为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。 数据库数据备份、日志文件备份等,可以考虑存放在磁

11、带上。 可以考虑将表和索引分别放在不同的磁盘上。在查询时,由于两个磁盘驱动器分别在工作,因而可以保证物理读写速度比较快。,35,(2)确定系统配置,同时使用数据库的用户数 同时打开的数据库对象数 使用的缓冲区长度、个数 时间片大小,数据库大小 物理块的大小,物理块的装填因子,36,5数据库的实施,(1)定义数据库结构 (2)数据装载,37,例子 建立图书馆,需求分析 查询图书:通过书名和类别查询库中的图书,其中书名为模糊查询。 借书处理:在查询的基础上完成借书登记处理。借书时需要输入书号和读者编号,修改图书表记录和增加借阅表的记录。 还书处理:实现还书处理操作。还书时需要先修改图书记录,改变其

12、借出否标志,再删除相关的借阅记录。,38,数据库设计,概念模型 读者,39,图书,40,借书,41,数据库逻辑模型,读者(编号,姓名,单位,性别,电话) 图书(书号,类别,出版社,作者,书名,定价,借出否) 借阅(书号,读者编号,借阅日期),42,规范化,图书:书号类别,书号出版社,书号作者,书号书名,书号定价,书号借出否; 读者:编号姓名,编号单位,编号性别,编号电话; 借阅:(书号,读者编号)借阅日期; 所有非主属性对码完全并直接依赖。各表均为第三范式。 (如果再图书表中还有出版社的地址、邮政编码、电话、社长、联系人),43,完整性约束,主码约束: 在“图书”表中,“书号”为主码; 在“读

13、者”表中,“编号”为主码; 在“借阅”表中,“书号”和“读者编号”为主码。 这些主码的属性值具有惟一性和非空性。,44,借阅表和图书表间的外码约束:,借阅中书号为外码,参照表为图书,参照属性为书号。 在借阅关系中插入元组(借阅图书)时,仅当图书表中有相应书号时,系统才执行插入操作,否则拒绝此操作。,45,借阅表和读者表间的外码约束,借阅中读者编号为外码,参照表为读者,参照属性为编号。 在借阅关系中插入元组(借阅图书)时,仅当读者表中有相应读者编号时,系统才执行插人操作,否则拒绝此操作。,46,关系的属性设计,关系属性的设计包括: 属性名、 数据类型、 数据长度、 该属性是否允许空值、 是否为主码、 是否为索引项 及约束条件。,47,读者表,48,图书表,49,借阅表,50,谢谢,51,

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

当前位置:首页 > 高等教育 > 大学课件

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