【文档说明】第十章-数据库设计课件.ppt,共(65)页,1.778 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92351.html
以下为本文档部分文字说明:
第10章数据库设计1.数据库设计的步骤2.概念结构设计3.逻辑结构设计4.物理设计与实施10.1数据库设计概述10.2数据库规划10.3需求分析10.4概念结构设计10.5逻辑结构设计10.6物理结构设计10.7数据库行为设计10.8数据库的实施和维护10.1数据库设
计概述10.1.1数据库设计的特点1.数据库设计是硬件、软件和干件的结合2.数据库设计应该和应用系统设计相结合10.1.2数据库设计方法10.1.3数据库设计的基本步骤1)数据库规划:进行建立数据库的必要性和可行性研究,确定数据库系统在组织中和信息系统中的地位,以及各
个数据库之间的关系,确定数据库设计的进度,明确人员分工并写出可行性研究报告。2)需求分析:收集数据库所有用户的信息和处理要求,加以规范和分析,确保用户目标的一致性。3)概念结构设计:对需求分析的结果进行综合、归纳,最终形成一个独立于具体的DBMS的概
念模型。4)逻辑结构设计:将概念结构设计的结果转换为某个具体的DBMS支持的数据模型,并对其进行优化。5)物理设计:为逻辑结构设计的结果选取一个最适合应用环境的数据库物理结构。6)数据库实施与运行维护:根据物理
设计的结果产生一个具体的数据库和应用程序,并把原始数据载入数据库;收集并记录系统运行状况的数据,用以评价数据库系统的性能,调整或扩充数据库系统的功能。需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构设计评价
,性能预测物理实现试验性运行使用、维护数据库需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行维护阶段应用需求(数据、处理)转换规则、DBMS功能、优化方法应用要求DBMS详细特征不满意不满意需求文档数据字典数据流图等用E
-R图描述的概念模型某种数据模型并优化存储安排方法选择存取路径建立编写模式数据装入数据库试运行性能检测、转储/恢复数据库重组和重构10.2数据库规划数据库设计的一般策略自顶向下从一个企业的高层管理着手,按照他们的总体目标和策略进行高层数据模型构建,然后逐步细化的方法。自底
向上从基本业务数据和各种报表开始进行分析和设计和集中,然后对整个系统进行规划。现在我们大多采取这个方法。10.3需求分析10.3.1需求分析的任务:调查、收集、分析用户对数据库的要求10.3.2调查1)调查组织结构情况。2)调查各部门的业务活动情况。
3)协助用户明确对新系统的各种需求。4)确定新系统的边界。调查用户需求的方法1)请专人介绍或找专人询问。2)跟班作业。3)开调查会,设计调查表。4)查阅与原系统相关的数据记录。10.3.3结构化分析方法1.结构
化分析建模2.数据流图(1)数据流图的概念数据流图数据库数据流向线数据处理逻辑数据存储系统之外的数据提供者和使用者数据开始和结束标志图10-2数据流图的基本形式(2)数据流图的四要素1)数据流。2)加工处理。3)
文件。4)源点和终点。(3)数据流图的分解图10-3查询学生成绩数据流图(4)数据字典图10-4教师授课申请数据流图1)数据项。表10-1学生各数据项描述数据项名数据类型字节长度学号字符12姓名字符8性别字符2出生年
月日期4入学年份数字1专业编号字符5家庭住址字符502)数据流。3)数据存储。4)处理。10.4概念结构设计1)确定实体。2)确定实体的属性。3)确定实体的标识字。4)确定实体间的联系和联系类型。5)画
出表示概念模型的E-R图。6)确定属性之间的依赖关系。10.4.1概念结构设计的策略与步骤1)自顶向下:先定义全局概念结构的框架,然后逐步细化。2)自底向上:先定义每个局部应用的概念结构,然后按一定的规则把它们集成起来,最后得到全局概念模型。3)由里向外:
先定义最重要的核心概念结构,然后向外扩充,直至获得总体概念结构。4)混合策略:将自顶向下和自底向上方法相结合,先用自顶向下的方法设计一个概念结构的框架,以它为骨架集成由自底而上策略中设计的每个局部概念结构。10.4.2采用E-R方法的
概念结构设计1.设计步骤图10-5自顶向下需求分析与采用E-R方法进行自底向上概念结构设计2.设计局部E-R图(1)分类(Classification)图10-6分类示例(2)聚集(Aggregation
)(3)概括(Generalization)图10-7聚集示例图10-8概括示例3.设计全局E-R图(1)合并E-R图,生成初步E-R图1)属性冲突,包括属性域冲突和属性取值单位冲突。2)命名冲突,包括两种情况:3)结构冲突,包括三种情况:(2)修改与重构,生成基本E-R图1)实体个数尽
可能少。2)实体所包含的属性尽可能少。3)实体间联系没有冗余。图10-9教务管理系统全局E-R图10.5逻辑结构设计10.5.1E-R模型向关系数据模型的转换1)一个实体型转换为一个关系模式。2)一个m∶n联系转换为一个关系模式,与该联系相连的两个实体的码
以及联系本身的属性均转换成关系的属性,同时关系的码为两个实体码的组合。3)一个1∶n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。4)一个1∶1联系可以转换为一个独立的关系模式,也
可以与任意一端对应用的关系模式合并。5)3个或3个以上的实体间的多元联系转换为一个关系模式。6)具有相同码的关系模式可以合并。表10-2院系信息表(DepartInfo)字段名字段含义数据类型字段长度备注DepNO院系编号ch
ar4主键,首字母为‘D’,后面为3位数字DepName院系名varchar30非空表10-3专业信息表(SpecialtyInfo)字段名字段含义数据类型字段长度备注SpeNO专业编号char5主键,首字母为‘S’,后面为
4位数字SpeName专业名varchar20非空DepNO院系编号char4外键表10-4学生信息表(StudentInfo)字段名字段含义数据类型字段长度备注StuNO学号char12主键,全为数字,长度为12StuName姓名varchar20非空Sex性别char2默认值‘男’Bi
rth出生年月datetimeEnterDate入学年份int4SpeNO专业编号char5外键Address家庭住址varchar50表10-5教师信息表(TeacherInfo)字段名字段含义数据类型
字段长度备注TNO教师编号char5主键,首字母为‘T’,后面为4位数字Tname姓名varchar20非空Sex性别char2默认值‘男’Birth出生年月datetimePosition职称char8默认值为‘讲师’DepNO院系编号char4
外键Phone办公电话char13Email电子邮箱varchar50表10-6课程信息表(CourseInfo)字段名字段含义数据类型字段长度备注CNO课程编号char8主键,全为数字Cname课程名varchar50非空Credit学分tinyi
nt1非空ClassHour学时tinyint1非空表10-7课程状态表(CourseStatus)字段名字段含义数据类型字段长度备注CNO课程编号char8组合主键,外键SpeNO专业编号char5组合主键,外键Semester学期tinyint1Ctype课程类别varchar
10默认值为‘必修’ChooseState选课状态bit1默认值为‘0’TNO教师编号char5外键表10-8学生成绩表(SC)字段名字段含义数据类型字段长度备注StuNo学号char12组合主键,外键CNO课程编号char8组合主键,外
键OrdinarySc平时成绩float8EndSc期末成绩float8TotalSc总评成绩float8值为OrdinarySc*30%+EndSc*70%表10-9用户信息表(UserInfo)字段名字段含义数据类型字段长度备注UserID用户IDvarchar20主键Passwo
rd用户密码varchar20非空Identity用户身份varchar20非空10.5.2关系模型的优化1)确定数据依赖。2)对每个关系模式间的数据依赖进行极小化处理,消除冗余的联系。3)按照数据依赖的理论对各个关系模式进行分析,确定各关系模式属于第几范式。4)按
照需求分析阶段得到的处理要求,分析现有模式对该应用环境是否合适,确定是否进行必要的合并与分解。10.5.3设计外模式1.使用更符合用户习惯的别名2.对不同级别的用户定义不同的视图,以保证系统的安全性3.简化用户对视图的使用10.6.1物理设计的内容与方法1)查询所涉及的关系
。2)查询条件所涉及的属性。3)连接条件所涉及的属性。4)查询所涉及的投影属性。1)被更新的关系。2)每个关系上的更新操作条件所涉及的属性。3)更新操作需要改变的属性值。1)为关系模式选取存取方法。2)设计关系、索引等数据库文件的物理存
储结构。10.6.2关系模式存取方法选择1)经常搜索的列。2)在主键上。3)在外键上。4)根据范围搜索的列上。5)要经常排序的列上。6)经常使用WHERE子句的列上。1)只有很少值的列,如性别,真假。2)大文本
、图像字段。3)查询中很少使用的列。1)查询的字段返回大的结果集,考虑为该字段加聚簇索引。2)含有有限(不很少)数目唯一值的字段。3)表中经常搜索的列或者按照顺序访问的列。1)含有大量唯一值的列,如id字段。2)结果集
很小的查询列。10.6.3确定数据库的存储结构1.数据的存放位置2.确定系统的配置参数10.6.4物理设计的评价10.7数据库行为设计1)功能需求分析。2)功能设计。3)事务设计。4)应用程序实现。10.7.1功能需求分析1)标识所有的查询、事务、报表及动态特性,指出需要
对数据库进行的各种处理。2)给出对每个实体进行的操作(查询、增加、修改、删除)。3)指出每个操作的语义,通常包括下列内容:4)给出每个操作(针对某个对象)的频率。5)给出每个操作(针对某个应用)的响应时间。6)给出该数据库应用系统的总的目标。10.7.2功能设
计图10-10功能模块图图10-11教务管理系统功能模块图10.7.3事务设计1.输入设计1)原始单据的设计格式。2)制成输入一览表。3)制作输入数据描述文档,包括数据的输入频率、数据的有效范围的出错校验。2.输出设计1)用途。2)输出设备的选择。3)输出量。4)输出格式。10.8.1数据库的实施
1.定义数据库结构2.编制与调试应用程序3.数据的载入1)筛选数据:从分散在各部门的数据文件或原始文件中选出需要入库的数据。2)输入数据:如果数据的格式与系统要求的格式不一样,就要进行数据格式的转换。3)校验数据:为了保证数据库中的数据正确、无误,必须要十分重视数据的校验工作
,在利用设计的数据录入子系统进行数据转换的过程中,要进行多次校验。4.数据库试运行1)性能测试:分析系统的性能指标,分析其是否达到设计目标。2)功能测试:实际运行数据库应用程序,执行其中的各种操作,测试各项功能是否达到要求。1)对数据进行
分批载入。2)先调试运行DBMS的恢复功能,做好数据库的备份和恢复工作。10.8.2数据库的运行和维护1.数据库的安全性和完整性控制2.数据库的备份和恢复3.数据库性能的监视、分析和调整4.数据库的重组与重构1、基本功能
需求。系统应该具有如下功能:①系统要求用户必须输入正确的用户名和密码才能进入系统。②系统应该提供学生住宿情况的基本登记系统应提供学生每学期的注册及学生的离校处理。③系统应提供人员来访登记及结束访问的详细登记。④系统应提供学生在校期间物出入宿舍楼的详细情况登记。学生宿
舍管理系统数据库系统设计过程演示一、客户需求分析⑥系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。⑦系统应提供增加、删除、修改用户帐户的功能。⑧系统还应具有添加、修改、删除学生及员工基本信息的功能。2、报表需求学生宿舍管理系统应提供简单、
层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。3、性能需求。系统安全性学生宿舍管理系统中的增加用户、学生学期注册(交住宿费方能注册)、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有
每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制。4、数据流图如下图:问题:你们认为还会有哪些信息流和实体集的存在?学生宿舍区管理员数据库宿舍基本情况学生基本情况系统管理员分配下级权限录
入来访人员情况权限验证成功录入查询交费单号录入录入学生交费情况学籍管理人员录入学生学籍情况宿舍分配情况输出值班人员分配宿舍录入打印进门条信息入库录入财务人员熄灯后出门学生情况打印出门条信息入库来访人员出门学生出示出门条进门条核对值班
人员权限权限验证5、功能模块要求学生宿舍管理系统系统管理宿舍管理学生管理信息查询信息修改帮助管理员登陆值班人员登陆增加用户密码修改基本信息录入宿舍管理学生情况管理个人财务管理学生离校管理住宿情况查询按班级查询按姓名查询按宿舍号查询按学号查询学生出入登记来访人员管理来
访人员信息登记来访人员物品登记到离时间登记报表管理二、概念设计(用E-R图表示实体属性)1、系统E-R图宿舍区管理员宿舍学生出门学生来访人员管理探望宿舍号性别类别应住人数实住人数职工号用户名密码姓名1N1NMN
11学号姓名专业班级宿舍号照片姓名探望学生姓名宿舍号进入时间出门时间出门宿舍号归来时间出门时间值班人员入住管理1N管理MN姓名2、局部实体E-R图宿舍号层号房间号搂栋号班级班级序号专业专业专业号值班人员序号用户名密码姓名类别类别序号三、逻辑结构设计宿舍区管理员(职工号,用户名,密码
,姓名)宿舍(宿舍号,性别,应住人数,实住人数)学生(学号,姓名,专业,班级,宿舍号,照片)出门学生(姓名,宿舍号,出门时间,归来时间,事由)来访人员(姓名,被探望学生姓名,宿舍号,进入时间,离开时间)宿舍号(楼号,层号,房间号)班级(序号,班级)类别(序号,类别)专业(专业
号,专业)值班人员(序号,用户名,密码,姓名)数据模型优化宿舍区管理员(职工号,用户名,密码,姓名)宿舍(宿舍号,性别,应住人数,实住人数)学生(学号,姓名,专业,班级,宿舍号,照片)出门学
生(序号,姓名,宿舍号,出门时间,归来时间,事由)来访人员(序号,姓名,被探望学生姓名,宿舍号,进入时间,离开时间)宿舍号(序号,楼号,层号,房间号)班级(序号,班级)类别(序号,类别)专业(专业号,专业)值班
人员(序号,用户名,密码,姓名)四、数据库的物理设计–存储的数据对象:关系、索引–数据的存放位置:采用集中存放和分布备份的方式,全部数据存放于服务器数据库,同时各部门数据备份于部门内部服务器数据库中。–数据的存储结构采取顺序结构和随机
结构进行存取。–系统配置:采用SQLSERVER2005企业版,同时访问用户点数根据情况购买。服务器采用IBM高主频服务器,存储采用硬件存储。五、数据库实施属性名数据类型描述ZhigonghaoIntPrimarykey,表示职工号
YonghumingChar(20)用户名MimaChar(20)密码XingmingChar(8)姓名①、宿舍区管理员关系结构②、宿舍关系结构属性名数据类型描述SushehaoIntPrimarykey,宿舍号,由各种数字组成XingbieChar(2)性别,可选男生宿舍还是女生宿舍yingzh
urenshuint应住人数shizhurenshuint实住人数1、建立数据库结构③、学生关系结构属性名数据类型描述XuehaointPrimarykey,学号,由数字组成XingmingChar(8)学生姓名SushehaoInt宿舍号,由各种数字组成zh
uanyeChar(20)专业banjiChar(10)班级zhaopianChar(20)照片,存储照片的存放路径和照片名称④、出门学生关系结构属性名数据类型描述XuhaointPrimarykey,序号,由大向小,顺序排列XingmingChar(8)学生姓名Su
shehaoInt宿舍号,由各种数字组成Chumenshijiandatetime出门时间Guilaishijiandatetime归来时间shiyouChar(50)事由,要求理由简短所有的关系都要用同一种方式和步骤建立以上的关系表,这是数
据库实施的前期最重要的工作。2、确定数据写入方式总体原则:能够使用的数据尽量用程序对其实现程序写入。•手工录入对于没有其他数据基础的数据采用手工输入。•Excel表格导入对于已经在Excel表格中的数据利用程序将其整
体导入数据库•Acess数据库导入对于存放于Acess数据库中的数据利用程序将其整体导入数据库3、应用程序编码和调试4、试运行根据需要让各个使用部门大量输入数据,充分使用各个功能,在此过程中对出现的问题进行相应的修改,试运行时间为一个月。六、数据库运行维护1、数据库运行过程中,对出现
的随机问题进行记录、分析,并作相应的改进2、制定总服务器数据库备份时间为每天中午12:00分开始。各部门数据库备份时间为每天关机过程中。3、一旦出现问题数据库的恢复工作有数据库管理员,专人操作,其他人不授予权限。数据库开始权限管理通过验证
验证失败数据录入数据修改数据查询结束报表打印数据库设计的基本步骤需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构设计评价,性能预测物理实现试验性运行使用、维护数据库需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行维
护阶段应用需求(数据、处理)转换规则、DBMS功能、优化方法应用要求DBMS详细特征不满意不满意需求文档数据字典数据流图等用E-R图描述的概念模型某种数据模型并优化存储安排方法选择存取路径建立编写模式数据装入数据库试运行性能检测、转储/恢复数据库重组和重构