能举个不符合第一范式的例子吗,不管是不是关系型数据库什么的
所谓第一范是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
能举个不符合第一范式的例子吗,不管是不是关系型数据库什么的
所谓第一范是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
1NF是关系模型最基本的要求,不满足第一范式的数据库模式不能称为关系数据库:
如下例:我们定义一个职工表,字段有:员工编号(主键),员工姓名,电话(一个员工的电话可能有手机,家庭电话,办公室电话)。当我们要记录一个员工编号为10001,姓名为张三,他的电话分别是:手机135********;家庭电话021-15030***; 办公室电话:021-6666****的员工信息时,就无法做到:它明显违反了第一范式的定义:每一列都是不可分割的基本数据项,同一列中不能有多个值。——电话这一列有多个值,是可以再分割成:手机,家庭电话,办公室电话三个元子属性的。所以上面的未达到1NF,也就不是关系模式了。
我们为了达到1NF可以做以下修改:
(一):以电话为主健:
那我们在存数据时一个员工的信息就会有三条如:10001 张三 135********;10001 张三 021-15030***; 10001 张三 021-6666****; (不建议)
(二):以员工编号为主健,把电话拆成:手机,家庭电话,办公室电话三个栏位
那我们在存数据时一个员工的信息就会只有一条如:10001 张三 135******* 021-15030*** 021-6666****; (建议)