什么是关系型数据库?
关系型数据库是基于关系模型的数据库。关系模型在1970年被提出,是指二维数据表格模型,因此关系型数据库就是一个或多个二维数据表及其之间的联系组成的一个数据组织。
标准数据查询语言(SQL)是基于关系数据库的语言,用于对关系型数据库的数据进行查询和管理。
关系数据库主要包括以下组件:客户端(Client)、服务端(Server)、数据库(Database)。
其中,Client和Server之间以SQL(Structured Query Language)为纽带,Client接收并解析用户指令(SQL对象),发送给Server;Server对Database进行操作,并向Client返回结果。
关系型数据库的特点
(1)数据以二维表格的形式呈现;
(2)每行为各种记录项的名称;
(3)每列为指定记录项名称对应的数据域;
(4)多个行和列形成一张表单;
(5)多个表单形成一个关系型数据库。
关系型数据库的术语
(01)数据库(Database):多个由行和列组成的二维表格(即表单)的关联集合;
(02)数据表(即表单):是数据的二维矩阵。
(03)列:一列(数据元素)属于同一类型的数据,例如数据写入时间;在数据库中经常称之为属性;
(04)行:一行(=元组,=记录)是一组相关的数据;
(05)主键:(=关键字)是可以唯一标识一组元组的属性(即一或多个列):任意一列都可以作为主键,但一个数据表中只能有一个主键,而每一个元组的主键值都不相同,主键列的值不能为NULL,且不接受删除和更新;
(06)外键:用于同一个数据库中两个表单的关联;
(07)复合主键(联合主键):两个及以上个属性组成了主键,才能形成记录的唯一标识;
(08)索引:使用索引可快速访问数据库表中的特定信息,索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录;
(09)参照完整性: 参照的完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性;
(10)数据域:某一个属性的取值范围或要求;
(11)冗余:数据备份,冗余虽然降低了数据操作性能,但提高了数据安全性。
接下来详细介绍一下主键、外键,便于读者理解:
(1)什么是主键和外键?
关系型数据库中,一个元组(或记录)包括多个属性,若某一个属性或属性组(一个或多个列)可以唯一标识一条记录,则将该属性组称为该数据表单的主键。
比如一个学生表(学号,姓名,班级),则学号可以作为主键;
比如一个成绩表(学号,课程号,成绩),则学号和课程号的组合成为该数据表单的主键;
成绩表中的“学号”属性,与学生表中的“学号”属性相对应,并且学生表的“学号”属性是学生表中的主键,那么就将成绩表中的“学号”属性称为成绩表的外键。
在此,需要说明,成绩表中的“学号”属性与学生表中的“学号”属性是两个不同的属性,不能视为等同。
即A表中的一个字段(主键或非主键),与B表的主键属性对应,那它就可以是A表的外键。
(2)主键和外键的区别
主键 | 外键 | |
定义 | 唯一标识一条记录,不允许为空值 | 表的外键是另一张表的主键,外键值可以重复,可以为空值 |
作用 | 用来标识记录,实现实体完整性 | 用来进行多表关联 |
个数 | 有且只有一个或一组 | 可以有一个或多个 |