数据库基础3 关系数据库与关系模型

jk-2048 / 2024-02-24 / 原文

数据库系统的组成

1.硬件平台

2.软件

3.人员

(1)数据库管理员(DBA)

(2)系统分析员、数据库设计人员

(3)应用程序员

(4)最终用户

1.偶然用户

2.简单用户

3.复杂用户

 

关系数据库

关系模型是从表(Table)的处理方式中抽象出来的
在对传统表的操作上,进行数学化严格定义的基础上,引入集合理论逻辑学理论提出的
标准数据库语言(SQL语言)就是建立在关系模型之上的

关系模型三要素解释

一个关系就是一个表

1.数据结构

描述表中各种数据的基本结构形式

2.操作

描述表与表之间可能发生的各种操作(关系运算)

3.完整性约束

描述这些操作应该遵循的约束条件
学关系模型,就是学这个表(table)如何描述、有哪些操作、结果是什么、有哪些约束条件
 
 

关系数据结构

1.域:值的集合

一组具有相同数据类型的值的集合

2.笛卡尔积:所有域中值的任意组合

笛卡尔积是所有域中所有取值的任意组合
笛卡尔积可以看着是关系的域
 

3.关系:笛卡尔积的子集

定义:关系是一组域构成的笛卡尔积的一个子集
关系关联的值的数量称作关系的

4.元组:一个关系中的每个元素(关系表的行)

5.属性:(关系表的列)

码(键):一种特殊的属性,能够唯一地标识一个元组

 
 

关系的数学定义

1.域:列的取值范围

2.元组:一行

元组的每一个值叫做一个分量

3.笛卡尔积:组合,N个域中所有可能组合成的N元组的集合

所有可能的元组
笛卡尔积中的每一个元素称作一个N元组(每个元组有N个变量)

4.关系:有意义的组合

一组域的笛卡尔积的子集
笛卡尔积:所有的组合
关系:有某一方面意义的组合
由于关系的不同列可能来自同一个域,所以为区分,需要为每一个列起一个名字,叫属性名
 

5.关系模式:表的标题(声明)

属性名:域名(属性的类型和长度)

关系模式与关系

类似数据结构与数据

6.度、目:关系包含的属性的数量

7.基数:关系中元组的数量

例:一个三目关系
 

关系的特性

1.关系与行列的位置无关

调换行列位置,不更换某几列的值,关系仍等价

2.不重复性

理论上,关系的任意两个元组不能完全相同
但表(table)不一定遵守此特性

3.属性不可再分

也称作关系第一范式
每个属性必须是最基础的、不可再分的数据类型
关系中不能有复合属性、多值属性machine

关系概念

1.候选码/候选键(Candidate Key)

能唯一的标识一个元组属性组
不一定是单个属性,可以的复数属性构成的属性组
关系当中可能有多组候选码

2.主键/主码(Primary Key)

当有多个候选码时,可以选定一个做为主码

3.主属性与非主属性

主属性:包含在任何一个候选码中的属性
非主属性:不属于任何候选码的属性
全码关系:所有属性都是候选码

4.外码/外键

一个属性组,不是本关系候选码但是与另一个关系的候选码对应
两个关系通常就是靠外码连接起来的
外码是连接多个关系的纽带

总结

关系与表的对应:
关系模式 -- 表标题
属性与属性值 -- 列名与列值
元组 -- 行/记录
 

关系完整性

1.实体完整性

关系的主码属性值不能为空NULL/NAN
空值:不知道、不存在、无意义的值

空值

 
 

2.参照完整性

对于外码,在一个表中可以取空值
但若不取空值,他必须取他连接的外部表的主码中的某值
 

3.用户自定义完整性

用户在具体的应用环境定义的完整性约束条件
(类似写在C#属性中的保护逻辑)