2.1关系及其相关概念
第2章.数据库关系模型
- 2.1关系及其相关概念
- 2.2关系模型原理
- 2.3 PostgreSQL数据库关系操作实践
2.1关系及其相关概念
1.关系、实体
实体(entity)——是指包含有数据特征的事物对象在概念模型世界中 的抽象名称。
例 在企业信息系统中,人员信息可以使用“雇员(EMPLOYEE)”实体名称表示,并用实体模型符号可视化表示如下。
实体之间的联系:
从用户的需求来进行获取,在日常生活的环境中,实体间的关系有很多种, 例如一元、二元、多元关系
2. 关系
在关系模型中,使用“关系”来存储“实体” 和”实体之间的联系”中的数据。 关系(relation)——是指具有关系特征、用于存放实体数据的二 维表。关系也常被称为关系表。
3. 关系特征
三、关系的数学定义
关系R只是该笛卡儿积的有意义子集,即关系R的元组数<=笛卡儿积的元组数。
【例 】若一个“学生”实体有(学号,姓名,性别)三个属性。
我们可以使用D1、D2、D3域来定义它们,并假定它们的域值范围如下:
- D1=
- D2=
- D3=
在本例中,D1,D2,D3的笛卡儿积为: D1×D2×D3={(2017010001,刘京,男),(2017010001,刘京,女 ),(2017010001,夏岷,男),(2017010001,夏岷,女),… ,(2017010003,周小亮,女)}。共计18个元组。
但是,关系呢?如下图:
关系表中关系的特征:【用于判断一个表是否为关系表】
• 单元格必须是原子的, 只能存储单个值
• 每个属性列定义同一数据类型或取值同一域
• 任意两个元组不能完全相同--不允许有重复的行
• 不同属性列定义不同列名 --不允许有重复的列
• 列顺序可任意交换
• 行顺序可任意交换
关系的键
在关系中,可以用来唯一标识元组的属性列,称为键(Key),其它属性列都为非键列。
1.复合键
复合键(Compound Key)——是指关系中用来唯一标识元组的多列作为 键。
2.候选键
候选键(Candidate Key)——关系中可能有多个列均适合作为键,将其 中每个都称为候选键。
3.主键
主键(Primary key)是关系表中最有代表性的一个候选键,每个关系表 中只能定义一个主键
主键作用:
- 唯一标识关系表的每行(元组)
- 与关联表的外键建立联系,实现关系表之间连接
- 数据库文件使用主键值来组织关系表的数据存储
- 数据库使用主键索引快速检索数据
4.代理键
代理键——采用系统自动生成的数字序列作为关系表的主键。
代理键有什么用途? 由DBMS自动生成的数字序列作为主键,可替代复合主键,以便获得更高性 能的数据访问操作处理
其数据类型为serial,不是char、不是int。