数据库设计 (2)ppt课件_第1页
数据库设计 (2)ppt课件_第2页
数据库设计 (2)ppt课件_第3页
数据库设计 (2)ppt课件_第4页
数据库设计 (2)ppt课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、1数据库的设计数据库的设计总结总结2本章任务q学习设计数据库的步骤学习设计数据库的步骤q绘制学生选课系统数据库的绘制学生选课系统数据库的E-R图图q把学生选课系统数据库的把学生选课系统数据库的E-R图转化为表图转化为表q用三大范式规范数据库设计用三大范式规范数据库设计3本章目标q如何标识实体对象如何标识实体对象q如何画如何画E-R图图q如何将如何将E-R图转换为数据表图转换为数据表q数据规范化设计数据规范化设计三大范式三大范式4学生选课系统5为什么需要数据库设计q复杂的数据库需要规范化设计。复杂的数据库需要规范化设计。6什么是数据库设计现实世界现实世界信息世界信息世界数据(电脑)世界数据(电脑

2、)世界7数据库设计的步骤8数据库设计第一步:标识实体q数据库中的数据对象,称为实体。数据库中的数据对象,称为实体。q实体有一个或多个属性。实体有一个或多个属性。q在需求分析阶段,需要知道要在数据库中存储哪些信息。在需求分析阶段,需要知道要在数据库中存储哪些信息。q数据库设计的第一步:标识实体。数据库设计的第一步:标识实体。9标识实体q标识学生选课系统中的实体对象标识学生选课系统中的实体对象学生信息学生信息教员信息教员信息通知通知课程信息课程信息10标识实体的属性q学生信息学生信息q 学号、姓名、性别、年龄、班级学号、姓名、性别、年龄、班级q教员信息教员信息q 工号、姓名、性别、年龄、教龄、职称

3、工号、姓名、性别、年龄、教龄、职称q课程信息课程信息q 课程号、名称、学时、学分课程号、名称、学时、学分q通知通知q 标题、内容标题、内容11实体之间的关系q大部分实体并不是孤立的,它们之间存在着各种关系。大部分实体并不是孤立的,它们之间存在着各种关系。丈夫与妻子之间一丈夫与妻子之间一对一的关系对一的关系班级与学生之间一班级与学生之间一对多的关系对多的关系学生与课程之间多学生与课程之间多对多的关系对多的关系12学生选课系统中各实体之间的关系学生信息学生信息教员信息教员信息课程信息课程信息一名学生可以选修多门课程一名学生可以选修多门课程一门课程由一个或多名学生选修一门课程由一个或多名学生选修一名

4、教员讲授一至多门课程一名教员讲授一至多门课程一门课程只能由一名教员讲授一门课程只能由一名教员讲授13数据库设计第二步:绘制ER图qE-R图图(Entity Relationship Diagram),中文称为,中文称为“实体实体-关系图关系图”,提供了表示实,提供了表示实体、属性和关系的图形符号。体、属性和关系的图形符号。实体名实体名属性名属性名关系名关系名实体表示实体表示关系表示关系表示属性表示属性表示14学生选课系统中的ER图15ER图如何表示实体之间的关系16ER图如何表示实体之间的关系17学生选课系统完整的ER图18课堂练习q画出仓库画出仓库-商品的商品的E-R图图q 提示:仓库的属性

5、包括:地点、面积等;商品的属性包括:商品名称、价格等。提示:仓库的属性包括:地点、面积等;商品的属性包括:商品名称、价格等。n1仓库商品存放地点面积仓库号商品号价格数量商品名19数据库设计第三步:ER模型转换为数据表q将将E-R模型转换为数据表的基本原则:模型转换为数据表的基本原则:1.将各实体转换为对应的表,将各属性转换为各表对应的列。将各实体转换为对应的表,将各属性转换为各表对应的列。2.标识每个表的主键列,需要注意的是:没有主键的表要添加标识每个表的主键列,需要注意的是:没有主键的表要添加ID编号列,它没有实际编号列,它没有实际含义,用于做主键。含义,用于做主键。 例如:通知数据表中除了

