项目二:数据库设计

一,为什么需要设计数据库

良好的数据库设计

1.节省数据的存储空间

2.能够保证数据的完整性

3.方便进行数据库应用系统的开发

糟糕的数据库设计

1.数据冗余、存储空间浪费

2.内存空间浪费

3.数据更新和插入的异常

二,数据冗余

数据冗余:指数据重复的现象

数据存在冗余,但为减少数据查找的麻烦,允许数据有一定的冗余。

数据完整性

数据完整性:指数据的准确性

存在不正确、不准确的数据,数据库“失去了完整性”。

三,概念

数据(Data)是描述事物的符号记录。

模型(Model)是现实世界的抽象。

数据模型(Data Model)是数据特征的抽象,包括数据的结构部分、数据的操作部分和数据的约束条件。

四,数据库的设计步骤

概念模型:把现实世界转换为信息世界的模型,E-R模型

实施模型:把信息世界转化为数据世界使用的模型,关系模型

五,模型

层次模型

网状模型

关系模型

此为二维表格

关系模型的特点

关系模型中基本数据结构是二维数据表,且必须满足相应的要求:

(1)表说明的是关系模型中某一特定的方面或部分的对象及其属性

(2)表中的行通常叫做记录或元组,代表具有相同属性的对象中的一个

(3)表中的列通常叫做字段或属性,代表存储对象的共有的属性

(4)数据表之间的关联通过“键”来实现的,键分为主键和外键两种。

(5)表必须符合某些特定条件

①信息原则:每个单元只能存贮一条数据;

②列有唯一性的名称,贮存在列下的数据必须具有相同数据类型;列没有顺序;;

③每行数据是唯一的;行没有顺序;

④实体完整性原则,即主键不能为空;

⑤引用完整性原则,即外键不能为空;

概念模型

建模:把现实世界转换为信息世界的模型,E-R模型

建模步骤:

收集信息:

与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务

标识对象(实体-Entity)

标识数据库要管理的关键对象或实体
标识每个实体的属性(Attribute)

标识对象之间的关系(Relationship)

E-R模型

主码:也叫关键字,实体集中的属性或最小属性组合的值能唯一标识其对应实体,则将该属性或属性组合称为码。对于每一个实体集,可指定一个码为主码。

E-R图设计步骤

对于复杂的系统,E-R图设计通常都应经过以下两个阶段:

(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于E—R图的简化。

(2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体E—R图必须能导出原来的所有局部视图,包括实体、属性和联系。

E—R模型到关系模型的转换

把E-R图转换为关系模型可遵循如下原则 :

(1)对于E—R图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。

(2)对于E—R图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。

E-R模型到关系模型的转换总结

假设A实体集与B实体集是1:1的联系,联系的转换有三种方法:

①把A实体集的主关键字加入到B实体集对应的关系中,如果联系有属性也一并加入;

②把B实体集的主关键字加入到A实体集对应的关系中,如果联系有属性也一并加入;

③建立第三个关系,关系中包含两个实体集的主关键字,如果联系有属性也一并加入。

两实体集间1:n联系

两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。
两实体集间m:n联系

对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。

概念结构设计

概念结构设计- E-R图方法

实体关系图:简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。

实体型(Entity):具有相同的特征和性质的集合体,用实体名及其属性名来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体

属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。

联系(Relationship): 数据对象彼此之间相互连接的方式称为联系,也称为关系。

一对一(1:1)联系

一对多(1:m)的联系

多对多(m:n)联系

Last modification:October 12, 2023
If you think my article is useful to you, please feel free to appreciate