主要是想记录下自己的读书笔记,忘大家理解。数据库是应对信息资源(及大量数据)的管理需求而产生的。数据库管理技术先后经历了三个阶段:人工管理、文件系统、数据库系统。在数据库模型主要有层次模型、网状模型和关系型,使用普及的是关系型----关系型数据库的理论基础。
关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和处理方法来处理数据库中的数据,现实世界中的各种实体之间的各种联系都可以使用关系型数据库。
关系模型以二维表来描述数据。在关系模型中,每个表都有多个字段列和记录行,每个字段列有固定的类型属性(如数字、字符等类型)。关系型数据结构简单,清晰,具有很高的数据独立性。
在关系型数据库中,关系可以看到由行和列交叉的二维表,表中一行可以称为一个元祖,可以用来标识实体集合中的一个实体。表的列称为属性,每一列都有一个属性名,表中的属性名不能相同。列的取值范围称为域,同列都有相同的域(取值范围)。不同的列也可以有相同的域。表中任意两行(元组)不能相同。唯一标识表中不同行属性和属性组称为主键和复合主键。
关系型数据库与传统的二维表数据文件具有类似之处,但是他们也有区别,严格的说,关系是一种规范化的二维表,它的性质如下:
1.属性值具有原子性,不可分解。
2.没有重复的元组及没有重复的行。
3.理论上没有行序,但有时使用可以有行序。
关系型数据库中,关键码(键)的关系型的一个非常重要的一个概念,它通常是行(元组)的一个或几个列(属性)。如果键是由一个列组成,则可以称为唯一键;若多个列(属性)组成的则可以称为复合键,键的主要类型如下:
1.超键:在一个关系中,能唯一标识元组的属性或属性集称为关系的超键;
2.候选键:如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系型候选键;
3.主键:如果一个关系中有多个候选键,则选择其中的一个键作为关系的主键。用主键可以实现关系定义中“表中任意两行(元组)不能相同”的约束。
这里我们举例说明,如学生表里的学号,我们把它设为主键则这个学号只能是唯一的,不能添加相同的学号进行存储。
4外键:如果一个关系R中包含另一个关系A的主键所对应的属性组T,则称为属性组T为关系R的外键,并称关系A为参照关系,关系R是依赖关系。为表示关联,可以将一个 关系的主键作为属性放在另一个关系中,第二个关系中的那些属性就称为外键。
这里我们以商品销售为例。在填写销售单的时候我们把商品的ID设为外键,则查询的时候直接查询商品ID就可以把商品的信息直接带出。
ER模型
在设计数据库的时候,首先需要建立逻辑模型。关系型数据库的逻辑模型可以通过实体和关系组成的图形来标示,这种图我们称它为E-R图,它可以使现实世界中的实体和实体之间的联系转换为逻辑模型。
1、实体和属性:实体是一个数据对象,是指客观存在并可以相互区分的事务。如一个学生、一个员工等。每一个实体由一组属性来表示。如学生他有学号,姓名等属性,其中序号我们可以唯一标识学生这个实体。具有相同属性的实体组合在一起就后就构成了实体集,而实体则是实体集中的某一个特例,例如,王同学这个实体就是学生实体中的一个特例。
在E-R模型中,实体用矩形标示,矩形内 注明实体的命名。实体名常用大学字幕开头的具有意义的英文名来表示,联系名和属性名也可以采用这种方式。如图:
2、联系
在实际应用中,实体之间是存在联系的,这种联系必须在逻辑模型中表现出来。在E-R模型中,联系用菱形表示,菱形框内写明“联系名”,并用“连接线”
将有关实体连接起来,同时在“连接线”的旁边标注联系的类型,两个实体之间的联系可以分为三类:
1.一对一:实体集A中的每一个实体,在实体B中最多有一个实体之间的关联;反之亦然,则称实体集A与实体B具有一对一的联系,可以标记联系为1:1
2.一对多:若对于实体集A中的每一个实体,在实体集B中有多个实体之间的相关;反之对于实体B中的每一个实体,实体集A中最多有一个实体与之相关,则称实体集A与实体集B具有一对多的联系。可以标记为1:n。
3.多对多:若对于实体集A中的每一个实体,在实体集B中有多个实体与之相关;反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之相关,则称实体集A与实体集B具有多对多的联系,可以标记为n:m
举个例,一个读者可以借多本图书及关系则是一对多,标记为1:n
来源:CSDN
作者:Autism丶Deng
链接:https://blog.csdn.net/u011113606/article/details/73384771