6、标题、内容外,还应加一个例如:通知数据表中除了标题、内容外,还应加一个ID主键列,用以区分每条记录。主键列,用以区分每条记录。3.如果实体之间有某种关系,还要在表中添加外键。如果实体之间有某种关系,还要在表中添加外键。20学生选课系统中各实体转换为数据表21如何将ER图中的关系转换为数据表q如果实体如果实体A和实体和实体B之间存在一对一的关系,将之间存在一对一的关系,将E-R图转换为数据表有以下三种方法:图转换为数据表有以下三种方法:1.把把A实体的主关键字加入到实体的主关键字加入到B实体转换后的数据表中作为外键,如果关系有属性也实体转换后的数据表中作为外键,如果关系有属性也一并加入。一并加入

7、。2.把把B实体的主关键字加入到实体的主关键字加入到A实体转换后的数据表中作为外键,如果关系有属性也实体转换后的数据表中作为外键,如果关系有属性也一并加入。一并加入。3.直接将关系转换为数据表,表中包含两个实体的主关键字,如果关系有属性也一并直接将关系转换为数据表,表中包含两个实体的主关键字,如果关系有属性也一并加入。加入。22一对一的关系转换为数据表丈夫(身份证号,姓名,职业,出生日期)丈夫(身份证号,姓名,职业,出生日期)妻子(身份证号,姓名,职业,出生日期,丈夫妻子(身份证号,姓名,职业,出生日期,丈夫身份证号,子女数,婚龄)身份证号,子女数,婚龄)23一对多的关系转换为数据表q如果实体

8、如果实体A和实体和实体B之间是一对多的关系,关系转换方法为:之间是一对多的关系,关系转换方法为:q 可将可将“一方一方”实体的主关键字纳入实体的主关键字纳入“n方方”实体转换后的数据表中作为实体转换后的数据表中作为“外部关键外部关键字字”,同时把关系的属性也一并其中。,同时把关系的属性也一并其中。 24一对多中的关系转换为数据表班级(班级编号、班级名称)班级(班级编号、班级名称)学生(学号、姓名、性别、年龄、班级编号)学生(学号、姓名、性别、年龄、班级编号)25多对多的关系转换为数据表q如果实体如果实体A和实体和实体B之间是多对多的关系,必须按以下原则转换化数据表:之间是多对多的关系,必须按以

9、下原则转换化数据表:1.必须对必须对“关系关系”单独建立一个数据表。单独建立一个数据表。2.该数据表的属性中至少要包括实体该数据表的属性中至少要包括实体A和实体和实体B的主关键字作为外键,并且如果关系的主关键字作为外键,并且如果关系有属性,也要归入这个关系中。有属性,也要归入这个关系中。26多对多的关系转换为数据表学生(学号、姓名、性别、年龄)学生(学号、姓名、性别、年龄)课程(课程号、名称、课时、学分)课程(课程号、名称、课时、学分)选课(编号、学号、课程号)选课(编号、学号、课程号)27学生选课系统的数据表28数据规范化q假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:假设某建

10、筑公司要设计一个数据库。公司的业务规则概括说明如下:1.公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等2.公司有多名职工,每一名职工有:职工号、姓名、性别、职务等公司有多名职工,每一名职工有:职工号、姓名、性别、职务等3.公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定29为什么要数据规范化q表中存在大量冗余信息表中存在大量冗余信息q插入数据、更新数据、删除数据时都可能会引发异常插入数据、更新数据、删除数据时都可能会引发异常30第一范式q第一

11、范式的目标是确保每列的原子性。即数据表中的字段都是单一属性的,不可再第一范式的目标是确保每列的原子性。即数据表中的字段都是单一属性的,不可再分。分。姓名姓名性别性别年龄年龄地址地址张三张三男男19北京市海淀区中关村大街北京市海淀区中关村大街20号号李四李四男男20石家庄市桥西区中山路石家庄市桥西区中山路112号号王五王五男男19北京市海淀区学府路北京市海淀区学府路210号号赵六赵六男男21北京市朝阳区樱花街北京市朝阳区樱花街32号号31第二范式q第二范式是在第一范式的基础上,确保表中的每列都和主键相关。即要求一个表只描第二范式是在第一范式的基础上,确保表中的每列都和主键相关。即要求一个表只描述

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

温馨提示

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

评论

0/150

提交评论