Baidu_Soai 2010-04-20 17:57
浏览 580
已采纳

请问数据库第一范式的问题,其他两个范式我都理解,这里第一范式说的同一列不能有多个值是什么意思啊?

能举个不符合第一范式的例子吗,不管是不是关系型数据库什么的

所谓第一范是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。

  • 写回答

1条回答 默认 最新

  • liyujie521130 2010-04-21 17:14
    关注

    1NF是关系模型最基本的要求,不满足第一范式的数据库模式不能称为关系数据库:
    如下例:我们定义一个职工表,字段有:员工编号(主键),员工姓名,电话(一个员工的电话可能有手机,家庭电话,办公室电话)。当我们要记录一个员工编号为10001,姓名为张三,他的电话分别是:手机135********;家庭电话021-15030***; 办公室电话:021-6666****的员工信息时,就无法做到:它明显违反了第一范式的定义:每一列都是不可分割的基本数据项,同一列中不能有多个值。——电话这一列有多个值,是可以再分割成:手机,家庭电话,办公室电话三个元子属性的。所以上面的未达到1NF,也就不是关系模式了。
    我们为了达到1NF可以做以下修改:
    (一):以电话为主健:
    那我们在存数据时一个员工的信息就会有三条如:10001 张三 135********;10001 张三 021-15030***; 10001 张三 021-6666****; (不建议)
    (二):以员工编号为主健,把电话拆成:手机,家庭电话,办公室电话三个栏位
    那我们在存数据时一个员工的信息就会只有一条如:10001 张三 135******* 021-15030*** 021-6666****; (建议)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值