关系数据结构及形式化定义

1.1 关系数据结构及形式化定义

1.1.1 关系
关系模型的数据结构只包含单一的数据结构关系,在用户看来,关系模型中数据结构的逻辑结构是一张扁平的二维表。现实世界的实体以及实体间的各种联系均用单一的结构类型,即关系表示。
1.域(domain)
域是一种具有相同数据类型的值的集合。例如:自然数、指数、{男,女}、{0,1}。
2.笛卡尔积
笛卡尔积是域上的一种集合运算,是不可重复的。D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n},其中,每一个元素(d1,d2,…,dn)叫做一个n元组,简称元组。元素中的每一个值di叫做一个分量
一个域允许的不同取值个数成为这个域的基数。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为
在这里插入图片描述笛卡尔积的表示方法:可表示为一个二维表,表中的每行对应一个元组表中的每列对应一个域
3.关系(relation)
D1×D2×…×Dn的自己叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…Dn),
3.1.目(degree)
R是关系的名字,n是关系的目或度。当n=1时,该关系为单元关系,当n=2时,该关系为二元关系。关系是笛卡尔积的有限子集,所以关系是一张二维表,同样表的每行对应一个元组,表的每列对应一个域,每一个列又称为属性,n目关系必有n个属性
如图1.1,把关系SAP的属性名取为域名,即SUPERVISOR,SPECIALITY,POSTGRADUATE,则这个关系可以表示为SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)。
关系数据结构及形式化定义_第1张图片 图1.1:SAP关系
3.2.候选码(candidate key)
若关系中的某一个属性组的值能唯一标识一个元组,而其子集不能,则称该属性组为候选码
若一个关系中有多个候选码,则规定其中一个为主码(primary key)
候选码的诸属性称为主属性,不包含在任何候选码中的属性称为非主属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码
3.3 三类关系
基本关系(基本表或基表):实际上存在的表,是实际存储数据的逻辑表示
查询表:查询结果对应的表
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
基本关系的性质:
(1)列是同质的,即同一个属性,不能性别写在年龄的下面。
(2)不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名。
(3)列(行)的顺序无所谓,即可以任意交换。
(4)任意两个元组的候选码不能相同
(5)分量必须取原子值,这是规范条件中最基本的一条,即分量不可再分(表内不含表)。

1.1.2关系模式
关系模型是型,关系是值。关系模型是对关系的描述,是元组集合的结构主码可以唯一标识一个元组
关系是关系模型在某一时刻的状态或内容。关系模式是静态的、稳定的,关系是动态的、随时间不断变化的
1.定义关系模式
关系模式可以形式化的表示为5元组:R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U中属性所来自的域
DOM 属性向域的映像集合,即说明它们分别出自哪个域
F 属性间的数据依赖关系集合

关系数据结构及形式化定义_第2张图片例如:在Navicant中利用图形界面创建一个学生表student
在这里插入图片描述利用命令方式创建一个student表:

CREATE TABLE student(
sno char(5) primary key,
sname char(8)
sdept char(2)NOT NULL
sclass char(2)NOT NULL
sage numeric(2)
);

1…1.3 关系数据库
关系数据库:所有关系的集合
关系数据库的型和值:
:关系数据库模式,是对关系数据库的描述,包括:若干域的定义、在这些域上定义的若干关系模式。
:关系模式在某一时刻对应的关系的集合,简称为关系数据库。

你可能感兴趣的:(笔记,mysql,数据库)