ER图与关系模式
ER图转换为关系模式实例
二、概念结构设计1、系统概念模型图1选课系统概念模型E-R 图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。
) 2、详细说明(1)系统涉及的实体集● 班级实体集:具有属性班级名称和选课学分限制。
● 学生实体集:具有属性学号、姓名、性别和生日。
● 课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。
● 上课时间实体集:具有属性时间。
(2)系统涉及的联系● 一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:M 的联系。
● 一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M :N 的联系。
● 一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M :N 的联系。
班级学分限制班级名学生学号 姓名性别生日属于必修课程选修上课时间上课时间授课教师接纳人数课号课名学分1mmnmmnn一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:N的联系。
三、逻辑结构设计将E-R模型转换为关系模式(1)班级实体集可以转换为关系CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集可以转换为关系STUDENT(STUDENTID , NAME , SEX , BIRTHDAY)STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日(3)课程实体可以转换为关系COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。
oracle第二章 E-R图与关系代数_课程
规范化数据
• 对于数据库设计器而言至关重要 • 定义为使数据“规范”的过程 定义为使数据“规范” • 将数据存储在普通独立组中的过程
规范化数据举例
具有下面这些列的单个表: 具有下面这些列的单个表:
• • • • • •
借书表 书籍名称 借用者 地址 电话号码 借书日期 返还日期
借书 表: • 书籍名称 • 借用者 • 借书日期 • 返还日期
字段1 字段2 字段3 字段4 字段 1 字段 2 字段3 字段 3.1
不符合
字段 4 字段 3.2
符合
第二范式 (2NF)
• 找出并删除关键字的一部分字段 • 在另一个表中对所删除项目进行分组 • 将关键字分配给新表 “如果表已经属于 1NF 而且每一个非关键
字字段都完全依赖于主键,则此表属于
2NF”
E-R图关系类型
• 一对一 :在一对表中,“table1”中的一条 在一对表中, 中的一条 记录指向“ 记录指向“table2”中的一条记录 中的一条记录 • 一对多 : 在一对表中,“table1”中的一条 在一对表中, 中的一条 记录指向“ 中的多条记录, 记录指向“table2”中的多条记录,但是 中的多条记录 中的一条记录只能指向“ “table2”中的一条记录只能指向“table1” 中的一条记录只能指向 中的一条记录 • 多对多 :“table1”中的一条记录指向 中的一条记录指向 中的多条记录, “table2”中的多条记录,而且“table2”中 中的多条记录 而且“ 中 的一条记录也指向“ 的一条记录也指向“table1”中的多条记录 中的多条记录
E—R实体关系练习
一个图书馆借阅管理数据库要求提供以下服务: 一个图书馆借阅管理数据库要求提供以下服务: (1)可随时查询书库中现有书籍的书名、数量与存放位置。各类书籍均可 )可随时查询书库中现有书籍的书名、数量与存放位置。 由书号唯一标示。 由书号唯一标示。 (2)可随时查询书籍的借还情况。包括借书人单位、姓名、借书证号、借书 )可随时查询书籍的借还情况。包括借书人单位、姓名、借书证号、 日期和还书日期。 日期和还书日期。 我们约定:任何人可借多种书,任何一种书可为多个人所借, 我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号 具有唯一性。 具有唯一性。 (3)当我们需要时,可通过数据库中保存的出版社的电报编号、电话、邮编 )当我们需要时,可通过数据库中保存的出版社的电报编号、电话、 及地址等信息向有关书籍的出版社增购有关书籍。我们约定, 及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出 版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 根据以上情况和假设,试作如下设计: 根据以上情况和假设,试作如下设计: 1、设计该图书馆借阅管理系统的 、设计该图书馆借阅管理系统的E-R图; 图 2、将该E-R图转换为关系模型的结构; 、将该 图转换为关系模型的结构; 图转换为关系模型的结构 3、指出每个关系模型的主码 主键 和外码 外键 。 主键)和外码 外键)。 、指出每个关系模型的主码(主键 和外码(外键
ER图转换关系模式
1:1联系的转化
第一步:联系形成的关系独立存在:
职工表(职工号,姓名,年龄)主码:职工号产品表(产品号,产品名,价格)主码:产品号负责(职工号,产品号)主码:职工号或产品号合并方案1:“负责”与“职工”两关系合并:职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)
合并方案2:“负责”与“产品"两关系合并:职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)
1:n联系的转化
步骤一:联系形成的关系独立存在.
仓库(仓库号,地点,面积)主码:仓库号
产品(产品号,产品名,价格)主码:产品号
仓储(仓库号,产品号,数量)主码:产品号
合并后方案:联系形成的关系与n端对象合并。
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)
m:n联系的转化
该模型可转换为三个关系模式:
学生(学号,姓名,性别,年龄)主码:学号
课程(课程号,课程名,学分)主码:课程号
选课(学号,课程号,成绩)主码:学号+课程号
这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)。
实体关系模型(E-R图)
(3)把教师和工资间的一对一的关系反映 出来,可把教师号和月份属性放到工资关系 中。
35
最后形成的关系模式为:
36
导员,每个辅导员只管理一个班级。则辅导员和班级 之间是一对一的联系。
班级和辅导员的属性分别如下:
辅导员——工号,姓名,性别,年龄,学历 班级——班号,班级名
另外,辅导员和班级之间是一个管理联系,这种 管理用一个属性任职时间来描述,请根据描述画出能 够反映实体集之间的信息关系的E-R图。
5
6
【例2】 两个实体集之间的一对多的联系的绘制方法。 假设在某出版管理系统中,有两个实体集:出版社和 图书。出版社用来出版图书,且规定一本图书只能由 一个出版社出版,一个出版社可以出版多本图书。出 版社和图书之间是一对多的联系。
作者和图书可用以下属性来描述: 作者——编号,姓名,职称 图书——书号,书名,出版日期
另外,在“创作”联系中应能反映出该书的合同时间 和完成时间。请根据描述画出能够反映实体之间的信 息关系的E-R图。
9
10
11
1.3 同一实体集内部不同联系情况的E-R图表示法
【例4】同一实体集内部的一对多联系的绘制方法。 假设在某单位里,职工实体集中的实体可分成两类: 领导者和被领导者。领导者可以领导多个被领导者, 而被领导者只有一个顶头上司,从而实现层层负责制。 而对于一个具体职工而言,他既可能是其他职工的领 导者,又可能被别的职工领导。
①把A实体集的主关键字加入到B实体集对 应的关系中,如果联系有属性也一并加入;
②把B实体集的Байду номын сангаас关键字加入到A实体集对 应的关系中,如果联系有属性也一并加入;
③建立第三个关系,关系中包含两个实体 集的主关键字,如果联系有属性也一并加入。
ER模型转换为关系模型规则
ER模型转换为关系模型规则
转换规则如下:
1.实体转换为关系表:
将ER模型中的每个实体转换为一张关系表。
每个实体的属性对应关系表的列。
2.属性转换为关系表的列:
实体的属性被转换为关系表的列,属性的名称作为列名,属性的数据类型作为列的数据类型。
3.主键属性:
如果一个实体的属性被定义为主键,那么这个属性将成为关系表的主键。
4.外键属性:
5.一对一关系:
如果两个实体之间的关系是一对一的,那么可以在任意一个实体的关系表中增加对方实体的主键,作为外键。
6.一对多关系:
如果两个实体之间的关系是一对多的,那么可以在多的一方实体的关系表中增加一的一方实体的主键,作为外键。
7.多对多关系:
如果两个实体之间的关系是多对多的,那么需要创建一个中间表来表示这种关系。
中间表中的每一行记录表示两个实体之间的关系,而关系的属性则作为中间表的列。
在完成ER模型到关系模型的转换后,可以通过对关系表进行插入、更新、删除等操作来操作数据。
同时,可以通过关系表的连接操作来获取两个实体之间的关系。
关系模型的优势在于它能够提供简单且强大的数据操作方式,同时保证数据的完整性和一致性。
概念模型ER图及概念模型转化成关系模型
m
n
1
办卡
属于
1 学生卡
1 班级
课程号 课程名
学分
卡号
余额
班号
辅导员
二、概念模型转化成逻辑模型
将E-R图转换为关系模型实际是将实体集、 属性以及联系转换为相应的关系模式, 1.实体集的转换规则:概念模型中的一个 实体集转换为关系模型中的一个关系,实 体的属性就是关系的属性,实体的码就是 关系的码,关系的结构是关系模式,
较强的语义表达能力,能够方便、直接地表达应用中的 各种语义知识
简单、清晰、易于用户理解,
2. 信息世界中的基本概念
1 实体 Entity
客观存在并可相互区别的事物称为实体,
可以是具体的人、事、物或抽象的概念,
2 属性 Attribute
实体所具有的某一特性称为属性, 一个实体可以由若干个属性来刻画,
3. 概念模型的表示方法ER图
实体型
用矩形表示,矩形框内写明实体名,
学生
教师
E-R图 续
An Introduction to Database System
属性
用椭圆形表示,并用无向边将其与相应的实体连 接起来
学生
学号
姓名
性别
年龄
E-R图 续
An Introduction to Database System
2. 实体集间联系的转换规则
以下举例基于以下的E-R图
成绩
选课 n 课程
学号
姓名
学生
m
n
1
办卡
属于
1 学生卡
1 班级
课程号 课程名
学分
卡号
余额
班号
辅导员
An Introduction to Database System
E-R图和关系数据库设计
民航航班管理数据模型
•实体集6 职工 PERSONNEL 属性: 职工号 EMP-NO:INT(6) 姓名NAME:CHAR(30) 住址ADDRESS:CHAR(30) 工资SALARY:INT(6) 职工号EMP-NO是本实体集的关键字。
•实体集7 飞行员 PILOTS 实体集PILOTS 无属性。
【例】实体“学生”,具有属性“学号”、“姓 名”、“性别”、“年龄”。
基本概念
• 所谓属性是指事物的某一方面的特征,属性可 以是基本属性或导出属性。例如,学生的学号 是一个简单属性;学生的家庭地址是一个复合 属性,它由简单属性“城市”、“街道”、 “门牌号”等组成。
• 属性可以是基本属性或导出属性。例如,一 个人的生日是基本属性,年龄是导出属性,年 龄可以根据生日和当前日期导出。
民航航班管理数据模型
•实体集3 航次DEPARTURES 属性: 日期DATE:INT(3) 本实体集的每一个实体是在某日起飞的航次。
•实体集4 机型PLANES 属性: 制造厂 MANUFACTURER:CHAR(10)
型号MODEL-NO:CHAR(10) 这两个属性组成实体集的关键字。 •实体集5 飞机AIRCRAFT 属性: 序号SERIAL-NO:INT(5)
order-no,quantity-order)
转换规则3
• 规则3:如果一个联系集的两侧标明的基数比是 1∶N(一对多联系),且联系无自身的属性,则 在1侧的实体集的关键字应加入到另一侧的实体转 换成的关系中,联系集本身可不必单独转换成关 系。
• 例如下图实体集CUSTOMER的关键字应加入到对 应于实体集ORDER的关系中去。经过转换后可得 关系模式为:
• 规则2:每一个联系集转换成一个关系, 该联系集自身所 拥有的属性,加入到该关系中去,而该关系的主关键字由 该联系集所联系的实体集的关键字组成。
2、概念模型ER图及概念模型转化成关系模型
数据项机制的意义
相同数据项目定义一次,节省了工作量 保证不同实体相同属性的定义一致性 保证相同性质的列名一致性
后两条通常先定义数据项,然后在实体中引用该 数据项
前两条通过域也能实现 相同含义不同定义的属性code名不要同名(如进
价和售价等)
属性的Code值:
缺省情况下为Data Items的唯一性标识,不同实体相同 Code属性被认为对应的是一个数据项定义。
元素的Name用于图中显示,所以一般取中文,而Code 用于生成物理模型的对象名(如表名、列名等),一般 取英文字母。
A、实体(Entity)
实体特性窗口中主要包含下列页框:
General:设置实体(Entity)的编码(Code)、 名称(Name)和发生的行数(Number)
Attributes(属性):设置实体的属性 Identifiers:设置实体的标识(对应物理模型
解外,还要求其易于向数据模型(如关系模型) 转化。 概念模型独立于具体的数据库系统,是整个数 据库设计的基础。
1. 概念模型
概念模型的用途
概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求
较强的语义表达能力,能够方便、直接地表达应用中 的各种语义知识
简单、清晰、易于用户理解。
2. 信息世界中的基本概念
(1) 实体(Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
(2) 属性(Attribute)
实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。
2) 1:n联系的转换方法
ER图--关系模型-决策树表
转换举例仓二库号 地点 面积
货号 品名 价格
1
仓库
存放
n 产品
“1” 方主键纳
数量
入“n”方关系
中
联系的属性也纳入 “n”方关系中
一个实体转化 为一个关系
仓库(仓库号,地点,面积) 产品(货号,品名,价格,仓库号,数量)
(3)m:n联系 除了被联系实体各为一个关系外,联系也是
一个关系(即共三个关系)。该关系的属性包括: 双方实体的主键,联系本身的属性。
• 以上实体间联系的分E-R图如下:
仓库
1
工作
n
职工
库存量
供应量
供应商
m
供应
n
零件
仓库
1
储存
n
零件
3)综合的总E-R图
• 画综合的总E-R图,只要将分E-R图中 同名的实体重叠在一起。注意:在综合 的E-R图中,同一实体只出现一次。
供应商
m
供应
供应量
仓库
1
n
工作
职工
1
储存
库存量
n
n
零件
仓库
1
工作
(此处省略了实体及其属性图)
2)分E-R图 除了实体有属性,在画E-R图时,
联系也可能产生新的属性。
以上实体之间的联系如下:
• 仓库与职工之间是一对多的联系,二者的联 系是“工作”。
• 仓库与零件之间具有一对多的联系,二者的 联系是“储存” 。
• 供应商与零件之间是多对多的联系,二者的 联系是“供应”
• 例2.厂长与工厂的联系(1:1)
厂长号 姓名
专业
厂长
1
管理
1
工厂
ER图转换关系模式
1:1联系得转化
第一步:联系形成得关系独立存在:
职工表(职工号,姓名,年龄) 主码:职工号
产品表(产品号,产品名,价格) 主码:产品号
负责(职工号,产品号)主码:职工号或产品号合并方案1:“负责”与“职工”两关系合并:
职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)
合并方案2:“负责”与“产品"两关系合并:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)
1:n联系得转化
步骤一:联系形成得关系独立存在.
仓库(仓库号,地点,面积)主码:仓库号产品(产品号,产品名,价格)主码:产品号仓储(仓库号,产品号,数量) 主码:产品号合并后方案:联系形成得关系与n端对象合并。
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)m:n联系得转化
该模型可转换为三个关系模式:
学生(学号,姓名,性别,年龄)主码:学号
课程(课程号,课程名,学分)主码:课程号
选课(学号,课程号,成绩) 主码:学号+课程号
这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)。
ER图及关系模式
性别 属性名,描述学生在生理上的男女区别。
年龄 属性名,描述学生年龄大小。
系 属性名,说明一个学生在哪个系学习。
三、数据字典
对象
描
述
课程 关系名,描述课程有关信息。
课程号 属性名,为每门课程分配的唯一性标识, 可能有编码格式要求。
课程名 属性名,为每门课程所取的名称。
学分
属性名,描述一门课程的信息量,与讲授 的学时相对应。
一、学生信息与成绩数据库ER图
1、实体类型。
学号
姓名 年龄 性别 所在系
学生
课程号 课程名 学分
姓名
职称
年龄
课程
教师
一、学生信息与成绩数据库ER图
2、实体类型之间的联系。
学生
联系
课程
成绩
课程
联系
教师
一、学生信息与成绩数据库ER图
3、完整的ER图。
学号 姓名 年龄 性别 所在系
课程号 课程名
姓名
学生 联系 成绩
二、数据库的关系模型
2、关系模型的优化。 根据实际需要,对上面的模型进行优化。学生信息
不变,由于教师与课程联系中,一门课程只有一 个教师讲授,可以把教师的信息放到课程中去。 这样就可以去掉教师和讲授两个关系。
学生(学号,姓名,性别,年龄,系) 课程(课程号,课程名,学分,教师姓名,
职称,教师年龄) 教师(姓名,职称,教师年龄) 选课(学号,课程号,成绩) 讲授(课程号,教师姓名,)
教师姓名,) 选课(学号,课程号,成绩)
三、数据字典
数据库的数据字典实际上是对数据库中各种对象
的描述,也就是说明它们的语义,即用自然语 言说明它们的含义。
对象
ER图,以及转化成关系模式
ER图,以及转化成关系模式
1.找出条件中的实体(矩形),属性(椭圆),关系(菱形)关系分为1:1,1:N,M:N,列出ER图
2.
-1:1联系的转换⽅法
-两个实体分别转化为⼀个关系模式,属性即是本来的属性
-关系可以与任意⼀个实体合并,关系的属性,以及另⼀个实体的主码要加到合并到的关系模式⾥⾯ -1:n联系的转化⽅法
-两个实体分别转化为⼀个关系模式,属性即是本来的属性
-关系和n端的实体合并,关系的属性,以及另⼀个实体的主码要加到合并到的关系模式⾥⾯
--m:n联系的转化⽅法
-两个实体分别转化为⼀个关系模式,属性即是本来的属性
-关系的码为两个实体的主码,以及关系的属性,形成新的关系模式。
第5讲E-R转换为关系模型
有
有 还有局部 结构待分 有 还有未合 析 并的局部 无 进入全局ER模式设计 模式 无
图5.18 局部ER模式设计
图5.20全局ER模式设计
六、设计局部ER模式
1、范围的确定方法: 3、属性确定与分配 3、定义联系: 2、实体划分的依据: (1)、当前用户群 (1)确定原则:属性应该是 (1)实体之间有联系? (1)采用人们习惯的划分; 不可再分解的语义单位;实体 (2)、提供的服务 (2)什么样的联系; (2)避免冗余,在一个局部 与属性之间的关系只能是1:N的; 2、注意因素 结构中,对一个对象只取一 不同实体类型的属性之间应无 (3)有冗余联系吗? 种抽象形式,不要重复; 直接关联关系。 (1)范围的划分要自然,易于管理 (4)联系的命名 ; (3)依据用户的信息处理需 (2)属性分配的原则: 求 (2)范围之间的界面要清晰,相互 当多个实体类型用到同一属 影响要小 性时,一般把属性分配给那些 使用频率最高的实体类型,或 (3)范围的大小要适度。太小了, 分配给实体值少的实体类型。 会造成局部结构过多,设计过程繁 琐,综合困难;太大了,则容易造 有些属性不宜归属于任一实 成内部结构复杂,不便分析 体类型,只说明实体之间联系 的特性
初步分析系 统的对象
根据服务种 类分析学生 子模块
……
局部ER图 系
1
有
N
班级
1
1
管 理 指 导 住 宿
1
1
班主任
导师
组 成
N
N
N
档案材料
N
归 档 具 有
1
学生
1 M
1
宿舍
N
参 加
N
社会关系
学会
其它局部模式
图书馆管理系统-ER图&关系模型-参考样本
一、ER图如下:1. 实体集说明:“读者”实体集---来自“读者数据”存储文件“罚单”实体集---来自“罚单数据”存储文件“借阅信息”实体集---来自“借阅数据”存储文件“图书”实体集---来自“书籍数据”存储文件“管理员”实体集---来自“管理员”对象“采购员”实体集---来自“采购员”对象2. 联系类型说明:1____* ------ 表示“一对多”联系,多方可以是1个或多个1..1____0..1 ------ 表示“一对多”联系,但多方可已是0个或多个3. 实体集的属性说明:读者(读者号,读者姓名,性别,学院,读者类型,入学日期,电话,身份证号)图书(书号,书名,书籍状态,主编,作者,出版社,图书类型,出版日期,版本,价格)管理员(管理员号,姓名,性别,身份证号)采购员(采购员号,姓名,性别,身份证号)罚单(罚单号,读者号,读者姓名,{书号,书名,超期天数,处罚金额}+,罚单合计)借阅信息(借阅编号,读者号,读者姓名,学院,{书号,借阅书名,是否为续借}+)关系上的属性:读者登记(押金,登记日期)图书登记(登记日期)借阅登记(借阅日期| 归还日期)罚单生成(办理日期)采购(采购日期)二、ER图转化为关系模式:读者(读者号,读者姓名,性别,学院,读者类型,入学日期,电话,身份证号,押金,登记日期,办理人)图书(书号,书名,书籍状态,主编,作者,出版社,图书类型,出版日期,版本,价格,登记日期,采购日期,办理人,采购人)管理员(管理员号,姓名,性别,身份证号)采购员(采购员号,姓名,性别,身份证号)借阅信息(借阅编号,读者号,读者姓名,学院,借阅日期,归还日期,办理人)罚单(罚单号,读者号,读者姓名,罚单合计,办理日期,借阅编号)。
多值属性增加表属性。
借阅书籍(借阅编号,书号,是否为续借)罚单书项(罚单号,书号,书名,超期天数,处罚金额)。
ER图及关系模式
一、E/R图:之阿布丰王创作
二、关系模式:
1、班级表(班级ID,班级名,学校名,系名,年级)
2、用户表(用户ID,邮箱,密码,真实姓名,年龄,联系电话,工作单位)
3、创建班级申请表(申请ID,学校名,系名,年级,班级名,同意
标记,申请时间,用户ID)
4、留言内容表(留言ID,详细内容,留言时间,成员ID,班级ID)
5、班级存在成员表(班级ID,成员ID,成员权限,加入时间)
6、成员申请加入班级表(成员ID,班级ID,申请时间,同意标记)
7、系统管理员表(管理员名,密码,权限标识表记标帜,任职时间)
8、日志表(日志ID,成员ID,日志内容,发表时间,心情,浏览次数)
9、系统公告表(公告ID,公告内容,发布时间,发布人)
10、班级公告表(公告ID,班级ID,公告内容,发布时间)
11、班级信箱(信息ID,发送用户ID,收信用户ID,信息内容,发送时间,状态标记)
12、系统信箱(信息ID,用户ID,信息内容,发送时间,阅读标记,接收发送标记)
注释:带下划线的是该表的主键,字体为蓝色的是外键。
建立ER图根据具体语义把ER图转换为关系模式
4、数据库设计方法
手工试凑法 规范设计法 数据库设计工具与CASE工具
5、数据库设计步骤(阶段)
需求分析 概念设计 逻辑设计 物理设计 数据库实施 运行与维护
二、需求分析
任务:调查处理对象,了解现行系统概况,收集基础数 据,明确用户对将要建立的数据库的信息需求和处理需求 (数据需求、加工要求、完整性、一改要求、性能要求 等)。
有三个实体:供应商、项目和零件,其中各实体的 属性如下:
供应商(供应商号,姓名,城市) 项目(项目号,项目名称,城市) 零件(零件号,零件名称,零件颜色,零件数目)
因为一个供应商可以供给多个项目多种零件,而每个项目可
以使用多个供应商提供的零件,每种零件可以由不同的供应商 供给,因此可以看出供应商、项目和零件之间是m:n:p的多对 多联系,供应的一个属性是日期。其ER图如下,
方法:分析和表达用户需求常采用的方法自顶向下和自 底向上两类方法,其中最为实用的是自顶向下的结构化分 析(Structured Analysis,简称SA)方法。
结果:形成系统需求说明书,包括数据字典框架、数据 流图、系统功能框图及其说明,它将作为数据库设计全过 程的重要依据。数据字典包括数据项、数据结构、数据流、 数据存储和处理过程。Βιβλιοθήκη SNAMEAGES﹟
S
S(S﹟,SNAME,AGE,SEX)
C(C﹟,CNAME,TESCHER)
SC
SC(S﹟,C﹟,GRADE)
C
C﹟
CNAME
SEX GRADE TEACHER
[例2]三元联系类型的转换
不管联系类型是何种方法,总是将三元联系类型或 者多元联系类型转换成关系模式,其属性为各实体类 型的码加上联系类型的属性,而码为各实体码的组 合。
ER图到关系模式的转换
• 云服务的普及:随着云服务的不断普及,未来可能会有更多的企业将数据库部 署在云端。因此,ER图到关系模式的转换工具需要支持云端部署和云服务的 功能。
根据需要创建其他必要的索 引、约束和触发器等数据库 对象。
结果验证及优化建议
验证转换结果的正确性
检查生成的关系模式是否符合ER图的设计要求, 包括实体类型、关系类型和属性的转换是否正确 。
数据完整性保障
确保数据库中的数据完整性和一致性。例如,通 过创建触发器来自动更新库存数量或记录订单状 态变更等操作。
02
关系类型
商品和订单之间存在“被订购”关系 ,用户和订单之间存在“创建”关系 ,用户和地址之间存在“拥有”关系 。
03
属性
每个实体类型和关系类型都有相应的 属性,如商品的价格、库存等。
转换过程详解
将每个实体类型转换为一个 关系模式,关系模式的名称 与实体类型的名称相同。例 如,商品实体类型转换为商 品(商品ID,商品名称,价 格,库存)关系模式。
属性
属性是与实体相关联的特征或数据元 素,用于描述实体的性质或特征。例 如,一个“人员”实体可能具有属性 如姓名、年龄和地址等。
联系与关系
联系
在ER图中,联系表示实体之间的关系或交互。它们通过菱形 形状表示,并在菱形中标注联系的名称。联系可以是一对一 、一对多或多对多等。
关系
关系是联系的具体实现,描述了实体之间如何相互关联。例 如,一个“订单”实体可能与一个“客户”实体存在“下单 ”关系。
图书管理系统ER图数据流关系模式
E-R图:
数据流图:
关系模式:
管理员(管理员账号,姓名,性别,电话,住址)
账号信息(账号,密码,账号类型)
读者(读者账号,读者类型,是否可用,姓名,性别,系别,班级,邮箱,余额)
读者类型(读者类型,借书上限,借书最大时间,最大续借次数)书籍(条形码,ISBN,书籍状态,书架编号,损坏程度)
某类书籍(ISBN,书名,作者,主题,出版社,页数,价格,书籍类型编号,出版日期,库存量,在馆数量)
书籍类型(书籍类型编号,书籍类型)
书架(书架编号,条形码,阅览室编号)
阅览室(阅览室编号,阅览室名称,阅览室位置)
读者借阅表(读者账号,条形码,借出日期,续借次数)
读者归还表(读者账号,条形码,借出日期,实际归还日期,续借次数)
数据库字段定义说明:(可根据这个编写数据项)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教师姓名 属性名,讲授该课程的老师的姓名。
三、数据字典
用户方面的对象:
对象
李国华 王要强 张承先
描
述
用户名,数据库管理员。
用户名,数据录入员。
用户名,学校教学主管。
一、学生信息与成绩数据库ER图
1、实体类型。
学号
姓名 年龄 性别 所在系
学生
课程号 课程名 学分学生信息与成绩数据库ER图
2、实体类型之间的联系。
学生
联系
课程
成绩
课程
联系
教师
一、学生信息与成绩数据库ER图
3、完整的ER图。
学号 姓名 年龄 性别 所在系
课程号 课程名
姓名
学生 联系 成绩
性别 属性名,描述学生在生理上的男女区别。
年龄 属性名,描述学生年龄大小。
系 属性名,说明一个学生在哪个系学习。
三、数据字典
对象
描
述
课程 关系名,描述课程有关信息。
课程号 属性名,为每门课程分配的唯一性标识, 可能有编码格式要求。
课程名 属性名,为每门课程所取的名称。
学分
属性名,描述一门课程的信息量,与讲授 的学时相对应。
教师姓名,) 选课(学号,课程号,成绩)
三、数据字典
数据库的数据字典实际上是对数据库中各种对象
的描述,也就是说明它们的语义,即用自然语 言说明它们的含义。
对象
描
述
学生 关系名,描述一个学校学生的基本信息。
学号 属性名,为每个学生分配的唯一性号码,作 主键,可能有编码格式方面的要求。
姓名 属性名,学生的正式名称,要求是汉字。
二、数据库的关系模型
3、优化后的关系模型。 优化过程中,可能合并一些关系(如两个一
对一联系的关系),删去一些联系,也可 能把一个复杂的关系分解成多个关系。也 可能去掉或增加一些信息(只是少量的, 如果变化较大,需要重新建立ER模型)。
学生(学号,姓名,性别,年龄,系) 课程(课程号,课程名,学分,
课程
学分
联系 教师
职称 年龄
二、数据库的关系模型
1、关系模型。 一般形式:关系名(属性名1,---,属性名n) 学生信息与成绩数据库的关系模式如下:
学生(学号,姓名,性别,年龄,系) 课程(课程号,课程名,学分) 教师(姓名,职称,教师年龄) 选课(学号,课程号,成绩) 讲授(课程号,教师姓名,)
二、数据库的关系模型
2、关系模型的优化。 根据实际需要,对上面的模型进行优化。学生信息
不变,由于教师与课程联系中,一门课程只有一 个教师讲授,可以把教师的信息放到课程中去。 这样就可以去掉教师和讲授两个关系。
学生(学号,姓名,性别,年龄,系) 课程(课程号,课程名,学分,教师姓名,
职称,教师年龄) 教师(姓名,职称,教师年龄) 选课(学号,课程号,成绩) 讲授(课程号,教师姓名,)