第二章 数据库设计和ER模型(ans)
- 格式:doc
- 大小:112.50 KB
- 文档页数:6
数据库设计及ER图1.数据库设计流程数据库作为数据的一个容器,不但对程序的performance有很大的影响,而且对应用程序的扩展有非常大的影响.所以对应用程序来说,一个具有良好设计的数据库是非常重要的.那么如何才能设计出性能好,又支持扩展的数据库呢?这是我们大家都要去探索的问题.现在有很多版本的数据库设计的流程.然而这也只是目前阶段能设计出一个比较好的数据库的一个途径.更好更优的数据库设计流程是我们追求的目标.但是现在,我们先来了解下目前阶段标准的数据库设计流程.以助于我们在开发应用程序的时候能用到.先来看下一张数据设计流程图上图是数据库设计一个比较标准的流程图.我们就针对这个流程来讲解数据库设计各个阶段.需求分析阶段1我们在需求阶段注意两点:1:考虑到可能的扩充和修改,是设计能易于修改和扩展2:强调客户参与:目的有几个:更好的理解客户的需求,了解客户的对程序安全性和完整性的要求,以及用户的处理需求.概念结构设计阶段在这个阶段我们要设计出能真实反应客观事物的模型,同时让设计的模型能易于理解,易于扩展,能方便的向其他数据库转移.逻辑结构设计1:作为对象信息的属性,必须具有原子性的.也就是.我们在画ER图的时候,对象间的关系必须是实体之间的关系,不能是属性和实体的关系.2:确定数据之间的依赖关系(要极小化出来各个关系,消除冗余),同时要按照数据依赖理论对关系模型进行检查.数据库物理设计阶段数据的存储结构以及配置数据库实施阶段定义数据库的结构,数据的装载,以及数据库的试运行.数据库运行和维护阶段要注意数据的转储和恢复,数据库的安全性和完整性控制.数据库的性能的监督,分析和改造以及数据库的重构2.数据库设计范式第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。
例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:一是重复存储职工号和姓名。
数据库设计中的ER模型介绍与应用数据库是应用程序中非常重要的一部分,对于企业来说,数据库是财富的积累和管理的重要手段。
在现代化企业信息化建设过程中,数据库的设计显得尤为重要。
ER模型是数据库设计中最流行和最常用的建模方法之一。
下面将逐步介绍ER模型的基本概念、关系对象、ER图以及实体关系设计。
一、基本概念1.1 数据模型数据模型是指对某一事物的相关数据进行的抽象和描述。
在数据库设计中,数据模型是结构化描述实体、联系、属性及它们之间关系的一种方法。
1.2 ER模型ER模型是一种基于实体关系的数据模型。
其核心概念是实体、属性、关系和联系。
这些概念构成了一个数据库系统的基本结构。
这个模型最早是由彼得·钱伯斯于1975年在一篇论文《实体类型和实体关系之图形表示法》中提出的。
1.3 实体(Entity)在ER模型中,实体是指一类现实世界中的对象或概念,其在该类中具有一定的独立性,可以由一个单一的或多个属性来描述。
例如,在一个学生信息管理系统中,学生就是一个实体,其属性可以包括姓名、性别、出生日期、学号等。
1.4 属性(Attribute)属性是指实体具有的特征或性质。
一个实体可以拥有一个或多个属性,属性可以比较简单,也可以非常复杂。
属性还可以用来描述一个实体在现实世界中的状态。
在上述学生信息管理系统中,姓名、性别、出生日期和学号都可以看作是学生的属性。
1.5 关系(Relationship)关系是指实体之间的某种联系或关联。
它是指两个实体之间或多个实体之间的静态或动态连接。
例如,在一个课程成绩管理系统中,学生和课程之间就存在着学生选课这种关系。
1.6 联系(Relationship Instance)联系的实例是指一种具体的关系,即一个实体和另一个实体之间的实际关联。
例如,在学生选课管理系统中,具体的某个学生选了某门课程就是一个联系的实例,它体现了这两个实体之间的关系。
二、关系对象在ER模型中,关系对象主要包括实体、属性、关系三种。
第二章数据库设计和ER模型学习目的与要求:本章总的目的要求是了解和掌握数据库应用系统设计的全过程。
首先掌握ER模型和关系模型的基本概念,然后掌握概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型转换方法。
考核知识点与考核要求2.1数据库系统生存期(领会)2.2ER模型的基本概念(综合应用)2.3关系模型的基本概念(综合应用)2.4ER模型到关系模型的转换规则(综合应用)2.5ER模型实例分析(简单应用)2.6增强ER模型(简单应用)从软件生存期谈起软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。
它包括六个阶段:( 规需设编试运维 )(1)规划阶段(2)需求分析阶段(3)设计阶段(4)程序编制阶段(5)调试阶段(6)运行维护阶段2.1 数据系统生存期1.什么叫数据库系统生存期?我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。
2.这个生存期一般可划分成以下七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。
2.2 ER模型的基本概念1.ER模型的基本元素实体、联系和属性2.属性的分类(简单属性和复合属性、单值属性和多值属性、存储属性和派生属性)3.联系的设计4.ER模型的操作(分裂、合并和增删)5.采用ER模型的数据库概念设计步骤采用ER方法进行数据库概念设计分成三步进行:首先设计局部ER模式然后把各局部ER模式综合成全局ER模式最后对全局ER模式进行优化2.3 关系模型的基本概念1.关系模型定义:用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。
2.基本术语有:字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。
在这里,括号中的表述为关系模型中的术语。
它与表格中术语可以一一对应。
还有,关系中属性个数称为元数,元组个数为基数。
数据库设计及ER模型数据库设计1.第⼀范式(确保每列保持原⼦性)基本的范式,保证数据库表中的所有字段都不可再分解。
2.第⼆范式(确保表中的每列都和主键相关)在第⼀范式的基础上,第⼆范式需要表中的每⼀个字段都和主键相关,也就是说只能存在⼀种类型的数据。
不可把多种类型数据放在⼀个表中。
3.第三范式(确保每列都和主键列直接相关,⽽不是间接相关)在满⾜前两个范式的基础上,第三范式需要确保数据表中的每⼀列数据都和主键直接相关,⽽不能间接相关。
1.1第⼀范式错误:表中的字段还可以再次分解,再拆。
正确:表中字段不可以再分解。
第⼆范式 错误:表中订单号和商品id是主键,表中的字段没有和所有主键关联,再拆分正确:表中的⽆关联的字段重新创建表,每⼀个表中的所有字段都和主键相关联第三范式错误:表中的客户信息和商品信息⽆直接关联,再拆再拆:将间接关联的信息再创建表,每个表的字段信息都是直接关联的最终实现的⽬标E-R模型E-R模型的基本元素是:实体、联系和属性实体:现实⽣活中任何可以被认知,区分的事物。
联系:实体之间的关系,可以⼀点⼀,⼀对多哟,多对多。
属性:实体的某⼀特性称为属性。
关系也是⼀种数据,需要通过⼀个字段存储在表中1、⼀对⼀:⼀对⼀关系是最好理解的⼀种关系,主键可以设置为在两个表中的任意⼀个表在数据库建表的时候可以将⼈表的主键放置与⾝份证表⾥⾯,也可以将⾝份证表的主键放置于⼈表⾥⾯2、⼀对多:主键应存放在多的表中1端是⽗亲,多端是⼉⼦,所以多端具有1端的属性,也就是说多端⾥⾯应该放置1端的主键,那么学⽣表⾥⾯应该放置班级表⾥⾯的主键3、多对多:新建⼀张表C,这个表只有两个字段,⼀个⽤于存储A的主键值,⼀个⽤于存储B的主键值对于多对多关系,需要转换成1对多关系,那么就需要⼀张中间表来转换,这张中间表⾥⾯需要存放学⽣表⾥⾯的主键和课程表⾥⾯的主键,此时学⽣与中间表⽰1对多关系,课程与中间表是1对多关系,学⽣与课程是多对多关系。
数据库系统生存期可以划分为规划阶段、需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实现阶段和运行与维护阶段。
数据库系统概念设计阶段的基本工具是实体联系模型(E-R 模型)。
E-R模型的基本元素为:实体、联系和属性。
实体是一个数据对象,指应用中可以区别的客观存在的事物。
在E-R模型中,实体用方框表示,方框内注明实体的命名。
联系表示一个或多个实体之间的关联关系。
在E-R模型中,联系用菱形表示,并用线段将其与相关的实体边接。
实体的某一特性称为属性。
在一个实体中,能够唯一标识实休的属性或属性集称为实体标识符。
在E-R模型中,属性用椭圆形框表示,加下画线的属性为标识符。
通常,实体的命名采用某个名词(如学生、课程等),联系的命名采用某个动词(如选修、讲授等)。
一个联系涉及的实体集个数,称为该联系的元数或度数。
通常,同一个实体集内部实体之间的联系称为一元联系(也称为递归联系);两个不同实体集或实体之间的联系称为二元联系;三个不同实体集或实体之间的联系称为三元联系。
以此类推。
两个实体型之间的联系可以分为以下3类:一对一联系(1:1)。
如果对于实体集A中的每一个实体,实体集B中最多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。
记为1:1。
一对多联系(1:N)。
如果对于实体集A中的每一个实体,实体集B中有N个实体(N>=0)与之联系,反之,对于实体集B中的每一个实体,实体A中最多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为:1:N。
多对多联系(M:N)。
如果对于实体集A中的每一个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中也有M个实体与之联系,则称实体集A与实体集B具有多对多联系,记为M:N。
在E-R模型中,实体通过一组属性来表示,而属性是实体集中每个成员具有的性质描述。
根据属性取值的不同将其划分为简单属性、复合属性、单值属性、多值属性、NULL属性和派生属性等:简单属性:指它们不能再划分为更小的部分,如课程名。
数据库设计中的关系模型与ER模型在数据库设计中,关系模型和实体-关系(ER)模型是两种常用的模型,用于描述和规划数据库结构。
关系模型是一种基于表格的模型,而ER模型则强调实体、关系和属性之间的关系。
一、关系模型关系模型是最常见和广泛使用的数据库模型之一。
它基于数学关系理论,通过表格的形式来表示数据之间的关系。
关系模型主要由以下几个要素组成:1. 表格(关系):关系模型使用表格来存储数据,每个表格表示一个实体集。
表格由行和列组成,行代表元组(实体的一个具体实例),列代表属性。
2. 元组(tuple):元组是表格中的行,代表了一个具体的实体实例,每个元组的属性值对应该实体的属性值。
3. 属性(attribute):属性是元组的列,表示实体的某个特征。
4. 关键字(primary key):关键字是表格中的一个属性或属性组合,用于唯一标识一个元组。
5. 外键(foreign key):外键是关系模型中不同表格之间的关系,它通过引用其他表格的关键字来建立关联关系。
6. 组合关系(composite relationship):组合关系是关系模型中的一种关系类型,用于建立多个实体之间的关联关系。
关系模型的优点是结构清晰、容易理解和维护,数据操作相对简单。
但它也有一些限制,例如对复杂关系的处理不够灵活,无法表达实体之间的继承关系等。
二、实体-关系(ER)模型实体-关系(ER)模型是由彼得·钱(Peter Chen)在1976年提出的,它通过实体、关系和属性之间的图形表示来描述数据库结构。
1. 实体(entity):实体代表现实世界中的一个具体事物,可以是一个对象、人、地点等。
实体在ER模型中用矩形表示。
2. 属性(attribute):属性是实体的特征或性质,用椭圆形表示。
3. 关系(relationship):关系表示实体之间的联系,可以是一对一、一对多或多对多等。
关系在ER模型中用菱形表示。
4. 箭头(cardinality):箭头表示实体之间的关系类型,如一对一关系、一对多关系等。
第二章 数据库设计和ER 模型
(单选)在数据库规划阶段,包括在数据字典中Ⅰ.数据项、数据流;Ⅱ.数据结构、数据存储;
ER 模型图例
(单选)
如下图所示是一个ER 模型,下列对其基数描述最为合理的是一个学生最少需要选1门课程,最多选6门课程;每个课程多最可以被50个学生选修。
(单选)关系中元组在组成主要的属性上不能有空值。
(单选)在数据库设计中,将E-R 图转换成关系数据模型的过程属于逻辑设计阶段。
(单选)将数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统的生存期。
(单选)数据字典是对数据描述的集中管理。
(单选)将概念模型转换逻辑模型是数据中逻辑设计阶段的主要步骤之一。
(单选)表示数据库的概念模型一般使用ER 图。
(单选)ER 模型中所指的实体一般是实体集。
(单选)一个联系涉及到的实体集个数,称为该联系的度数。
(单选)采用ER 模型进行数据库的概念设计,可以分成三步进行,下列正确的是先设计局部ER 模型,然后合成全局模型,最后体优进行整化。
(单选)下列不属于全局ER 模型的优化目的的是优化存储结构。
(单选)关系模式是对关系的描述,一般表示为关系名(属性名1,属性名2,…,属性名n )。
(单选)已知有关系表R (如下表所示),其元数和基数正确的是数为6,基数为3. (单选)下列哪个不可以为空主键。
(单选)区别一个元组与另一个元组靠的是元组的属性而不是顺序,所以关系中的元组没有先后顺序。
(单选)表中可以唯一确定一个元组(一个记录)的某个属性组(字段组)称为主键。
(单选)若某个属性组不是关系A 的主码,但它是另一个关系B 的主码,则称属性或属性组称为关系A 的外键。
(单选)现有一个公司员工记录表,如下表所示内容,如果想以员工号为查询元组的标志,那
(单选)有一个关系:学生(学号、姓名、系别),规定学号的值域是8个数字组成的字符串,这一规则属于用户自定义完整性约束。
(单选)子类与超类之间具有继承性特点,即子类实体继承超类实体的所有属性。
但子类实体本身还可以包含比超类实体更多的属性。
(填空)实体联系模型(ER模型)的基本元素是实体、联系、属性。
(填空)实体是一个数据对象,指应用中可以区别的客观存在的事物。
(填空)为了维护数据中数据与现实的一致性,关系数据库的数据与更新操作必须遵循三条规则,它们分别是:实体完整性规则、参照完整性规则、用户定义的完整性规则。
(填空)一个实体对于另一个实体具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,而称该实体为弱实体。
(简答)数据库系统的生存期共有几个阶段,分别是什么?
答:共有七个阶段,分别为:
(1)规划阶段;
(2)需求分析阶段;
(3)概念设计阶段;
(4)逻辑设计阶段;
(5)物理设计阶段;
(6)数据库的实现;
(7)数据库的运行与维护。
(简答)数据库概念设计的任务有哪些?
答:(1)进行数据抽象,设计局部概念模型;
(2)将局部概念模型综合成全局概念模型;
(3)评审。
(简答)ER模型的基本概念中,属性被分为哪几类?
答:(1)简单属性和复合属性;
(2)单值属性和多值属性;
(3)存储属性和派生属性;
(4)允许为空值的属性。
(简答)简述将ER模型转换成关系模型的基本原则。
答:(1)一个实体集转换为一个关系模式。
(2)一个M:N联系转换为一个关系模式。
(3)一个1:N联系可以与N端对应的关系模式合并(1的关键字放入N的关系中)。
(4)一个1:1联系可以与任意一端对应的关系模式合并。
(5)三个或三个以上实体间的多元联系转换为一个关系模式。
(6)同一实体集间的联系(自联系),可按上述1:1、1:M和M:N三种情况分别处理。
(设计)某高校设备采购管理系统涉及三类实体:部门、供应商和设备。
其中,部门的属性有:部门编号、部门名称、负责人;供应商的属性有:供应商号、供应商名、城市、经理;设备的属性有设备编号、设备名称、设备型号、单价、生产厂商。
用ER图表示这些实体以及某部门从某供应商采购某种设备的信息,包括采购的日期和数量。
要求:
(1)画出ER图;
(2)将其转化为关系模式。
解:(1)ER图
N城市
(2)关系模式:
部门(部门编号,部门名称,负责人);
供应商(供应商号,供应商名,经理);
设备(设备编号,设备名称,设备型号,单价,生产厂商);
采购(部门编号,供应商号,设备编号,日期,数量)。
(设计)某工厂欲建立一个人事管理系统,该系统包含部门信心,职工信息、产品信息,其中部门属性包括:部门编号、部门名称、部门电话,部门负责人;职工信息的属性包括:职工编号、姓名、性别、工龄、职称、所在部门编号;产品属性包括:产品编号、产品名称、产品型号;员工会参加不同产品的生产过程,并需要指出它的月产量,根据以上说明完成以下要求:
(1)画出ER图;
(2)将其转化为关系模式。
(2)将其转化为关系模式
部门(部门编号#,部门名称,部门电话,部门负责人)
职工(职工编号#,姓名,性别,工龄,职称,部门编号#)
产品(产品编号#,产品名称,产品型号)
参加(职工编号#,产品编号#,月产量)
(设计)某图书馆欲建立一个图书管理系统,该系统包含图书,读者,职工的信息,其中图书的属性包括:图书编号、名称、类别、作者、出版社、价格、数量要求等;读者的属性包括:借书证号、姓名、性别、身份证号、住址;职工属性包括:职工编号、姓名、性别、工龄;用E-R图表示出实体职工日常维护图书,及读者借阅图书的过程,对于借阅的图书需要指出它的借出日期和归还日期,根据如上条件,完成以下需求:
(1)画出ER图;
(2)将其转化为关系模式。
解:(1)ER图:
(2)将其转化为关系模式
图书(图书编号#,名称,类别,作者,出版社,价格,数量)职工(职工编号#,姓名,性别,工龄)
维护(职工编号#,图书编号#)
读者(借书证号#,姓名,性别,身份证号,住址)
借阅(借书证号#,图书编号#,出借日期,归还日期)
(综合)现有如下图的ER图:
(1)根据所给的模型图设计相应的关系数据模型;
(2)如果在上述模型中,从实体“社团”到实体“学生”之间的联系类型改为一对多(1:M),请设计相应的关系数据模型;
(3)对于1:M的联系类型,写出向关系模型转换应遵循的原则。
解:(1)学生(学号,姓名,性别,出生日期)
社团(社团号,社团名称,负责人,电话)
参加(学号,社团号,加入社团时间)
(2)学生(学号,姓名,出生日期,社团号,加入社团时间)
社团(社团号,社团名称,负责人,电话)
(3)将一个实体转换为一个关系模式,实体的属性就是关系的属性:将一个1:M的联系所连的“一”方实体的主码以及联系本身的属性加入到“多”方的关系模式中。