【数据库设计】概念结构设计

发布于:2024-10-18 ⋅ 阅读:(11) ⋅ 点赞:(0)

引入——整体解释

上次我们讲完了关系模型,这次我们来讲新的章节:数据库设计

该怎样有效地管理和存储现实中的数据?答案是设计一个优秀的数据库。现实中的数据转化成关系表中的数据需要经过四个主要的设计步骤。

现实世界需求分析——>概念结构设计——>逻辑结构设计——>物理结构设计
注:物理结构设计其实就是表的形式

现实世界需求分析很容易理解比如要开发一个学生选课系统,这时候就需要设计一个存储和管理学生的数据库。其余三个阶段的设计使用不同的方式表示数据,我们说过描述数据和数据之间关系的叫数据模型,换言之,各个阶段有各自的数据模型。设计一款数据库的最终目的是将概念数据模型转化成物理数据模型。

概念结构设计

即将现实世界里的客观事物和它们之间的联系抽象成实体(entity)和关系(relation),叫E-R模型。此模型属于基于对象的逻辑模型,用来描述现实世界中的数据对象及其关系。

E-R模型组成

实体:可以指现实世界中的人或事物,比如你自己,再比如公司里的职员,学校里的学生,但这种数量多的叫实体集。

属性:实体集可以有单个或者多个特征来描述,比如学校里的学生,是个实体集,可以有学生号、学生姓名等属性来描述。属性其中:可以唯一区分实体的叫标识符,如:

多个组合在一起能唯一区分实体的叫复合标识符,如:

联系:就像现实世界里人与人之间人与事物之间的联系,此处可以指实体之间的联系也可以指实体里各个属性之间的联系。但E-R模型中的联系通常指实体与实体之间的联系,并且联系用动词来表示,比如:

学生表和课程表之间的联系是“选课”。

E-R图

以上元素可以用图来表示:

如上图:Student表示实体,用矩形表示,属性用椭圆表示,标识符用下划线来标出。

课程表的类似。

如下图:联系用菱形表示,即图中的SC,在两端标注上联系类型,这里是n:m,即每一个学生可以选多门课,每一门课也可以被多个学生选择。

联系类型

可以分成一元、二元、三元联系。

一元:指实体集之间内部的联系,比如学生实体集中存在“同级管理”的联系,有班干部管理其余学生的联系,此联系是“同级管理”

二元:即两个实体之间,如学生与课程之间。此联系是“选课”

二元联系又包含上面说的多对多(n:m),还有1:1,1:n,n:1。

1:1

n:1

三元:即三个实体之间,如学生与学校与课程之间。该联系是“学习”,用一句描述:学生在学校选课学习。

通常情况下会将三元联系转化成二元的:创设一个新的实体,然后之前的每一个实体都与新实体建立联系,也就变成了新实体和旧实体的二元联系。比如图中新的实体是“修读计划”,与旧实体之间的联系分别是“包含”、“选择、“制定”。