none
第二、三范式问题? RRS feed

  • 问题

  • 我也知道设计数据库一般都要满足第三范式,但我就是不知道用语言怎么叙述,书上说的都太抽象了,请举一个例子,给我说明白一点,让我对范式的定义有一个全新的理解,谢谢啦!!!
    • 已移动 韦恩卑鄙 waywa 2009年5月22日 7:25 ([Loc]From:.NET Framework 一般性问题讨论区)
    2009年5月16日 15:26

答案

  • 看看这个地址,后面有简单示例
    知识改变命运,奋斗成就人生!
    • 已标记为答案 风中客 2009年5月17日 2:24
    2009年5月16日 16:19
  • 但看概念确实很抽象,3NF的定义如下:

    1NF第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项

    2NF:第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分,包含主键。

    3NF: 第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。


       通俗来说,1NF就是数据列不可以再分割,比如用户表,user,包含username、email、cellphone 、address等信息基本来说,address这个列有必要再分,比如可以再拆分为country 、city、street、等信息字段。
       2NF,就是说所有的用户信息都都一个可以区分的key,这个主键我们一般定义为userID,唯一的,此表里每个用户记录id不会重复。
     3NF就是表属性字段的依赖问题,比如你在user表里已经定义了locaotionId外键关联address表的地址信息,就没必要再user表里再设置一个country、city等字段。
    3NF设计数据库的好处是避免了数据的冗余,节约存储空间,但是有时候我们为了提升查询的效率,会考虑放弃第三范式(3NF).而只满足2nf

     


    you have a dream,you gonna protect it!
    • 已标记为答案 风中客 2009年5月17日 2:24
    2009年5月16日 18:28

全部回复

  • 看看这个地址,后面有简单示例
    知识改变命运,奋斗成就人生!
    • 已标记为答案 风中客 2009年5月17日 2:24
    2009年5月16日 16:19
  • 但看概念确实很抽象,3NF的定义如下:

    1NF第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项

    2NF:第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分,包含主键。

    3NF: 第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。


       通俗来说,1NF就是数据列不可以再分割,比如用户表,user,包含username、email、cellphone 、address等信息基本来说,address这个列有必要再分,比如可以再拆分为country 、city、street、等信息字段。
       2NF,就是说所有的用户信息都都一个可以区分的key,这个主键我们一般定义为userID,唯一的,此表里每个用户记录id不会重复。
     3NF就是表属性字段的依赖问题,比如你在user表里已经定义了locaotionId外键关联address表的地址信息,就没必要再user表里再设置一个country、city等字段。
    3NF设计数据库的好处是避免了数据的冗余,节约存储空间,但是有时候我们为了提升查询的效率,会考虑放弃第三范式(3NF).而只满足2nf

     


    you have a dream,you gonna protect it!
    • 已标记为答案 风中客 2009年5月17日 2:24
    2009年5月16日 18:28