国开《数据库基础与应用》第三章 3-3-3:第一范式规范化举例

搜答案方法:电脑端按「Ctrl+F」、手机端用「页面查找」功能输入关键词查找。

3-3-3:第一范式规范化举例

例1:设一个通信录关系模式为T(姓名,性别,单位,电话(长途区号,办公电话,家庭电话)),假定对应的关系实例如下表1所示。

表1 不规范化的通信录关系表

姓名性别单位性别年龄职务
长途区号办公电话家庭电话
王明天津大学0228231054264356622
张晶东北化工0246231125930480032
刘芹华联商场02138052647
张鲁实验二中0226244551373559097
史良四川财大02861546888
江州首都医大0105521072445623210
赵红上地开发0106728050666250782
刘江第一建筑02922449918

规范化方法之一:去掉复合属性“电话”,把所含的3个属性提升为顶层属性,使之变为满足第一范式的规范化关系。关系模式为T(姓名,性别,单位,长途区号,办公电话,家庭电话),关系的内容不变。

规范化方法之二:把通信录关系T分解为两个关系,一个为T1(姓名,性别,单位,通信地址,...),另一个为T2(姓名,长途区号,办公电话,家庭电话,手机电话,...)。

例2:设一个借阅图书关系模式为J(借阅证号,姓名,性别,借阅图书登记(图书号1,书名1,图书号2,书名2,...)),对应的关系实例假定如下表2所示。

表2 不规范的借阅图书关系表

借阅证号姓名性别单位借阅图书登记
图书号1书名1图书号2书名2
BJ10001王明天津大学SP.256.1营养学SP.368.2家庭菜谱
BJ10015张会东北化工JZ.372.6施工手册
BJ10603刘华华联商场FZ.25.48丝绸缝纫
BJ15021赵阳实验二中TP.342.5计算原理TP.638.24程序设计
BJ23456李玉四川财大GL.683.4管理学XP.35.26人事管理
BJ03042黄明首都医大
BJ20349陈亮上地开发JX.13.42生物学

规范化方法之一:取消“借阅图书登记”这个复合栏,把包含的4个子属性独立出来,变为顶层属性,得到的关系模式为J(借阅证号,姓名,性别,图书号1,书名1,图书号2,书名2,...)。

规范化方法之二:把原关系分解为两个关系,第一个为J1(借阅证号,姓名,性别,...),第二个为J2(借阅证号,图书号,书名,...)。

借阅证号是J1关系的主码,借阅证号和图书号联合构成J2关系的主码,同时借阅证号又是J2关系的外码,需要时对这两个关系进行自然连接就可以得到原关系中的全部信息。按照J1和J2关系对原来的实例表进行投影,则得到下面表1和表2这两个关系表。J1和J2是1对多的联系,联系属性是借阅证号。

表1 J1关系

借阅证号姓名性别
BJ10001王明
BJ10015张会
BJ10603刘华
BJ15021赵阳
BJ23456李玉
BJ03042黄明
BJ20349陈亮
借阅证号图书号书名
BJ10001SP.256.1营养学
BJ10001SP.368.2家庭菜谱
BJ10015JZ.372.6施工手册
BJ10603FZ.25.48丝绸缝纫
BJ15021TP.342.5计算原理
BJ15021TP.638.24程序设计
BJ23456GL.683.4管理学
BJ23456XP.35.26人事管理
BJ20349JX.13.42生物学

规范化方法之三:其关系模式可以定义为J(借阅证号,姓名,性别,图书号,书名),即把原关系中所借阅的每本图书同个人信息一起用一个单独的元组表示出来。

总之,还是采用第二种方法为最佳方案,即借阅者个人信息与借阅图书信息分成两个关系存储,必要时通过借阅证号连接起来。



「国开学习吧」:用户COOKIE有效时间30天,收藏网址『guokaixuexi.com』不迷路哦~

相关文章

国开《数据库基础与应用》第十章 10-3-4:例10-4

国开《数据库基础与应用》第十章 10-3-4:例10-4

10-3-4:例10-4在“公司信息管理”数据库中通过“设计视图”创建对“产品”表按“类别名称”进行分组的报表。实现过程和步骤说明如下:1.在Access 2010中打开“公司信息管理”数据库。2.单...

国开《数据库基础与应用》第四章 结构化查询语言——SQL

国开《数据库基础与应用》第四章 结构化查询语言——SQL

本章导读到目前为止,我们已经学习过关系的概念,关系的规范化和关系的运算,知道如何从逻辑层面上建设好一个性能良好的数据库。本章将介绍在任一种关系数据库管理系统(RDBMS)的支持下,普遍采用的一种数据查...

国开《数据库基础与应用》第七章 7-4-2:例7-2

国开《数据库基础与应用》第七章 7-4-2:例7-2

7-4-2:例7-2给“雇员”表的“雇佣日期”字段添加有效性规则和有效性文本,要求其输入的日期必须是今天及之前的日期。具体操作步骤如下:1.在当前数据库下的表设计视图下打开“雇员”表。2.鼠标单击选择...

国开《数据库基础与应用》第四章 4-5-1:查询操作(2)

国开《数据库基础与应用》第四章 4-5-1:查询操作(2)

4-5-1:查询操作(2)在select查询语句中,还可以使用其他多个选项,以增强和丰富查询功能。如使用GROUP BY选项能进行查询分组统计,使用ORDER BY选项能对查询结果进行排序。...

国开《数据库基础与应用》第十一章 11-1-4:建立模块应用举例

国开《数据库基础与应用》第十一章 11-1-4:建立模块应用举例

11-1-4:建立模块应用举例一个模块中,可以定义出一个或若干个过程,以Sub关键字为过程标记的称为普通过程,以Function为过程标记的称为函数过程,Sub过程在执行后不需要返回值,而Functi...

国开《数据库基础与应用》第十一章 11-1-1:创建宏和模块的命令

国开《数据库基础与应用》第十一章 11-1-1:创建宏和模块的命令

11-1-1:创建宏和模块的命令如下图1所示,在其最右面的“宏与代码”命令组中,存在着4个命令按钮,分别为宏、模块、类模块、Visual Basic。单击“宏”按钮,将自动打开创建一个宏的生成器窗口,...

国开《数据库基础与应用》第八章 8-3-1:例8-1

国开《数据库基础与应用》第八章 8-3-1:例8-1

8-3-1:例8-1在“公司信息管理”数据库中查找薪水在5000元及以上的雇员姓名、性别、雇佣日期和薪水信息。具体操作步骤如下:1.在Access 2010中打开“公司信息管理”数据库;2.单击“创建...

国开《数据库基础与应用》第四章 4-2-2:列的数据类型

国开《数据库基础与应用》第四章 4-2-2:列的数据类型

4-2-2:列的数据类型在表结构的定义体内,对每个字段(列)的定义,都需要给出字段名称、字段的数据类型、字段的完整性约束等信息。可把SQL语言中的数据类型主要分为以下四种:char(n) 为定长字符型...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。