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