目录
一、前言
这个学期开始学习数据库了,555,于是决定建立一个专栏记录学习的过程。
加油~
今天的课主要是要弄清表(table)、列首的概念,以及关系模型术语中的
关系(relation)、元组(tuple)、属性(attribute)、域(domain)、
关系实例(relation instance)。
在知道这些名词的意思与概念后,我们能用这些名词更方便的交流与学习这门课程的内容(好耶,学习加速),并且能够对数据库的概念加深理解。
二、主要内容
1、认识表、列首
表:
关系数据库是由表的集合构成的,其中每个表都有唯一的名字。
简单而言,关系数据库是很多如下表构成的,其中每个表都有名字,且一个关系数据库中的表不会重名。
以下是一个名为男孩关系的表,请忽略这两位男孩过于好的运动天赋,其中的每一行记录了一个男孩的信息(ID、姓名、身高、年龄)。
ID | 姓名 | 身高 | 年龄 |
1 | 小明 | 192 | 12 |
2 | 小刚 | 172 | 4 |
男孩关系
列首:
列首就是每一列最上面的那个像名字一样的东西,如男孩关系表中列首为——ID、姓名、身高、年龄。
2、一些关系模型术语
元组(tuple):
元组用来指代行。一个n元组就是有n个值的元组。
如下,蓝圈中为一个4元组,其中包含四个值(具体而言元组中是一个男孩的信息)
(以上值的概念是抽象的 可以是小明这样的字符串 可以是1这样的整数)
属性(attribute):
属性指的是表中的列,属性名则对应表的列首。如男孩关系表中有4列,即有四个属性。
其中每个属性的属性名为:ID、姓名、身高、年龄
ID | 姓名 | 身高 | 年龄 |
1 | 小明 | 192 | 12 |
2 | 小刚 | 172 | 4 |
男孩关系
关系(relation):
关系指的是整个表,如下方的男孩关系表。
为什么表要叫关系呢?:因为表中一行对应了一组值之间的联系,比如数字1是小明的ID,姓名为小明的男孩的身高为192。而表是一组这样的联系的集合(如给出了很多的ID与姓名的联系,ID1对应姓名小明,ID2对应着姓名小刚,而表里面每个实例都给出了一个ID与姓名的联系),所以表叫做关系,其中的每个元组都给出了同样对应方法的一组值。
ID | 姓名 | 身高 | 年龄 |
1 | 小明 | 192 | 12 |
2 | 小刚 | 172 | 4 |
男孩关系
关系实例(relation instance):
关系实例就是一种关系中的一个实例,具体则为表中的一行。
1、关系实例与关系都对应着一种对应关系,如ID、姓名、身高、年龄的对应关系。
2、关系指的是其中包含着的好多遵循这种对应关系的关系实例的一个集合。
3、关系实例指的是一个遵循这种对应关系的实体。
ID | 姓名 | 身高 | 年龄 |
1 | 小明 | 192 | 12 |
2 | 小刚 | 172 | 4 |
男孩关系
域(domain):
关系的每个属性都有着允许取值的集合,这个集合叫做该属性的域。
比如男孩关系中 年龄的域为[0,+∞],姓名的域为{所有可能的男孩姓名}
空值(null):
在记录数据时我们常常遇到关系实例的某个属性确实的情况,这时我们使用null来表示该关系实例的该属性缺失。
ID | 姓名 | 身高 | 年龄 |
1 | 小明 | 192 | null |
2 | 小刚 | 172 | 4 |
男孩关系
如小明的年龄缺失,则为null。