《《数据库设计》课件.ppt》由会员分享,可在线阅读,更多相关《《数据库设计》课件.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章 数据库设计数据库设计计算中心计算中心本章将要了解什么问题本章将要了解什么问题?该如何完成数据库设计该如何完成数据库设计本章内容本章内容4.1 数据库设计过程概述数据库设计过程概述4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化4.3 简单的数据库设计实例简单的数据库设计实例l数据库设计数据库设计l数据库系统设计包括数据库系统设计包括数据模式设计数据模式设计数据模式设计数据模式设计以及围绕以及围绕数据模式的数据模式的应用程序开发应用程序开发应用程序开发应用程序开发两个部分。两个部分。l在关系数据库系统中,数据模式设计即设计在关系数据库系统中,数据模式设计即设计一组一组二
2、维表二维表二维表二维表来记录用户需求数据,设计二维来记录用户需求数据,设计二维表的两个原则:表的两个原则:l针对具体应用提供足够的信息量针对具体应用提供足够的信息量l符合关系的设计规范(符合关系的设计规范(1NF、2NF、3NF)4.1 数据库设计过程概述数据库设计过程概述请求请求回应回应数据库数据库应用程应用程序序4.1 数据库设计过程概述数据库设计过程概述l数据库设计过程数据库设计过程l各个阶段如右图各个阶段如右图其中重点部分是其中重点部分是概念设计概念设计概念设计概念设计和和逻辑设计逻辑设计逻辑设计逻辑设计,常用,常用E-R模模型作为设计工具,再按照型作为设计工具,再按照一定规则从一定规
3、则从E-R模型转换模型转换为关系模型。为关系模型。l数据库设计不是一蹴而就数据库设计不是一蹴而就的,而是一个的,而是一个“反复探寻、反复探寻、逐步求精逐步求精”的过程。的过程。需求分析需求分析概念设计概念设计逻辑设计逻辑设计物理设计物理设计实施与维护实施与维护4.1 数据库设计过程概述数据库设计过程概述1.1.需求分析需求分析调研用户的实际需求,与用户达成共识,调研用户的实际需求,与用户达成共识,然后分析与表达这些需求。然后分析与表达这些需求。2.2.概念设计概念设计把用户需求进行综合、归纳与抽象,统一把用户需求进行综合、归纳与抽象,统一到一个概念结构中,形成数据库的概念模到一个概念结构中,形
4、成数据库的概念模型。面向用户,与型。面向用户,与DBMS无关。(无关。(E-R图)图)4.1 数据库设计过程概述数据库设计过程概述3.3.逻辑设计逻辑设计逻辑设计逻辑设计将概念结构转换为某个将概念结构转换为某个DBMS所支持的数据模型,并对所支持的数据模型,并对其进行优化。(将其进行优化。(将E-R图转换为关系模型)图转换为关系模型)4.4.物理设计物理设计物理设计物理设计为一个给定的逻辑数据模型选取一个最适合应用环境的为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程。依赖于给定物理结构(存储结构与存取方法)的过程。依赖于给定的计算机系统和的计算机系统和DB
5、MS。5.5.实施与维护实施与维护实施与维护实施与维护确定了数据库的逻辑结构和物理结构后,用所选的确定了数据库的逻辑结构和物理结构后,用所选的DBMS来实施数据库,为了使数据库长期稳定正常的运来实施数据库,为了使数据库长期稳定正常的运行,维护数据库是一项重要的任务。行,维护数据库是一项重要的任务。4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化l转化过程转化过程E-RE-R模型模型关系模型关系模型对问题进行分析对问题进行分析转化转化图图4-1 E-R模型到关系模型的转化过程模型到关系模型的转化过程l独立实体到关系模型的转化独立实体到关系模型的转化一个独立实体转化为一个关系模型一个
6、独立实体转化为一个关系模型(即一张关系表即一张关系表),实体码转化为关系表的关键属性实体码转化为关系表的关键属性实体码转化为关系表的关键属性实体码转化为关系表的关键属性,其他属性转化,其他属性转化为关系表的属性,注意根据实际对象属性情况确定为关系表的属性,注意根据实际对象属性情况确定关系属性的取值域。关系属性的取值域。4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化例例例例4-14-1:对于图对于图4-1所示的学生实体,将其转化为所示的学生实体,将其转化为关系。关系。学学学学 生生生生学学 号号民民 族族籍籍 贯贯姓姓 名名图图4-1 4-1 学生实体的学生实体的E-RE-R图图
7、转化为关系:转化为关系:学生学生学生学生(学号学号学号学号,姓名姓名,民族民族,籍贯籍贯)其中下划线标注的属性表示关键字。其中下划线标注的属性表示关键字。4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化l1:1联系到关系模型的转化联系到关系模型的转化11经经经经 理理理理公公 司司领领 导导姓姓 名名住住 址址年龄年龄电电 话话民民 族族名名 称称电电 话话类类 型型注册地注册地图图4-2 1:1 4-2 1:1 联系联系E-RE-R图图4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化对图对图4-24-2转化为关系模型:转化为关系模型:经理经理经理经理(姓名姓名,民
8、族民族,住址住址,年龄年龄,电话电话,名称名称名称名称)公司公司公司公司(名称名称,注册地注册地,类型类型,电话电话,姓名姓名姓名姓名)其中名称和姓名分别是其中名称和姓名分别是“公司公司”和和“经理经理”两个关两个关系模式的关键字,在系模式的关键字,在“经理经理”和和“公司公司”两个关系两个关系中,为了表明两者间的联系,中,为了表明两者间的联系,各自增加了对方的关各自增加了对方的关各自增加了对方的关各自增加了对方的关键字作为外部关键字键字作为外部关键字键字作为外部关键字键字作为外部关键字,当两个表中出现下面的元组,当两个表中出现下面的元组时,表明了张小辉是京广实业公司的经理。时,表明了张小辉是
9、京广实业公司的经理。(张小辉张小辉张小辉张小辉,汉汉,北京前门大街北京前门大街156号号,48,68705633,京广实业京广实业京广实业京广实业公司公司公司公司)和和(京广实业公司京广实业公司京广实业公司京广实业公司,北京复兴门外大街北京复兴门外大街278号号,有限责有限责任任,65783265,张小辉张小辉张小辉张小辉)4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化l1:n联系到关系模型的转化联系到关系模型的转化要转化要转化1:n联系,联系,需要在需要在需要在需要在n n方方方方(即即即即1 1对多关系的多方对多关系的多方对多关系的多方对多关系的多方)实体表中增加一个属性实
10、体表中增加一个属性实体表中增加一个属性实体表中增加一个属性,将对方的关键字作为外将对方的关键字作为外将对方的关键字作为外将对方的关键字作为外部关键字处理即可部关键字处理即可部关键字处理即可部关键字处理即可。1n学学学学 生生生生班班班班 级级级级属属 于于姓姓 名名学学 号号民民 族族生日生日名名 称称班班 号号系系年年 级级专专 业业图图4-3 1:n4-3 1:n联系联系E-RE-R图图4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化如图如图4-3所示,所示,“班级班级”与与“学生学生”的联系是的联系是1:n的联系,学生方是的联系,学生方是n方,对图方,对图4-3进行转化,得
11、到进行转化,得到关系模型:关系模型:学生学生学生学生(学号学号学号学号,姓名姓名,民族民族,生日生日,班号班号班号班号)班级班级班级班级(班号班号班号班号,名称名称,年级年级,系系,专业专业)在学生表中增加在学生表中增加“班级班级”中的关键字中的关键字“班号班号”作作为外部关键字。为外部关键字。4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化lm:n联系到关系模型的转化联系到关系模型的转化一个一个m:nm:n联系联系需要单独建立一个关系模式,分需要单独建立一个关系模式,分需要单独建立一个关系模式,分需要单独建立一个关系模式,分别用两个实体的关键字作为外部关键字。别用两个实体的关键
12、字作为外部关键字。别用两个实体的关键字作为外部关键字。别用两个实体的关键字作为外部关键字。学学学学 习习习习mn学学学学 生生生生学学 号号姓姓 名名生日生日民民 族族课程课程号号课程课程名名学时学时数数课程课程课程课程成绩成绩图图4-4 m:n4-4 m:n联系联系E-RE-R图图 4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化图图4-4描述的学生与课程的联系是描述的学生与课程的联系是m:n联联系,将系,将E-R图转化为图转化为3个个关系模型:关系模型:学生学生学生学生(学号学号学号学号,姓名,民族,生日,姓名,民族,生日)课程课程课程课程(课程号课程号课程号课程号,课程名,
13、学时数,课程名,学时数)学习学习学习学习(学号学号学号学号,课程号课程号课程号课程号,成绩,成绩)4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化l多元联系到关系模型的转化多元联系到关系模型的转化所谓所谓多元联系多元联系多元联系多元联系,即是说该联系涉及两个以上的,即是说该联系涉及两个以上的实体。例如一个课程表,涉及班级、课程、教实体。例如一个课程表,涉及班级、课程、教师、教室师、教室4个实体。个实体。转化时,应转化时,应建立一个单独的关系表,将该联系建立一个单独的关系表,将该联系建立一个单独的关系表,将该联系建立一个单独的关系表,将该联系所涉及的全部实体的关键字作为该关系表的外
14、所涉及的全部实体的关键字作为该关系表的外所涉及的全部实体的关键字作为该关系表的外所涉及的全部实体的关键字作为该关系表的外部关键字,再加上适当的其他属性部关键字,再加上适当的其他属性部关键字,再加上适当的其他属性部关键字,再加上适当的其他属性,得到关系,得到关系模式如下:模式如下:课程表课程表课程表课程表(班号班号班号班号,课程号课程号课程号课程号,教师号教师号教师号教师号,教室号教室号教室号教室号,周次周次)。4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化l自联系到关系模型的转化自联系到关系模型的转化自联系自联系自联系自联系指同一个实体类中实体间的联系。例如一个指同一个实体类中
15、实体间的联系。例如一个公司的所有员工组成的实体类中,员工中存在领公司的所有员工组成的实体类中,员工中存在领导与被领导这样的联系,只要分清两部分实体在导与被领导这样的联系,只要分清两部分实体在联系中的身份,其余的情况与一般二元关系相同,联系中的身份,其余的情况与一般二元关系相同,如图如图4-5所示。所示。姓姓 名名员工号员工号民民 族族基本工基本工资资职职 务务住住 址址领领 导导员员员员 工工工工图图4-5 4-5 自联系自联系E-RE-R图图4.2 E-R模型及其到关系模型的转化模型及其到关系模型的转化对图对图4-5所示所示E-R图转化为关系模型:图转化为关系模型:员工员工员工员工(员工号员
16、工号员工号员工号,姓名姓名,住址住址,民族民族,基本工资基本工资,职务职务)领导领导领导领导(领导员工号领导员工号领导员工号领导员工号,被领导员工号被领导员工号被领导员工号被领导员工号)在领导关系表中,是只反映直接领导关系,还在领导关系表中,是只反映直接领导关系,还是把非直接领导关系也进行反映,由应用系统是把非直接领导关系也进行反映,由应用系统的要求确定。的要求确定。课堂练习课堂练习为一个综合性运动会建立数据库,设计的实体如下:为一个综合性运动会建立数据库,设计的实体如下:代表团:代表团名称、代表团人数和团长姓名;运代表团:代表团名称、代表团人数和团长姓名;运动员:运动员编号、姓名、性别和出生
17、年月;竞动员:运动员编号、姓名、性别和出生年月;竞赛项目:项目编号、名称、比赛时间、比赛地点赛项目:项目编号、名称、比赛时间、比赛地点和参数运动员成绩和参数运动员成绩其中,一个运动员可以参加多项比赛,一个比赛项其中,一个运动员可以参加多项比赛,一个比赛项目也允许多个运动员参赛,运动员参加完比赛后目也允许多个运动员参赛,运动员参加完比赛后记录成绩;一个代表团有多个运动员,一个运动记录成绩;一个代表团有多个运动员,一个运动员只能代表一个代表团参赛。试画出员只能代表一个代表团参赛。试画出E-R图并将其图并将其转化为关系模型。转化为关系模型。课堂练习答案课堂练习答案关系模型:关系模型:代表团代表团(代
18、表团名代表团名称称,代表团人数代表团人数,团团长姓名)长姓名)运动员运动员(运动员编运动员编号号,姓名姓名,性别性别,出生出生年月年月,代表团名称)代表团名称)竞赛项目竞赛项目(项目编项目编号号,名称名称,比赛时间比赛时间,比赛地点)比赛地点)参赛参赛(项目编号项目编号,运运动员编号动员编号,成绩)成绩)4.3 简单的数据库设计实例简单的数据库设计实例l问题概述问题概述为一个物资供应公司设计一个货物商品管理系统,该公司为一个物资供应公司设计一个货物商品管理系统,该公司业务流程如图业务流程如图4-6:销售公司销售公司商品商品供应商供应商客户客户采购订单采购订单销售订单销售订单库存文件库存文件图图
19、4-6 某销售公司业务流程图某销售公司业务流程图4.3 简单的数据库设计实例简单的数据库设计实例该系统数据模型包含的数据实体有:该系统数据模型包含的数据实体有:(1)(1)(1)(1)供应商供应商供应商供应商(Supplier)(Supplier):为该公司提供商品的公司。:为该公司提供商品的公司。(2)(2)商品商品商品商品(Goods)(Goods):该公司经营的商品。:该公司经营的商品。(3)(3)客户客户客户客户(Customer)(Customer):该公司提供服务的厂家。:该公司提供服务的厂家。(4)(4)员工员工员工员工(Employee)(Employee):该公司的员工。:该
20、公司的员工。(5)(5)运输商运输商运输商运输商(Transporter)(Transporter):为该公司提供运输服务的公司。:为该公司提供运输服务的公司。(6)(6)销售订单销售订单销售订单销售订单(Sell_Order)(Sell_Order):该公司与用户签定的销售合同。:该公司与用户签定的销售合同。(7)(7)采购订单采购订单采购订单采购订单(Purchase_Order)(Purchase_Order):该公司与供应商签定的采:该公司与供应商签定的采购合同。购合同。4.3 简单的数据库设计实例简单的数据库设计实例员工员工销售订单销售订单商品商品采购订单采购订单供应商供应商运输商运
21、输商客户客户图图4-7 数据实体之间的关系数据实体之间的关系4.3 简单的数据库设计实例简单的数据库设计实例l数据实体的数据实体的E-R图图这个实例包含的数据实体较多,联系较复杂,如果这个实例包含的数据实体较多,联系较复杂,如果用一般的用一般的E-R图描述,幅面会比较大,对于这种问图描述,幅面会比较大,对于这种问题,常常用一种题,常常用一种E-RE-R图的变形图图的变形图图的变形图图的变形图来描述。来描述。在这种变形图中,实体及其属性用一个矩形框描述,在这种变形图中,实体及其属性用一个矩形框描述,实体名称标注在矩形框的顶部,实体关键字用实体名称标注在矩形框的顶部,实体关键字用*标标出,并紧跟在
22、实体名称后面,实体属性依次标注。出,并紧跟在实体名称后面,实体属性依次标注。实体间的联系省略菱形框,只用连线,并在连线的实体间的联系省略菱形框,只用连线,并在连线的两端标注联系类型。(参看两端标注联系类型。(参看P35图图2-10)4.3 简单的数据库设计实例简单的数据库设计实例l数据表设计示例数据表设计示例以员工、销售订单、商品以及部门以员工、销售订单、商品以及部门4个数据实体及其相个数据实体及其相互间的联系为例,说明这种转换过程。互间的联系为例,说明这种转换过程。(1)(1)“员工员工员工员工”实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换从图从图2-10
23、和图和图2-11中看出,中看出,“员工员工”实体有实体有9个属性,个属性,Employee_ID是其关键属性,该实体与是其关键属性,该实体与“销售订单销售订单”实体间有一个实体间有一个1:n的联系。此外,与的联系。此外,与“部门部门”实体实体间有一个间有一个n:1的联系,为描述这种联系,需要增加一的联系,为描述这种联系,需要增加一个外部关键字个外部关键字Department_ID,转换结果见表,转换结果见表2-8。4.3 简单的数据库设计实例简单的数据库设计实例(2)(2)“销售订单销售订单销售订单销售订单”实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换“销售
24、订单销售订单”实体包含实体包含Order_ID1等等7个属性,还与个属性,还与“客客户户”等等4个实体具有个实体具有n:1的联系,为描述这种联系,需的联系,为描述这种联系,需要增加要增加4个外部关键字个外部关键字(实体中已列出了这实体中已列出了这4个外部关键个外部关键字字)。转换结果见表。转换结果见表2-9。(3)“(3)“商品商品商品商品”实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换“商品商品”实体包含实体包含6个属性,关键属性是个属性,关键属性是“商品代码商品代码(Goods_ID)”,“商品商品”实体与实体与“销售订单销售订单”实体及实体及“采购订单采购订单”实体间有实体间有1:n的联系,与的联系,与“商品规格商品规格”实体实体有有n:1的联系。转换结果见表的联系。转换结果见表2-10。(4)“(4)“部门部门部门部门”实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换实体到关系模式的转换“部门部门”实体有实体有4个属性,并且与个属性,并且与“员工员工”实体有实体有1:n的的联系,转换结果见表联系,转换结果见表2-11。小结与提问小结与提问l了解数据库设计了解数据库设计l主要设计过程和步骤主要设计过程和步骤lE-R模型到关系模型的转化模型到关系模型的转化l实例分析实例分析l会设计一个简单的数据库吗会设计一个简单的数据库吗