《数据概念模型及关系模型设计课件》由会员分享,可在线阅读,更多相关《数据概念模型及关系模型设计课件(63页珍藏版)》请在金锄头文库上搜索。
1、第第4 4章章 数据概念模型及关系模型设计数据概念模型及关系模型设计【知识框架】本章知识内容为数据库应用系统开发流程中需求分 析、概念模型设计和逻辑模型设计,学习内容知识 框架如图4-1所示。第第4 4章章 数据概念模型及关系模型设计数据概念模型及关系模型设计总项目:学生选课管理系统数据模型设计 总项目概述:学生学籍管理系统包括班级、学生 、课程、教师等实体,含有学生选课管理子模块、学 生档案管理子模块、学生成绩管理子模块、课程管理 子模块、教师授课管理子模块、教师档案管理子模块 等,其中学生选课子模块中包含“学生”和“课程” 两个实体,在“学生”和“课程”之间,学生通过“ 选课”与“课程”发
2、生联系,因此把“选修”确定为 联系类型,并且“学生”和“课程”之间是m:n联系 。任务任务1 1 概念模型设计概念模型设计1.1任务情境为“学生选课管理系统”设计一个ER模型12.任务实现(1)首先确定实体,本题有两个实体类型:学生s,课程c。(2)确定联系。实体s与实体c之间有联系,且为m:n联系(多对多联系 ),命名为sc。(3)确定实体和联系的属性。实体学生s的属性有:学号sno,班级class, 姓名sname,性别ssex,出生日期birthday,地址address,电话tel ,邮箱email,其中实体标识符为sno(实体的主码);实体课程c 的属性有:课程编号cno,课程名称c
3、name,学分credit,其中实体 标识符为cno(实体的主码);联系选课sc的属性是某学生选修某课程 的成绩score。利用E-R方法画出“学生选课管理系统”ER图,如图4-2所示。4图4-2 “学生选课管理系统”ER图任务任务1 1 概念模型设计概念模型设计5数据库设计的任务是针对特定的应用需求和环境,创建一个 性能良好的数据库模式,建立数据库,并基于数据库开发及其应 用软件系统,使系统能有效地收集、存贮和管理数据,并对数据 进行处理和加工。 一、数据库设计概述 数据库设计步骤分为6个阶段:4.1 4.1 数据库设计的要求和步骤数据库设计的要求和步骤需求分析逻辑设计概念设计物理设计实施运
4、行和维护1. 需求分析阶段 进行数据库设计首先必须准确地了解与分析用户需求(包 括数据和处理),需求分析是整个设计过程的基础,是最困难 、最耗时间的一步。需求分析做得不好,甚至会导致整个数据 库设计返工重做。62. 概念结构设计阶段 概念结构设计是整个数据库设计的关键,它通过对用户需求 进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型( 实体模型也叫概念模型)。 4. 逻辑结构设计阶段 逻辑结构设计是将概念模型转换为某个DBMS所支持的数据模 型(关系模型),并对其进行优化。 4. 数据库物理设计阶段 数据库物理设计是为逻辑数据模型选取一个最适合应用环境 的物理结构(包括存贮结构和存
5、贮方法)。4.1 4.1 数据库设计的要求和步骤数据库设计的要求和步骤75. 数据库实施阶段 运用DBMS提供的数据语言,根据逻辑设计和物理设计的结果 建立数据库,编制与调试应用程序,组织数据入库,并进行试运 行。 6. 数据库运行和维护阶段 数据库应用系统经过试运行之后,即可投入正式运行。在 数据库系统运行过程中必须不断地对其进行评价、调整和修改。设计一个完善的数据库应用系统是不可能一蹴而就的,它往 往是上述6个阶段的不断反复的过程。4.1 4.1 数据库设计的要求和步骤数据库设计的要求和步骤84.2 4.2 概念模型概念模型与与数据模型数据模型现实世界是存在于人脑之外的客观世界,如 何使用
6、数据来解释和认识现实世界,则需要相应 手段进行描述。 模型是对现实世界的模拟和抽象。船模、航 模等都是对现实世界事物的一种模拟。数据模型 也是一种模型,它是对现实世界问题的数据特征 的描述。一、三个世界91.现实世界 泛指存在于人们头脑之外的客观世界,其中存在着各种事物,事 物间又具有不同的联系。为了用数据库系统来解决现实世界中的问题 ,就必须先深入实际,把要解决的问题调查清楚,分析与问题有关的 事物及其联系。 关键词:事物联系 2.信息世界 是现实世界在人们头脑中的反映。客观事物在观念世界中称为实 体,反映事物联系的是实体模型(概念模型)。 关键词:实体联系概念模型 4.数据世界 信息世界中
7、的信息经数字化处理形成计算机能够处理的数据,就 进入了数据世界。现实世界中的实体及其相互联系被转换成数据世界 中的数据及其联系,这种联系是用数据模型描述的。 关键词:数据联系数据模型4.2 4.2 概念模型概念模型与与数据模型数据模型10因此,客观事物系信息之源,是设计数据库的出发点,也 是使用数据库的最终归宿。实体模型(概念模型)与数据模型 是对客观事物及其联系的两种抽象描述。数据库的核心问题是 数据模型,为了得到正确的模型,首先要充分了解客观事物。4. 现实世界、信息世界、数据世界的关系现实世界 事物及联系系统分析信息化信息世界 概念模型数据库设计数据化计算机世界 数据模型信息的三个世界的
8、联系和转换过程4.2 4.2 概念模型概念模型与与数据模型数据模型11二、概念模型4.2 4.2 概念模型概念模型与与数据模型数据模型现实世界中的事物在人们头脑中反映的信息世界是用文字和符号记载下 来的,描述事物的术语有以下几种: 1.实体(Entity) 客观世界中存在的并可以相互区分的事物或概念,称为实体。 实体可以是具体的,如一个学生、一本书;也可以是抽象的事件,如一 场足球比赛。 实体的表征:实体用型(Type)和值(Value)来表征。例如:一个学 生是一个实体,学生的“学号,姓名,年龄,系别”是实体的型描述,而具体 的学生:“021031001,王明,20,计信系”是实体值。 2.
9、属性(Attribute) 实体所具有的某一特性在信息世界中称为属性。一个实体可以由若干个 属性来刻画。例:一个学生有姓名、性别、年龄等属性。 属性的域:属性的取值范围称为该属性的域。 每个属性都有一个值域(Domain),例:性别“男”、”女”,年龄20 35;值域有类型,可以是整数,实数或字符型等。例姓名的类型为字符型 ,年龄的类型为整型。 属性的表征:属性用型(Type)和值(Value)表征,例:学号、姓名 、性别、年龄、是属性的型,而具体的021031001、王明、男、20则是属性 值。124.2 4.2 概念模型概念模型与与数据模型数据模型 4.实体型(Entity Type)或实
10、体的描述 具有相同属性的实体必然具有共同的特征和性质,用实体名及 其属性名集合来抽象和刻画同类实体,称为实体型。如,学生实体 ,其型的描述为:学生(学号,姓名,性别,年龄)是一个实体型 。 4.实体值 是实体的具体实例,是属性值的集合。如,学生王明的实体值 是:(021031001,王明,男,18)。 属于同一实体集的实体的实体型是相同的,但实体值是不同的 。 5.实体集(Entity set) 性质相同的同类实体的集合称为实体集。或同型实体的集合称 为实体集。如,一班学生,一批书籍。 6.码(键Key) 能惟一标识实体集中每个实体的属性或属性组称为实体集的码 (键Key)。当一个实体集中包括
11、多个码时,通常要选定其中一个 码为主码,其他是候选码,实体集中不能惟一标识实体属性的叫次 码。134.2 4.2 概念模型概念模型与与数据模型数据模型7.实体集联系 建立实体模型的一个重要任务就是要找出实体集之间的联系。常 见的实体集联系有以下3种:(设A和B为两个实体集,用 矩形表示 实体集, 菱形表示联系)。 一对一联系(1:1) 如果A 中的任一实体至多对应B 中的一个实体;且B中的任一实 体至多对应A中的一个实体,则称A 与B是一对一联系。 例:电影院观众与座位实体集之间、乘车旅客与车票之间、病人与 病床之间等都是一对一联系。a1a2a3a4a5b1b2b3b4b5AB11示范表示叫E
12、 图,也 称为E 模型144.2 4.2 概念模型概念模型与与数据模型数据模型 一对多联系(1:N) 如果A 中至少有一个实体对应B中一个以上实体,且B中任 一实体至多对应A中一个实体,则称A对B是一对多联系。 例:学校对系、班级对学生等都是一对多联系。a1a2a3a4a5b1b2b3b4b5AB1N示范表示154.2 4.2 概念模型概念模型与与数据模型数据模型 多对多联系(M:N) 如果A中至少有一个实体对应B中一个以上实体,且B中也 至少有一个实体对应A中一个以上实体,则称A与B是多对多联 系。 例如:学生与课程、工厂与产品、商品与顾客等都是多对多联 系。a1a2a3a4a5b1b2b3
13、b4b5ABMN示范表示164.2 4.2 概念模型概念模型与与数据模型数据模型8.E-R模型 E-R模型是一种语义模型,又叫E-R图、实体联系模型 (EntityRelationship Approach) E-R模型的构成成分是实体集、属性和联系集(一对一、 一对多、多对多)。构成方法如下: 实体集用矩形框表示,框内写上实体集名。 实体的属性用圆或椭圆表示,其内写上属性名,并用无向 边与其实体集相连。学生学号姓名性别年龄所在系174.2 4.2 概念模型概念模型与与数据模型数据模型 实体集间的联系用菱形框表示,联系以适当含义命名,名 字写在菱形框内,用无向连线将参加相应联系的实体矩形框分
14、别与菱形相连,并在连线上标明联系的类型。注意:1和M要写在对应实体矩形那边的连线上,不可写反。184.2 4.2 概念模型概念模型与与数据模型数据模型194.2 4.2 概念模型概念模型与与数据模型数据模型例:班级、学生实体集及其联系。性别学号姓名年龄学生属于班级班级号班级名人数n1实体集:学生:学号、姓名、性别、年龄; 班级: 班级号、班级名、人数; 属性:“学号”、“班级号”分别是学生实体集和班级实体集的码或 键,故其属性名有下划线。 “人数”属性是派生属性(其值可以从其他相关实体或属性中派生出 来),其值可以通过计算该班级学生实体的数目而获得,故用虚椭圆形框 表示。 联系:“属于”是1对
15、多,由于参与者“学生”在“属于”联系中是 全部的,所以用双线将其与“属于”联系相连。 204.2 4.2 概念模型概念模型与与数据模型数据模型例:“课程”实体集、“教师”实体集及相互间的联系。教师号姓名性别职称电话号 码E-mail地址城市教师家庭地址区街道邮政编 码课程课程号课程名学分周学时教授nm21其中:“E-mail地址”属性是一个多值属性,故用双椭圆形框表 示; “家庭地址”属性是一个复合属性,在其下面还有4个属性与其 相连。 “教师号”下有一下划线,表示此属性是“教师”实体的码(键) 。 总之:E-R模型是数据库设计人员与用户进行交互的最有效工 具,用E-R模型来描述概念模非常接近
16、人的思维,易被人 理解,而且E-R模型与具体的计算机系统无关,易被不具 备计算机知识的最终用户接受。4.2 4.2 概念模型概念模型与与数据模型数据模型22人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一DBMS支持的数据模型。4.2 4.2 概念模型概念模型与与数据模型数据模型现实世界认 识抽象信息世界:概念模型机器世界 DBMS支持的数据模型对象的抽象过程概念模型小结234.2 4.2 概念模型概念模型与与数据模型数据模型定义:反映实体集之间联系的模型称为模念模型,又称为实体 模型。它独立于计算机系统,它是按用户的观点来描述某个 业务所关心的信息结构,是对现实世界的第一层抽象。数据库设计的重要任务就是建立概念 (实体)模