概念模型、逻辑模型、物理模型
实体(长方形)、属性(圆形)、关系(菱形)、主键(带下划线)
常用的数据模型:层次模型、网状模型、关系模型、面向数据对象模型、对象关系数据模型、半结构化数据模型。
层次模型:
1、有且只有一个节点没有双亲结点,这个节点称为根节点。
2、根以外的其他结点有且只有个双亲节点。
网状模型:
1、允许一个以上的节点没有双亲
2、一个节点可以有多于一个双亲。
关系模型:
一个关系对应通常说的一张表
元组:表中的一行
属性:表中的一列
码:也称码键,表中的某个属性组
域:是一组具有相同数据类型的值的集合。
分量:元组中的一个属性。
主键和唯一索引都要求值唯一,但是它们还是有区别的:
①.主键是一种约束,唯一索引是一种索引;
②.一张表只能有一个主键,但可以创建多个唯一索引;
③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;
④.主键不能为null,唯一索引可以为null;
⑤.主键可以做为外键,唯一索引不行;
主键是一种约束,目的是对这个表的某一列进行限制;
唯一索引是一种索引,索引是数据库表的一个冗余结构,目的是为了更好的查询;
主键列不允许为空值,而唯一性索引列允许空值;
一个表最多只能一个主键,但是可以包含多个唯一索引;
1.主键索引一定是唯一索引,唯一索引不一定是主键索引,
2.唯一索引可以为空,主键索引不能为空
主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。
主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。
唯一性索引列允许空值,而主键列不允许为空值。
主键列在创建时,已经默认为空值 + 唯一索引了。
主键可以被其他表引用为外键,而唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引。
主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。
在 RBO 模式下,主键的执行计划优先级要高于唯一索引。 两者可以提高查询的速度。(Oracle 10g后就开始不支持RBO了)