数据库设计(行业经验)_第1页
数据库设计(行业经验)_第2页
数据库设计(行业经验)_第3页
数据库设计(行业经验)_第4页
数据库设计(行业经验)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库的设计总结1本章任务学习设计数据库的步骤绘制学生选课系统数据库的E-R图把学生选课系统数据库的E-R图转化为表用三大范式规范数据库设计2本章目标如何标识实体对象如何画E-R图如何将E-R图转换为数据表数据规范化设计三大范式3学生选课系统4为什么需要数据库设计复杂的数据库需要规范化设计。5什么是数据库设计现实世界信息世界数据(电脑)世界6数据库设计的步骤7数据库设计第一步:标识实体数据库中的数据对象,称为实体。实体有一个或多个属性。在需求分析阶段,需要知道要在数据库中存储哪些信息。数据库设计的第一步:标识实体。8标识实体标识学生选课系统中的实体对象学生信息教员信息通知课程信息9标识实体的属

2、性学生信息学号、姓名、性别、年龄、班级教员信息工号、姓名、性别、年龄、教龄、职称课程信息课程号、名称、学时、学分通知标题、内容10实体之间的关系大部分实体并不是孤立的,它们之间存在着各种关系。丈夫与妻子之间一对一的关系班级与学生之间一对多的关系学生与课程之间多对多的关系11学生选课系统中各实体之间的关系学生信息教员信息课程信息一名学生可以选修多门课程一门课程由一个或多名学生选修一名教员讲授一至多门课程一门课程只能由一名教员讲授12数据库设计第二步:绘制ER图E-R图(Entity Relationship Diagram),中文称为“实体-关系图”,提供了表示实体、属性和关系的图形符号。实体名

3、属性名关系名实体表示关系表示属性表示13学生选课系统中的ER图14ER图如何表示实体之间的关系15ER图如何表示实体之间的关系16学生选课系统完整的ER图17课堂练习画出仓库-商品的E-R图提示:仓库的属性包括:地点、面积等;商品的属性包括:商品名称、价格等。n1仓库商品存放地点面积仓库号商品号价格数量商品名18数据库设计第三步:ER模型转换为数据表将E-R模型转换为数据表的基本原则:将各实体转换为对应的表,将各属性转换为各表对应的列。标识每个表的主键列,需要注意的是:没有主键的表要添加ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID主键列,用以区分

4、每条记录。如果实体之间有某种关系,还要在表中添加外键。19学生选课系统中各实体转换为数据表20如何将ER图中的关系转换为数据表如果实体A和实体B之间存在一对一的关系,将E-R图转换为数据表有以下三种方法:把A实体的主关键字加入到B实体转换后的数据表中作为外键,如果关系有属性也一并加入。把B实体的主关键字加入到A实体转换后的数据表中作为外键,如果关系有属性也一并加入。直接将关系转换为数据表,表中包含两个实体的主关键字,如果关系有属性也一并加入。21一对一的关系转换为数据表丈夫(身份证号,姓名,职业,出生日期)妻子(身份证号,姓名,职业,出生日期,丈夫身份证号,子女数,婚龄)22一对多的关系转换为

5、数据表如果实体A和实体B之间是一对多的关系,关系转换方法为:可将“一方”实体的主关键字纳入“n方”实体转换后的数据表中作为“外部关键字”,同时把关系的属性也一并其中。 23一对多中的关系转换为数据表班级(班级编号、班级名称)学生(学号、姓名、性别、年龄、班级编号)24多对多的关系转换为数据表如果实体A和实体B之间是多对多的关系,必须按以下原则转换化数据表:必须对“关系”单独建立一个数据表。该数据表的属性中至少要包括实体A和实体B的主关键字作为外键,并且如果关系有属性,也要归入这个关系中。25多对多的关系转换为数据表学生(学号、姓名、性别、年龄)课程(课程号、名称、课时、学分)选课(编号、学号、

6、课程号)26学生选课系统的数据表27数据规范化假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等公司有多名职工,每一名职工有:职工号、姓名、性别、职务等公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定28为什么要数据规范化表中存在大量冗余信息插入数据、更新数据、删除数据时都可能会引发异常29第一范式第一范式的目标是确保每列的原子性。即数据表中的字段都是单一属性的,不可再分。姓名性别年龄地址张三男19北京市海淀区中关村大街20号李四男20石家庄市桥西区中山路112号王五男19北京市海淀区学府路210号赵六男21

7、北京市朝阳区樱花街32号30第二范式第二范式是在第一范式的基础上,确保表中的每列都和主键相关。即要求一个表只描述一件事情。 职工信息工程信息劳资信息31第二范式32第三范式第三范式是在第二范式的基础上,确保表中每列都和主键直接相关,而不是间接相关。间接相关又称为传递依赖。假设数据表中A、B、C三列,如果A-B,而B-C,则A-C。我们称A与C之间存在间接关系(传递依赖)。 33第三范式34满足三大范式的工资数据表35满足三大范式的学生选课的数据表36规范化和性能的关系规范化设计数据库虽然消除了大量的数据冗余,杜绝了一些问题的发生,但会降低数据库的操作性能。为了显示职工的工资,必须采用多表联合查询,并且实发工资还要重新计算 为了提高职工工资表的显示速度,可能要增加“实发工资”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论