数据库基本概念

数据库范式基本概念

范式

数据库基本概念

  1. 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,不如说“老师与学校的关系”。

  2. 属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。

  3. 元组:表中的一行就是一个元组。

  4. 分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任何操作的时候,属性是“不可分的”。否则就不是关系数据库了。

  5. :表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。

  6. 全码:如果一个码包含了所有的属性,这个码就是全码。

  7. 主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。

  8. 非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。

  9. 外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。

  10. 候选码: 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为(超级码)候选码。

范式的概念

  1. 第一范式(1NF):属性不可分(1NF是对属性的原子性约束,要求属性具有原子性,不可再分解)

  2. 第二范式(2NF):符合1NF,并且非主属性完全依赖于码。(2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性,更通俗说有主键ID)

  3. 第三范式(3NF):符合2NF,并且,消除传递依赖。(3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余)

  4. BCNF:符合3NF,并且,主属性不依赖于主属性。