数据库范式习题答案
数据库习题答案
数据库习题答案数据库习题答案数据库是计算机科学中非常重要的一个概念,它用于存储和管理大量的数据。
在学习数据库的过程中,习题是非常重要的一部分,通过解答习题可以加深对数据库的理解和掌握。
本文将为大家提供一些常见数据库习题的答案,希望能够帮助大家更好地学习数据库。
一、选择题1. 数据库中的主键是用来:答案:唯一标识数据库中的每一条记录。
2. 数据库的三范式是指:答案:消除数据冗余,提高数据存储的效率和一致性。
3. 数据库中的外键是用来:答案:建立表与表之间的关联关系,保证数据的完整性。
4. 数据库中的事务是指:答案:一组数据库操作的集合,要么全部执行成功,要么全部回滚。
5. 数据库中的索引是用来:答案:加快数据的检索速度。
二、填空题1. 数据库中的SQL是指:答案:结构化查询语言。
2. 数据库中的DDL是指:答案:数据定义语言。
3. 数据库中的DML是指:答案:数据操作语言。
4. 数据库中的DCL是指:答案:数据控制语言。
5. 数据库中的ACID是指:答案:原子性、一致性、隔离性和持久性。
三、简答题1. 什么是数据库的事务?答案:数据库事务是指一组数据库操作的集合,这些操作要么全部执行成功,要么全部回滚。
事务具有原子性、一致性、隔离性和持久性四个特性。
2. 数据库中的索引有什么作用?答案:索引可以加快数据的检索速度,提高数据库的查询效率。
通过在表中创建索引,可以将数据按照一定的规则进行排序,从而减少数据库的扫描和比较次数。
3. 数据库中的主键和外键有什么区别?答案:主键是用来唯一标识数据库中的每一条记录,它可以确保数据的唯一性。
外键是用来建立表与表之间的关联关系,保证数据的完整性。
主键是表中的一个字段,而外键是指向其他表的字段。
4. 数据库的三范式是什么?答案:数据库的三范式是指消除数据冗余,提高数据存储的效率和一致性。
第一范式要求每个字段都是原子性的,不可再分;第二范式要求每个字段都完全依赖于主键;第三范式要求每个字段都只依赖于主键,而不依赖于其他字段。
数据库设计习题参考答案
例题分析3
有一报考公务员管理系统,其中有若干个报考 职位,描述的属性有职位代码,职位名称;有 若干报考人员,描述的属性有准考证号,身份 证号、姓名、年龄、性别、学历、单位名称、 单位负责人,政治面貌;每个单位只有一个负 责人;每个报考人员有若干工作经历,包括时 间、地点、职务、证明人;每个报考人员参加 考试后均有成绩,包括准考证号、笔试成绩、 面试成绩。一个人可以报考多个职位;每个职 位可以有多个人报名参加考试;一个人报考一 个职位就对应一个面试成绩和笔试成绩。
例题分析
科室
1 所属 1 经历 m m
医生
1 医治 m
1
负责
m
病房
m 住院 1
病人
简历
例题分析
• 科室(科编号、名称、人数、地点、负责人) • 医生(医生编号、姓名、职务,学历、职称、 科编号) • 简历(医生编号、开始时间、终止时间、单位、 担任职务、证明人) • 病人(病人编号、姓名、性别、年龄、住院时 间、出院时间、病类别) • 医生病人(医生编号、病人编号、病房号、床 位号) • 病房(病房号、床位数) • 病房床位(病房号、床位号、床位是否为空)
例题分析
要求: 1.确定实体及实体型属性。 2.找出实体间的联系,并画出E-R图。 3.构造(职位代码,名称) • 报考人员(准考证号,身份证号,姓名, 年龄,性别,学历,单位名称,单位负 责人,政治面貌) • 工作经历(身份证号,姓名,时间,地 点,职务,证明人)
例题分析
要求: 1.确定实体及实体型属性。 2.找出实体间的联系,并画出E-R图。 3.构造出符合3NF的关系数据模型。
例题分析
• 科室(科编号、名称、人数、地点、负责人) • 医生(医生编号、姓名、职务,学历、职称) • 简历(开始时间、终止时间、单位、担任职 务、证明人) • 病人(病人编号、姓名、性别、年龄、住院 时间、出院时间、病类别) • 病房(病房号、床位数、床位号、床位是否 为空)
《MySQL数据库原理、设计与应用》第4章课后习题答案
第四章一、填空题1.椭圆框2.属性3.关系4.物理设计5.一个或多个二、判断题1.错2.对3.错4.对5.错三、选择题1. B2. B3. C4.B、C、D5.B、C四、简答题1.请简述数据库设计规范化的必要性。
答:数据库设计对数据的存储性能、数据的操作都有很大的关系。
为了避免不规范的数据库出现数据冗余,造成插入、删除、更新操作异常等情况,就要进行数据库设计规范化。
2.请分析数据库范式1NF、2NF、3NF的区别。
答:(1)1NF:数据库表的每一列都是不可分割的基本数据项。
(2)2NF:在满足1NF基础上,遵从唯一性,非主键字段需完全依赖主键(3)3NF:在满足2NF基础上,非主键字段不能相互依赖。
五、实训题1.请完成电子商务网站用户等级的数据表设计。
CREATE TABLE sh_user_level (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '等级id',name VARCHAR(20) NOT NULL DEFAULT '' COMMENT '等级名称',config VARCHAR(255) NOT NULL DEFAULT '' COMMENT '满足条件') DEFAULT CHARSET=utf8;12.请完成电子商务网站用户订阅、用户收藏的数据表设计。
# 订阅CREATE TABLE sh_user_subscribe (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '订阅id',email VARCHAR(60) COMMENT '邮箱地址',status INT COMMENT '是否确认,0未确认,1已确认',code VARCHAR(10) COMMENT '邮箱确认的验证码',add_time INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '开始订阅时间') DEFAULT CHARSET=utf8;# 收藏CREATE TABLE sh_user_favorite (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '收藏id',user_id INT UNSIGNED NOT NULL COMMENT '用户id',goods_id INT UNSIGNED NOT NULL COMMENT '商品id',add_time INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '收藏时间') DEFAULT CHARSET=utf8;2。
数据库习题(含参考答案)
数据库习题(含参考答案)习题1一、问答题1. 什么是数据?数据有什么特征?数据和信息有什么关系?答:答:数据是用于载荷信息的物理符号。
数据的特征是:①数据有“型”和“值’之分;②数据受数据类型和取值范围的约束;③数据有定性表示和定量表示之分;④数据应具有载体和多种表现形式。
数据与信息的关系为:数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。
信息有多种表现形式,它通过手势、眼神、声音或图形等方式表达,但是数据是信息的最佳表现形式。
由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深层的信息。
但是,数据不等于信息,数据只是信息表达方式中的一种。
正确的数据可表达信息,而虚假、错误的数据所表达的是谬误,不是信息。
2. 什么是数据库?数据库中的数据有什么特点。
答:答:数据库是数据管理的新方法和技术,它是一个按数据结构来存储和管理数据的计算机软件系统。
数据库中的数据具有的特点是:①数据库中的数据具有数据整体性,即数据库中的数据要保持自身完整的数据结构;②数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。
3. 什么是数据库管理系统?它的主要功能是什么?答:答:数据库管理系统简称DBMS(Database Management System),它是专门用于管理数据库的计算机系统软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
数据库管理系统的主要功能是数据存储、数据操作和数据控制功能。
其数据存储和数据操作是:数据库的定义功能,指为说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指将大批数据录入到数据库的操作,它使得库中含有需要保存的数据记录;数据库维护功能,指对数据的插入、删除和修改操作,其操作能满足库中信息变化或更新的需求;数据查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。
数据库应用技术第四次形考作业解答国开学习网版
数据库应用技术第四次形考作业解答国开学习网版本文档是对数据库应用技术第四次形考作业的解答,以下是各个题目的解答内容。
题目一题目一要求对数据库的三大范式进行说明和比较。
第一范式(1NF)第一范式要求数据库中的每个属性都是原子的,不可再分的。
也就是说,数据库表中的每个字段都只能存储一个数据值,不允许有多个值或者是重复的值。
第二范式(2NF)第二范式要求数据库表中的非主键属性必须完全依赖于全部主键而不是部分主键。
也就是说,如果一个表中的某个属性只依赖于表的一部分主键,那么就违反了第二范式。
第三范式(3NF)第三范式要求数据库表中的非主键属性不依赖于其他非主键属性。
也就是说,一个表中的每个属性只依赖于主键,而不依赖于其他属性。
比较三大范式,可以得出以下结论:- 第一范式是最基本的范式,要求每个属性都是原子的,不可再分的。
- 第二范式是在第一范式的基础上,要求非主键属性完全依赖于全部主键。
- 第三范式是在第二范式的基础上,要求非主键属性不依赖于其他非主键属性。
题目二题目二要求对数据库的ACID特性进行解释。
原子性(Atomicity)原子性指的是事务中的操作要么全部执行成功,要么全部执行失败。
也就是说,事务中的操作是不可分割的,要么全部执行,要么全部不执行。
一致性(Consistency)一致性指的是事务执行前后,数据库的状态保持一致。
也就是说,事务执行后,数据库中的数据应该满足一定的约束和规则,不会破坏数据库的完整性。
隔离性(Isolation)隔离性指的是并发执行的事务之间应该互相隔离,一个事务的执行不应该被其他事务干扰。
也就是说,每个事务应该感觉不到其他事务的存在,各个事务之间应该是相互独立的。
持久性(Durability)持久性指的是事务一旦提交成功,对数据库中的数据修改应该是永久性的。
即使系统发生故障或者断电,事务提交后的数据也应该能够被恢复。
题目三题目三要求解释什么是数据库的锁机制。
数据库的锁机制是为了实现事务的隔离性而设计的。
数据库原理--范式习题
1.(8分)假设某公司销售业务中使用的订单格式如下:订单号:1145订货日期:09/15/2002 客户编号:1001客户名称:ABC 客户电话:8141763产品编号品名价格数量金额A 电源100.00 20 2000.00B 电表200.00 40 8000.00C 卡尺40.00 50 2000.00总金额:12000.00公司的业务规定:(1)订单号是唯一的,每张订单对应一个订单号;(2)一张订单可以订购多种产品,每一种产品可以在多个订单中出现;(3)一张订单有一个客户,且一个客户可以有多张订单;(4)每一个产品编号对应一种产品的品名和价格;(5) 每一个客户有惟一的客户编号。
试根据上述表格和业务规则设计关系模式:R(订单号,订货日期,客户编号,客户名称,客户电话,产品编号,品名,价格,数量)(1)指出该关系模式中的基本函数依赖(2)指出该关系模式的范式级别(要求按照各范式定义简要分析)(3)按3NF的定义将其分解为3NF,要求无损联结并保持函数依赖2.假设某企业集团数据库中有一关系模式R如下:R(商店编号,商品编号,商品库存数量,部门编号,负责人)如果规定:(1)每个商店的每种商品只在该商店的一个部门销售;(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个库存数量。
试分析:(4)根据上述规定,写出关系模式R的基本函数依赖;(5)指出该关系模式R的候选码(6)指出该关系模式R的范式级别,为什么?若R不是3NF,将R分解为3NF。
3.建立一个描述学生情况的数据库:一个系有若干学生,但一个学生只属于一个系;一个系只有一名负责人;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生学习每一门课程有一个成绩;学生(用学号SNO描述);系(用系名SDEPT描述);系负责人(用其姓名MN描述);课程(用课程名CNAME描述);成绩(G);假定建立了如下关系模式S(SNO, SEDPT, MN, CNAME, G) 试分析:(1)指出该关系模式中的函数依赖(2)指出该关系模式的范式级别(要求按照各范式定义简要分析)按3NF的定义将其分解为3NF,要求无损联结并保持函数依赖(要求解题过程)。
数据库范式分解例题及解析
数据库范式分解例题及解析数据库范式是一种设计数据库表结构的理论,旨在减少数据冗余并确保数据的一致性和完整性。
数据库范式分解是指将一个不符合范式要求的关系模式分解成若干个符合范式要求的关系模式的过程。
下面我将以一个简单的例题来解析数据库范式分解的过程。
假设有一个学生信息管理系统,其中有一个包含学生姓名、年龄、性别和所在班级的关系模式(表)StuInfo。
现在我们来分解这个关系模式,使其符合第三范式(3NF)的要求。
首先,我们观察到StuInfo表中存在部分数据冗余。
比如,一个班级内可能有多个学生,如果将班级信息也包含在StuInfo表中,就会导致班级信息的重复。
因此,我们需要将班级信息从StuInfo表中分离出来,创建一个新的班级信息表ClassInfo,包含班级ID和班级名称两个字段。
接下来,我们需要考虑学生信息之间的函数依赖关系。
假设学生姓名和年龄之间存在函数依赖关系,即一个学生的姓名唯一确定其年龄,那么我们需要将这部分数据分离出来,创建一个新的学生信息表Student,包含学生ID、姓名和年龄三个字段。
最后,我们再来看性别字段。
由于性别是一个固定的取值范围(男或女),不会因为其他属性的变化而改变,因此性别并不依赖于其他属性。
所以,性别字段可以留在StuInfo表中,不需要再进行分解。
通过以上分解过程,我们将原来的StuInfo表分解为了三个符合3NF的表,Student表、ClassInfo表和经过部分分解的StuInfo 表。
这样的设计能够减少数据冗余,确保数据的一致性和完整性,提高数据库的性能和可维护性。
总的来说,数据库范式分解是一个重要的数据库设计过程,通过合理的分解可以使数据库表结构更加规范化,减少数据冗余,确保数据的一致性和完整性。
在实际应用中,需要根据具体的业务需求和数据特点来进行范式分解,以达到最佳的数据库设计效果。
数据库范式练习题
1、请简述满足1NF、2NF和3NF的基本条件。
并完成下题:某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。
(本小题第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。
第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。
第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。
考生情况(考生编号,姓名,性别,考生学校)考场情况(考场号,考场地点)考场分配(考生编号,考场号)成绩(考生编号,考试成绩,学分)2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的配件关系:(配件编号,配件名称,型号规格)供应商关系(供应商名称,供应商地址)配件库存关系(配件编号,供应商名称,单价,库存量)3、简述满足1NF、2NF和3NF的基本条件。
并完成下题:已知教学关系,教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。
4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。
例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案:仓库号+零件号;1NF;仓库(仓库号,面积,电话号码)零件(零件号,零件名称,规格)保存(仓库号,零件号,库存数量)例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。
例2答案:学员编号+培训编号;1NF;学员(学员编号,学员姓名)培训(培训编号,培训名称,培训费)报名(学员编号,培训编号,报名日期)5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。
(部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)[注]职务指某员工在某项目中的职务。
数据库范式练习题
1.求以下关系模式的键
(1)R(A,B,C,D),函数依赖为:F={D→B,B→D,AD→B,AC→D}。
(2)R(A,B,C,D,E,P),函数依赖为:F={A→D,E→D,D→B,BC→D,DC→A}。
(3)R(A,B,C,D,E),函数依赖为:F={A→BC,CD→E,B→D,E→A}。
2.试问下列关系模式最高属于第几范式,并解释其原因。
(1)R(A,B,C,D,E),函数依赖为:AB→CE,E→AB,C→D。
(2)R(A,B,C,D),函数依赖为:B→D,D→B,AB→C。
3.设有关系模式R(O,I,S,Q,D,B),其函数依赖集合为S→D,I→B,IS→Q,B→O。
试求:
(1)R的候选键。
(2)R所属的最高范式。
(3)如果R不属于3NF,将R分解为3NF(具有无损连接性和依赖保持性)。
4.某单位有一销售利润登记表,记录个部门年代、季度销售利润。
该表随着年代的增加,表的栏目也增加,如图所示。
现在要使用数据库进行管理,请设计关系模型。
要求关系模式必须属于BCNF 范式,指出主键和函数依赖。
5.某图书馆图书馆为每本图书作了一个借阅情况登记表,如图所示。
现在要使用数据库进行管理,请设计关系模型。
要求关系模式必须属于3NF范式,指出主键和函数依赖。
图书号:JSJ0001。
关系的范式习题(含答案解析)
(商店编号,部门编号)部门负责人 每个商店的每种商品只有一个库存数量
(商店编号,商店编号)商品库存数量 R候选码:(商店编号,商品编号,部门编号)
第4章 关系数据库的
4
规范化理论
(3)R最高到达第几范式? R(商店编号,商品编号,商品库存数量,部门编号,部门负责人) 每个商店的每种商品只在该商店的一个部门销售 (商店编号,商品编号)部门编号 每个商店的每个部门只有一个部门负责人 (商店编号,部门编号)部门负责人 每个商店的每种商品只有一个库存数量 (商店编号,商店编号)商品库存数量
第4章 关系数据库的规范化理论
7
(1)它为第几范式?为什么?
(2)是否存在删除异常?若存在,请说明在 什么情况下发生?
(3)将它分解为高一级范式。
(4)分解后的关系如何解决分解前可能存在 的删除操作异常问题?
第4章 关系数据库的
8
规范化理论
[解] (1)关系R是2NF (2)存在插入,删除异常:
关系范式习题
第4章 关系数据库的规范化理论
1
[例]假设某商业集团数据库中有一关系模式R如下: R(商店编号、商品编号、商品库存数量、部门编号、部门负
责人) 如果规定:
每个商店的每种商品只在该商店的一个部门销售。
每个商店的每个部门只有一个部分负责人
每个商店的每种商品只有一个库存数量。
请回答以下问题:
第4章 关系数据库的
10
规范化理论
(1) 根据上述规定,写出关系模式R的基本函数依赖。 (2) 找出关系模式R的候选码。 (3) 关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF。
数据库习题与答案
数据库习题与答案在当今数字化的时代,数据库成为了信息存储和管理的核心工具。
无论是企业的业务运营,还是个人的日常应用,数据库都发挥着至关重要的作用。
接下来,让我们一起深入探讨一些常见的数据库习题,并给出相应的答案。
首先,来看一道关于数据库关系模型的题目。
假设有两个关系:学生关系(学号,姓名,年龄,性别)和课程关系(课程号,课程名,学分),以及选课关系(学号,课程号,成绩)。
问题是:查询选修了课程号为‘C01’且成绩大于 80 分的学生的学号和姓名。
答案:SELECT 学号, 姓名 FROM 学生关系 WHERE 学号 IN (SELECT 学号 FROM 选课关系 WHERE 课程号='C01' AND 成绩> 80);这道题主要考查了对关系的理解和子查询的运用。
通过子查询先找出选修了指定课程且成绩达标的学号,然后在学生关系中根据这些学号获取对应的学号和姓名。
再看一道关于数据库完整性约束的题目。
给定一个包含员工信息的表(员工编号,姓名,工资),要求工资不能小于 0 。
问题是:如何实现这个完整性约束?答案:可以通过在创建表时使用 CHECK 约束来实现。
例如:CREATE TABLE 员工(员工编号 INT PRIMARY KEY, 姓名VARCHAR(50),工资 DECIMAL(10, 2) CHECK (工资>= 0));这样,当插入或更新数据时,如果工资值小于0 ,数据库将拒绝该操作,从而保证数据的完整性。
接下来是关于数据库索引的习题。
假设一个包含大量订单数据的表(订单号,客户号,订单日期,订单金额),经常需要根据订单日期进行查询。
问题是:应该在哪个字段上创建索引?答案:应该在订单日期字段上创建索引。
因为经常基于订单日期进行查询,创建索引可以大大提高查询效率。
创建索引的语句可以是:CREATE INDEX idx_order_date ON 订单(订单日期);然后是一道关于数据库事务的题目。
数据库范式练习题专升本
数据库范式练习题专升本## 数据库范式练习题一、题目背景数据库范式是数据库设计中用于减少数据冗余和提高数据一致性的标准。
一个良好的数据库设计应该遵循一定的范式,以确保数据的完整性和有效性。
本练习题旨在通过一系列实际问题,帮助学生理解和掌握数据库范式的基本概念和应用。
二、练习题内容1. 第一范式(1NF)- 定义:如果一个关系模式中的所有属性都是不可分的基本数据项,则称该关系模式满足第一范式。
- 练习题:给定一个学生选课表,其中包含学号、姓名、课程编号、课程名称、授课教师和成绩。
请判断该表是否满足第一范式,并说明理由。
2. 第二范式(2NF)- 定义:如果一个关系模式R满足第一范式,并且R中每一个非主属性完全函数依赖于R的每一个候选键,则称该关系模式满足第二范式。
- 练习题:假设有一个员工表,其中包含员工编号、姓名、部门编号和部门名称。
请判断该表是否满足第二范式,并说明如何进行规范化处理。
3. 第三范式(3NF)- 定义:如果一个关系模式R满足第二范式,并且R中每一个非主属性不传递依赖于R的候选键,则称该关系模式满足第三范式。
- 练习题:给定一个订单表,其中包含订单编号、客户编号、客户姓名、订单日期和商品编号。
请判断该表是否满足第三范式,并提出相应的规范化建议。
4. BCNF范式- 定义:如果一个关系模式R满足第三范式,并且对于R的每一个非平凡的函数依赖X→Y,X都是R的超键,则称该关系模式满足BCNF范式。
- 练习题:假设有一个图书馆借阅系统,其中包含图书编号、作者、出版社和借阅者编号。
请分析该表是否满足BCNF范式,并给出理由。
三、练习题解答1. 第一范式(1NF)- 学生选课表中,学号、姓名、课程编号、课程名称、授课教师和成绩都是基本数据项,没有复合属性,因此满足第一范式。
2. 第二范式(2NF)- 员工表中,部门名称依赖于部门编号,但部门编号不是主键,因此不满足第二范式。
可以通过分离出部门信息到另一个表中来满足第二范式。
(完整)数据库范式理解例题
范式分解主属性:包含在任一候选关键字中的属性称主属性。
非主属性:不包含在主码中的属性称为非主属性。
函数依赖:是指关系中一个或一组属性的值可以决定其它属性的值.函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。
如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。
属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant).例:身份证号→姓名。
部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
完全函数依赖:在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y 不函数依赖于X',则称Y对X完全函数依赖.否则称Y对X部分函数依赖。
【例】;举个例子就明白了。
假设一个学生有几个属性SNO 学号 SNAME 姓名 SDEPT系SAGE 年龄 CNO 班级号 G 成绩对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO, CNO), 因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。
而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。
传递函数依赖:设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
如果X-〉Y, Y—〉Z, 则称Z对X传递函数依赖。
计算X+ (属性的闭包)算法:a.初始化,令X+ = X;b。
在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令X+ = X+∪“右边属性集”,并为访问过的函数依赖设置标记。
c。
反复执行b直到X+不改变为止。
数据库练习题(含答案)
数据库练习题(含答案)一、单选题(共80题,每题1分,共80分)l、同一个数据模型的任意两个元组值()A、不能全同B、可全同C、必须全同D、以上都不是正确答案: A2、在创建主/子窗体之前,要确定主窗体与子窗体之间的数据源之间存在着的关系。
A、多对一B、多对多C、一对一D、一对多正确答案: D3、Access不能对数据类型进行排序和索引。
()A、文本B、数字C、备注D、自动编号正确答案: D4、任何一个满足2F但不满足3N F的关系模式都存在()A、非主属性对候选码的传递依赖B、主属性对候选码的部分依赖C、非主属性对候选码的部分依赖D、主属性对候选码的传递依赖正确答案: A5、以下哪一条属千关系数据库的规范化理论要解决的问题?()A、如何构造合适的应用程序界面B、如何构造合适的数据库逻辑结构C、如何控制不同用户的数据操作权限D、如何构造合适的数据库物理结构正确答案: B6、在数据管理技术发展的三个阶段中,数据独立性最好的是()。
A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同正确答案: C答案解析:数据库系统管理阶段的独立性最高,是因为采用了数据库管理系统来管理数据,将应用程序和数据分开存储。
7、在设计表时,若输人掩码属性设置为"LL", 则能接收的输人是()A、abBdB、aBC、AB+CD、AB a9正确答案: B答案解析:在输入掩码的格式符号中,"L"表示在该位置必须输入一个字母。
B送选项中少了一个字母,C选项中不能接受"+"'D选项中不能接受"9"8、在下列SQL语句中,修改表结构的语句是()。
A、AL T ERB、CRE A TEC、UP D ATED、IN SE R T正确答案: A9、空数据库是指()A、没有基本表的数据库B、没有任何数据库对象的数据库C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库正确答案: B答案解析:Access由六大对象组成,因此空数据库必须是没有任何对象的数据库。
数据库课后习题完整答案
习题参考答案第1章习题参考答案一、选择题1. C2. B3. D4. C5. D6. A7. A8. B9. D、10. B 11. C 12. D 13. A 14. D 15. B二、填空题1. 数据库系统2. 关系3. 物理独立性4. 操作系统5. 数据库管理系统(DBMS)6. 多对多7. 独立性8. 完整性控制9. 逻辑独立性10. 关系模型11. 概念结构(逻辑)12. 树有向图二维表嵌套和递归13. 宿主语言(或主语言)14. 数据字典15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构第2章习题参考答案一、选择题1. A2. C3. C4. B5. B6. C7. B8. D9. C 10. A 11. B 12. A 13. A 14. D 15. D二、填空题1. 选择(选取)2. 交3. 相容(或是同类关系)4. 并差笛卡尔积选择投影5. 并差交笛卡尔积6. 选择投影连接7. σf(R)8. 关系代数关系演算9. 属性10. 同质11. 参照完整性12. 系编号系名称,电话,办公地点13. 元组关系域关系14. 主键外部关系键15. R和S没有公共的属性三、简答7.σtno=’T1’(T)*TC*C)(1)∏cno,cn(σage>18∧Sex=’男’ (S))(2)∏sno,sn,dept(σtn=’李力’(T)*TC*C)(3)∏cno,cn,ct(σsno=’s1’(S)*SC*C)(4)∏cno,cn,score(σsn=’钱尔’(S)*SC*∏cno,cn(C)) (5)∏cno,cn,score(σtn=’刘伟’(T)*TC)(6)∏sn,cno(S*SC)÷∏cno(σsn=’李思’(S))*C)(7)∏cno,cn(C)-∏cno,cn(SC*((8)∏cno,cn,sno(C*SC)÷∏sno(S)σcno=’c1’∨cno=’c2’ (SC)) (9)∏sno,sn,cno(S*SC)*∏cno((10)∏sno,sn,cno(S*SC)÷∏cno(C)第3章习题参考答案一、填空题1.结构化查询语言(Structured Query Language)2.数据查询、数据定义、数据操纵、数据控制3.外模式、模式、内模式4.数据库、事务日志5.NULL/NOT NULL、UNIQUE约束、PRIMARY KEY约束、FOREIGNKEY约束、CHECK约束6.聚集索引、非聚集索引7.连接字段8.行数9.定义10.系统权限、对象权限11.基本表、视图12.(1)INSERT INTO S VALUES('990010','李国栋','男',19)(2)INSERT INTO S(No,Name) VALUES('990009', '陈平')(3)UPDATE S SET Name='陈平' WHERE No='990009'(4)DELETE FROM S WHERE No='990008'(5)DELETE FROM S WHERE Name LIKE '陈%'13.CHAR(8) NOT NULL14.o=o15.ALTER TABLE StudentADDSGrade CHAR(10)二、选择题1. B2. A3. C4. B5. C6. C7. B8. D9. A 10. D第4章习题参考答案一、选择题1. B2. B3. D4. B5. C6. D7. B8. D9. C 10. A二、填空题1. 超键(或超码)2. 正确完备3. 属性集X的闭包X +函数依赖集F的闭包F +4. 平凡的函数依赖自反性5. {AD→C} φ6. 2NF 3NF BCNF7. 无损连接保持函数依赖8. AB BC BD9. B→φB→B B→C B→BC10. B→C A→D D→C11. AB1NF12. AD3NF三、简答题1、2、3、4、5、解(1)根据F对属性分类:L类属性:BD。
数据库课后习题答案
数据库课后习题答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchP103第十题(3)SELECT 职工号,姓名FROM 职工 WHERE 职工号 IN (SELECT 职工号FROM 参加 WHERE 编号 IN (SELECT 编号 FROM 社会团体 WHERE 名称='唱歌队' OR 名称=‘篮球队’))(4)SELECT *FROM 职工WHERE 职工号 NOT IN (SELECT 职工号 FROM 参加)(5)SELECT *FROM 职工WHERE NOT EXISTS (SELECT *FROM 社团 WHERE NOT EXISTS(SELECT *FROM 参加 WHERE 职工.职工号=职工号 AND 社团.编号=编号))(6)SELECT *FROM 职工WHERE NOT EXISTS (SELECT *FROM 参加 AWhere A.职工号=‘1001’ and not exists(select *From 参加 BWhere 职工.职工号=B.职工号 and A.编号=B.编号))(7)select 编号,count(职工号)as 人数From 参加Group by 编号(8)select 名称 from 社团, 参加Group by 编号 having count(*)>=all(select count(职工号)From 参加 Group by 编号)select Cno,Cnamefrom Coursewhere Cno in (select Cnofrom electiveGroup by having count(*)>=all(select count(Sno)From elective Group by Cno ))(9)select 名称,负责人From 社团Where 编号 in (select 编号From 参加Group by 编号 having count(职工号)>100)(10)Grant select,insert, delete on table 社团,参加 to 李平 with grant option 11\(1)select 姓名,联系电话From 供应商Where 所在城市=‘天津’(2)Select *From 工程Where 预算>=50000 and 预算<=1000000 Order by 预算 DESC(3)select 工程代码From 供应零件Where 供应商代码 =‘S1’(4)select 零件名,数量From 零件,供应零件Where 零件代码 in (select 零件代码From 供应零件Where 工程代码=‘J2’)(5)select 零件代码From 供应商Where 供应商代码 in ( select 供应商代码 From 供应商Where 所在城市=‘上海’)(6)select 工程名From 工程Where 工程代号 in (select 工程代码From 供应零件Where 零件代号 in (select 零件代号From 零件Where 产地=‘上海’))(7)select 工程代号From 供应零件Where 零件代号 not in ( select 零件代号From 零件Where 产地=‘天津’)Select 工程代号From 供应零件Where not exists ( select *From 零件Where 供应零件.零件代码=零件代码 and 产地=‘天津’)(8)update 零件Set 颜色=‘蓝色’Where 零件代码 in ( select 零件代码From 零件Where 颜色=‘红色’)12.(6)select学号,姓名From 学生Where 学号 in (select 学号From 选课Group by 学号 having count(课程号)>=3) select Sno, SnameFrom StudentWhere Sno in (select SnoFrom electiveGroup by Sno having count(Cno)>=3)(7) select学号,姓名From 学生Where 学号 in (select 学号,sum(From 选课,课程Where 选课.课程号= 课程.课程号Group by 学号 having sum(学分)>30) (8)Update 选课Set 成绩=成绩*Where 课程号 in (select 课程号From 课程Where 课程名=‘数据库’)and 成绩<60 (9)delete from选课 where 学号 in (select 学号From 选课Where 成绩<60 and 课程号 in (select 课程号From 课程Where 课程名=‘数据库’))1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。
数据库原理_期末复习_规范化习题_范式
4、答: (1)关系模式R的基本函数依赖F如下 F={队员编号→球队名,球队名→队长名, (队员编号,比赛场次)→进球数} 其主键为(队员编号,比赛场次)。 (2)R不是2NF模式的原因是队员编号→球队名,所以(队 员编号,比赛场次)→球队名是一个部分函数依赖关系,将 R分解成2NF如下: R1={队员编号,球队名,队长名} R2={球队名,比赛场次,进球数} (3)由于在R1中,主键为队员编号,所以队员编号→队长 名是一个传递函数依赖,将R分解成: R11={队员编号,球队名},R12={球队名,队长名} 则将R分解为R11,R12,R2后均为3NF的关系模式。
1、解: (1)根据题意,可知有如下的函数依赖关系: (职工名,项目名)→工资 项目名→部门名 部门名→部门经理 所以,主键为(职工名,项目名)。 (2)根据(1),由于部门名、部门经理只是部分依赖于主 键,所以该关系模式不是2NF。应该做如下分解: R1(项目名,部门名,部门经理) R2(职工名,项目名,工资) 以上两个关系模式都是2NF模式 (3)R2已经是3NF,但R1不是,因为部门经理传递依赖于 项目名,故应该做如下分解: R11(项目名,部门名) R12(部门名,部门经理) 分解后形成的三个关系模式R11、R12、R2均是3NF模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Normalization Questions and AnswersDatabase Systems,CSCI4380-01Sibel AdalıOctober28,2002Question1Suppose you are given a relation R=(A,B,C,D,E)with the following functional dependencies:{CE→D,D→B,C→A}.a.Find all candidate keys.b.Identify the best normal form that R satisfies(1NF,2NF,3NF,or BCNF).c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy.Answer.a.The only key is{C,E}b.The relation is in1NFc.Decompose into R1=(A,C)and R2=(B,C,D,E).R1is in BCNF,R2is in2NF.Decompose R2 into,R21=(C,D,E)and R22=(B,D).Both relations are in BCNF.Question2Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:{BC→ADE,D→B}.a.Find all candidate keys.b.Identify the best normal form that R satisfies(1NF,2NF,3NF,or BCNF).c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy.Answer.a.The keys are{B,C}and{C,D}b.The relation is in3NFc.It cannot be put into BCNF,even if I remove D and put into a relation of the form(B,C,D)(I need C for the functional dependency),the resulting relation would not be in BCNF.Question3Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:BD→E,A→C.a.Show that the decomposition into R1=(A,B,C)and R2=(D,E)is lossy.You can show using any method.My suggestion is to show how spurious tuples result from this decomposition with respect to the table below:A B C D E12345183441b.Find a single dependency from a single attribute X to another attribute Y such that when you add the dependency X→Y to the above dependencies,the decomposition in part a is no longer lossy.Answer.a.If we were to decompose the relations into:A B C 123 183D E 45 44and then join the two(in this case with a cartesian product),we would get:A B C D E12345183451234418344Tuples2and3are not in the original relation.Hence,this decomposition is lossy.b.This decomposition cannot be made lossless.The problem is there is no longer a way to make sure BD→E holds across two relations since they do not share any attributes.However,a lossy decomposition of the form(A,B,C),(C,D,E)can be made lossless by adding an FD B→C. Question4You are given the following set of functional dependencies for a relation R(A,B,C,D,E,F), F={AB→C,DC→AE,E→F}.a.What are the keys of this relation?b.Is this relation in BCNF?If not,explain why by showing one violation.c.Is the decomposition(A,B,C,D)(B,C,D,E,F)a dependency preserving decomposition?If not, explain briefly.Answer.a.What are the keys of this relation?{A,B,D}and{B,C,D}.b.Is this relation in BCNF?If not,explain why by showing one violation.No,all functional dependencies are actually violating this.No dependency contains a superkey on its left side.c.Is the decomposition(A,B,C,D)(B,C,D,E,F)a dependency preserving decomposition?If not, explain briefly.Yes,AB→C and DC→A are preserved in thefirst relation.DC→E and E→F are preserved in the second relation.Question5You are given the below functional dependencies for relation R(A,B,C,D,E),F= {AB→C,AB→D,D→A,BC→D,BC→E}.a.Is this relation is in BCNF?If not,show all dependencies that violate it.b.Is this relation in3NF?If not,show all dependencies that violate it.2c.Is the following dependency implied by the above set of dependencies?If so,show how using the Amstrong’s Axioms given in the book(p.362-363):ABC→AEAnswer.Keys for the relation:{A,B},{B,D},{B,C}.a.Not in BCNF since D→A does have a superkey on the left hand side.b.In3NF since in D→A,A is part of a key.c.BC→E(given)ABC→AE by the augmentation rule.Question6You are given the table below for a relation R(A,B,C,D,E).You do not know the functional dependencies for this relation.This question is independent of Question2above.A B C D E’a’1221’s1’’a’’e’2364’e2’’b’’a’1991’b5’’c’’b’2132’z8’’d’Suppose this relation is decomposed into the following two tables:R1(A,B,C,D)and R2(A,C,E). Is this decomposition lossless?Explain your reasoning.Answer.R1A B C D ’a’1221’s1’’e’2364’e2’’a’1991’b5’’b’2132’z8’R2A C E’a’1’a’’e’4’b’’a’1’c’’b’2’d’R1 R2A B C D E’a’1221’s1’’a’’e’2364’e2’’b’’a’1991’b5’’c’’b’2132’z8’’d’’a’1221’s1’’a’’a’1991’b5’’c’Since the last two rows are not in the original relation,then this decomposition is lossy.Question7You are given the below set of functional dependencies for a relation R(A,B,C,D,E,F,G), F={AD→BF,CD→EGC,BD→F,E→D,F→C,D→F}.a.Find the minimal cover for the above set of functional dependencies using the algorithm described in class.Give sufficient detail to show your reasoning,but be succinct.You do not have to list all the cases you test/consider for the algorithm.Show all steps where you make changes to the above set in detail.ing the functional dependencies that you computed in step a,find the keys for this relation. Is it in BCNF?Explain your reasoning.c.Suppose we decompose the above relation into the following two relations:R1(A,B,C,D,E)R2(A,D,F,G)Use the functional dependencies in the minimal cover.For each relation,write down the functional dependencies that fall within that relation(you can decompose a dependency of the form AD→BF into two i.e.AD→B and AD→F when computing this).3Using these functional dependencies,determine if this decomposition is lossless and/or dependency preserving.Explain your reasoning.Answers.a.Step1.{AD→B,AD→F,CD→E,CD→G,CD→C,BD→F,E→D,F→C,D→F}Step2.removeCD→C,AD→F,and BD→F.{AD→B,CD→E,CD→G,F→C,D→F,E→D}Step3.remove D from CD→E and CD→G{AD→B,D→E,D→G,F→C,D→F,E→D}Finally recombine{AD→B,D→EGF,F→C,E→D}.b.Keys:{A,D},{A,E}.Not in BCNF since the last three functional dependencies do not have a superkey on the left hand side.c.R1(A,B,C,D,E)Dependencies:AD→B,D→E,E→D R2(A,D,F,G)Dependencies:D→GF.Not functional dependency preserving,the dependency F→C is not preserved.head(R1)∩head(R2)={A,D}R1:AD→ABCDE is not true since C is not implied by A,DR2:AD→ADF G is true since this is implied by D→GF as follows:AD→AD inclusion rule,since D→GF,use set accumulation rule,AD→ADGF.Hence,thisis a lossless decomposition.Question8You are given the following set F of functional dependencies for a relation R(A,B,C,D,E,F): F={ABC→D,ABD→E,CD→F,CDF→B,BF→D}.a.Find all keys of R based on these functional dependencies.b.Is this relation in Boyce-Codd Normal Form?Is it3NF?Explain your answers.c.Can the set F be simplified(by removing functional dependencies or by removing attributes from the left hand side of functional dependencies)without changing the closure of F(i.e.F+)? Hint.Consider the steps of the minimal cover algorithm.Do any of them apply to this functional dependency?Answer.a.Keys:{A,B,C}and{A,C,D}b.It is not in BCNF.Counterexample ABD→E and ABD is not a superkey.It is not in3NF.Counterexample ABD→E,and ABD is not a superkey and E is not prime attribute(part of a key).c.Let F’be obtained by replacing CDF→B with CD→B.According to F and F’,CD+={C,D,B,F}.Hence,we can remove F from this functional dependency without changing the meaning of the system.Question9Consider relation R(X,Y,Z).Relation R currently has three tuples:(6,4,2),(6,6, 8)and(6,4,8).Which of the following three functional dependencies can you infer do not holdfor relation R?Explain your answer.Y→X4Z→YXY→ZAnswer.Thefirst functional dependency holds,but the rest do not hold.The second and third tuples both have8for Z but different values of Y.Thefirst and third tuples both have6and4for X and Y but different values for Z.Question10Consider the relation R(V,W,X,Y,Z)with functional dependencies{Z→Y,Y→Z,X→Y,X→V,V W→X}.a)List the possible keys for relation R based on the functional dependencies above.b)Show the closure for attribute X given the functional dependencies above.c)Suppose that relation R is decomposed into two relations,R1(V,W,X)and R2(X,Y,Z).Is this decomposition a lossless decomposition?Explain your answer.Answer.a.{V,W},{X,W}b.X+={X,V,Y,Z}c.Yes it is lossless.To be lossless the attributes in common between the two relations must functionally determine all the attributes in one of the two relations.The only attribute in common is X and it functionally determines all the attributes in R2.Question11Given relation R(W,X,Y,Z)and set of functional dependencies F={X→W,W Z→XY,Y→W XZ}.Compute the minimal cover for F.Answer.Step1:X→W,W Z→X,W Z→Y,Y→W,Y→X,Y→ZStep2:Don’t need W Z→X,since W Z→Y and Y→XDon’t need Y→W,since Y→X and X→WThis leaves{X→W W Z→Y,Y→X,Y→Z}Step3:Only need to consider W Z→Y.Can’t eliminate W or Z.So nothing is eliminated.Step4:{X→W W Z→Y,Y→XZ}is the minimal coverQuestion12Given relation R(W,X,Y,Z)and set of functional dependencies G={Z→W,Y→XZ,XW→Y},where G is a minimal cover:a)Decompose R into a set of relations in Third Normal Form.b)Is your decomposition in part a)also in Boyce Codd Normal Form?Explain your answer. Answer.a.Possible keys:{Y},{X,Z},{W,X}R1=(Z,W),R2=(X,Y,Z),R3=(X,Y,W)b.Yes.In each of the three relations,the left side of the funcational dependencies that apply are superkeys for the relation.Hence,all three relations satisfy the definition of BCNF.Question13Consider a relation named EMP DEPT with attributes:ENAME,SSN,BDATE, ADDRESS,DNUMBER,DNAME,and DMGRSSN.Consider also the set G of functional depen-dencies for EMP DEPT:5G={SSN→ENAME BDAT E ADDRESS DNUMBER,DNUMBER→DNAME,DMGRSSM}.a)Calculate the closures SSN+and DNAME+with respect to G.b)Is the set of functional dependences G minimal?If not,find a minimal set of functional depen-dencies that is equivalent to G.c)List an update anomaly that can occur for relation EMP DEPT.d)List an insertion anomaly that can occur for relation EMP DEPT.e)List a deletion anomaly that can occur for relation EMP DEPT.Answer.a)SSN+={SSN,ENAME,BDAT E,ADDRESS,DNUMBER,DNAME,DMGRSSN}DNAME+={DNAME}b)It is minimal.c)Since every member of a department has a reference to the manager of that department(i.e., Dmgrssn),when the department manager changes this reference must be changed multiple places.This leads to the possibility of an inconsistency in the database if they are not all changed.d)You cannot enter data about a department until you have employees for the department.e)If you delete the last employee for a department,you lose all information about the department. Question14You are given the following functional dependencies for the”EMPLOYEE”relation. Explain whether the relation”EMPLOYEE”is BCNF and3NF?Database:EMPLOYEE(ssn,first-name,last-name,address,date-joined,supervisor-ssn) DEPARTMENT(dept-no,name,manager-ssn)WORKS-IN(employee-ssn,dept-no)INVENTORY(dept-no,item-id,quantity)ITEMS(item-id,item-name,type)Foreign keys:1.EMPLOYEE.supervisor-ssn and WORKS-IN.employee-ssn point to EMPLOYEE.ssn.2.WORKS-IN.dept-no and INVENTORY.dept-no point to DEPARTMENT.dept-no.3.INVENTORY.item-id points to ITEMS.item-id.{ssn→supervisor−ssn,ssn→first−name,ssn→last−name,ssn→date−joined,ssn→address,address→ssn}.Answer.In BCNF,since ssn and address are both keys of EMPLOYEE.6。