数据库问答题:1、 列举一个符合第一范式的数据表,将其转换为符合第二范式的关系模式。

作者&投稿:汉菊 (若有异议请与网页底部的电邮联系)
第一范式和第二范式如何转换?~

第一范式
存在非主属性对码的部分依赖关系 R(A,B,C) AB是码 C是非主属性 B-->C B决定C C部分依赖于B
第一范式
定义:如果关系R 中所有属性的值域都是单纯域,那么关系模式R是第一范式的
那么符合第一模式的特点就有
1)有主关键字
2)主键不能为空,
3)主键不能重复,
4)字段不可以再分
例如:
StudyNo | Name | Sex | Contact
20040901 john Male Email:kkkk@ee.net,phone:222456
20040901 mary famale email:kkk@fff.net phone:123455
以上的表就不符合,第一范式:主键重复(实际中数据库不允许重复的),而且Contact字段可以再分
所以变更为正确的是
StudyNo | Name | Sex | Email | Phone
20040901 john Male kkkk@ee.net 222456
20040902 mary famale kkk@fff.net 123455

第二范式
存在非主属性对码的传递性依赖 R(A,B,C) A是码 A -->B ,B-->C
定义:如果关系模式R是第一范式的,而且关系中每一个非主属性不部分依赖于主键,称R是第二范式的。
所以第二范式的主要任务就是
满足第一范式的前提下,消除部分函数依赖。
StudyNo | Name | Sex | Email | Phone | ClassNo | ClassAddress
01 john Male kkkk@ee.net 222456 200401 A楼2
01 mary famale kkk@fff.net 123455 200402 A楼3
这个表完全满足于第一范式,
主键由StudyNo和ClassNo组成,这样才能定位到指定行
但是,ClassAddress部分依赖于关键字(ClassNo-〉ClassAddress),
所以要变为两个表
表一
StudyNo | Name | Sex | Email | Phone | ClassNo
01 john Male kkkk@ee.net 222456 200401
01 mary famale kkk@fff.net 123455 200402
表二
ClassNo | ClassAddress
200401 A楼2
200402 A楼3

把一范式分解为三范式的方法:
方法的本质是打破构成传递依赖的链。通俗的说,如果X→Y,Y→Z,并且Z是非主属性,X是候选码,则不满足3NF,分解时把Y、Z做成一张新表,而X、Y做成一张新表,如果原来的表中还存在其他属性,也放在X、Y那张表中。


第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第一范式:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么乘R是第一范式。
例如关系模式R(NAME,ADDRESS,PHONE),如果一个人有两个电话号码没那么在关系中至少要出现两个元组,一边存储这两个号码
第二范式:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么R是第二范式

设关系模式R(WXYZ),主键是WX,R上还存在FD X->Z(也就是wx->z是一个局部依赖)此时应把R分成两个模式:
R1(XZ),主键是X;
R2(WXY),主键是WX,外键是X(REFERENCES R1).利用外间和主见的练级可以从r1和r2重新得到R.

至于你这个题目据下面一个例子:
仓库(仓库号,货物号,库存量,仓库地址) 其中仓库号和货物号为主键--------1NF
转换为2NF:
库存(仓库号,货物号,库存量) 库存号和货物号是主键
仓库(仓库号,仓库地址) 仓库号是主键
为什么会这样 在1NF中,库存量完全依赖于仓库号和货物号,而仓库地址部分依赖于仓库号和货物号。 怎么弄成2NF 也是按照这个道理转换的


曲阜市18019738893: 数据库题:1、 列举一个符合第一范式的数据表,将其转换为符合第二范式的关系模式. -
睢雯宝龄: 第一范式:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么乘R是第一范式.例如关系模式R(NAME,ADDRESS,PHONE),如果一个人有两个电话号码没那么在关系中至少要出现两个元组,一边存储这两个号码 第二范式:如果关...

曲阜市18019738893: 数据库的题!!!!! -
睢雯宝龄: 第一范式(1NF) 第一范式是最低的规范化要求,第一范式要求数据表不能存在重复的记录,即存在一个关键字.1NF的第二个要求是每个字段都不可再分,即已经分到最小.这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、...

曲阜市18019738893: 数据库题 -
睢雯宝龄: 1、读者编号是候选码.若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为 候选码. (读者编号可以唯一标识读者姓名) 若一个关系有多个候选码,其中任何一个都可以做主码,主码的诸属性就称为主属性. 2、主码是图书编号或者读者编号; 3、存在传递依赖(图书编号->书名,书名->出版社,那么图书编号->图书出版社) 不足之处请指出啊~

曲阜市18019738893: SQL server第一、第二、第三范式 -
睢雯宝龄: 所谓范式就是符合某一种级别的关系模式的集合.通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合.这一过程称为规范化. 1、  第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项. ...

曲阜市18019738893: 关于数据库范式问题 -
睢雯宝龄: 答1:2范式第一范式要求无重复列 满足第二范式要求主键明确 满足第三范式要求无冗余 不满足,根据第三范式,应该将单位号和单位名另建一个表,以单位号为主键答2:是 当要删除单位信息时,会把职...

曲阜市18019738893: 数据库问题 -
睢雯宝龄: 1、select * from c where semester='春季' and cname like 'cs%';2、select SNO,SNAME from s where SNO in (select SNO from sc where grade is null);3、这条语句不会,我还在学数据库原理,现在...

曲阜市18019738893: 有关数据库范式的题,在线急求解答. -
睢雯宝龄: 1)、SNO—>SDEPT ; SDEPT—>MN ; (SNO,CNAME)—>G 2)、关系的码为(SNO,CNAME),而SNO—>SDEPT ,所以存在部分函数依赖;SNO—>SDEPT 而 SDEPT—>MN 存在传递函数依赖;因此该关系模式是1NF. 3)、先分解为二范式,消除部分依赖,如下:S1(SNO,SDEPT,MN) ; S2(SNO,CNAME,G).再分解为三范式,消除传递依赖,如下:S1'(SNO,SDEPT) ; S2'(SDEPT,MN) ; S3(SNO,CNAME,G). 仅供参考,应该没问题的!

曲阜市18019738893: 帮我做几题关于数据库的选择题. -
睢雯宝龄: 1、D 2、C 关系型 3、A 数据库系统包含了数据库和数据库管理系统,这个是肯定的. 4、B 投影 关系数据库系统至少应当支持三种关系运算,即选择、投影和连接. 选择是从二维表中选出符合条件的记录,它是从行的角度对关系进行的运算.投影是从二维表中选出所需要的列,它是从列的角度对关系进行的运算. 连接是同时涉及到两个二维表的运算,它是将两个关系在给定的属性上满足给定条件的记录连接起来而得到的一个新的关系. 5、B

曲阜市18019738893: SQL语句搜索问题 -
睢雯宝龄: strSQL="SELECT * FROM 表 WHERE 字段='必须的条件'" if 选择条件1 then strSQL+=" AND 字段1='条件1'" endif if 选择条件1 then strSQL+=" AND 字段2='条件2“ endif........

曲阜市18019738893: 计算机软件问题? -
睢雯宝龄: 1、排序的功能:将一组数据元素(或记录)的任意序列,重新排成一个按关键字有序的序列....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网