最新数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案资料
(完整版)数据库原理和应用(第2版)习题参考答案解析
第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
关系代数.ppt
学号 8001001 8001002 8001001 8001002
姓名 李萌 胡飞飞 李萌 胡飞飞
课程号 C01 C02 C01 C02
课程名 数据库原理 数据结构 数据库原理 数据结构
学分 4 4 4 4
课程名 数据库原理 数据结构
学分 4 4
五个基本操作-选择
选择 :σF(R)≡{t∈R∧F(t)=TRUE},它是属于R且满
扩展的关系代数操作-右联接
学号 8001001 8001002 8002008 8002007
姓名 李萌 胡飞飞 江南 李清照
性别 男 女 男 女
学号 8002007 8002010
姓名 李清照 王熙凤
入党时间 2007.12 2008.4
学号 8002007 8002010
姓名 李清照 王熙凤
性别 女 Null
足条件F的元组组成的集合。
F是关系运算表达式,其运算对象是常量或元组分量
(属性名或列的序号),运算符有比较运算符(也称θ符 ) (<、≼、≻、≽、=、≠)和逻辑运算符(∧、∨、┐)。
五个基本操作-选择
学号
姓名
8001001 李萌
8001002 胡飞飞
8002008 江南
8002007 李清照
性别 男 女 男 女
外键:若一个关系R中包含有另一个关系S的主键所
对应的属性组F,则称F为R的外键。
关系数据模型
学院编号 学院名称
60
信息工程学院
70
人文学院
80
软件学院
学号 8001001 8001002 6002001 7002002
姓名 张三 李四 胡琴 江南
学院编号 80 80 60 70
第2章 关系模型与关系代数(1)
关系完整性约束条件
数据库模式导航图
一个含有主码和外码依赖的数据库模式可以 通过模式导航图来表示。
关系完整性约束条件
数据库模式导航图
一个含有主键和外键依赖的数据库模式可以通过模式导航图来 表示。 关系Student与关系Class之间存在多对一的“归属”联系 (一个班由多个学生组成,一个学生只能归属于某个班),通 过外键classNo实现该联系。 关系Course与关系Student之间存在多对多的“选修”联系。 关系Score的主键是{studentNo, courseNo, term},显然同 一个学生在同一个学期不允许修读同一门课程多次。 关系Course的priorCourse属性参照本关系的主键courseNo 属性
ቤተ መጻሕፍቲ ባይዱ
关系数据结构
举例:
关系数据结构的形式化定义 给定两个域: 域——是一组具有相同数据类型的值的集合。 学生的姓名集合:D1 = {‘李小勇’, ‘刘方晨’, ‘王红敏’} 笛卡尔积 课程的名称集合:D2 = {‘数据库系统概论’, ‘操作系统’} 给定一组域D 则D1, D2的笛卡尔积为: 1, D2, …, Dn,它们之中可以有相同的域。D1,
多对多联系的联系关系及属性引用 Class( classNo, className, institute, grade, classNum ) 学生成绩管理数据库ScoreDB中,假设每一个学生一个学期可以选修若干门 中 学生成绩管理数据库 1 课程, courseNo, courseName, creditHour, courseHour, 课程,每一门课程同时有若干个学生选修,那么学生关系Student与课程关系 与课程关系 Course(每一门课程同时有若干个学生选修,那么学生关系 priorCourse ) n 开课学期term和修读成绩 Course之间存在多对多的“选修”联系,且课程的开课学期 之间存在多对多的“ 之间存在多对多的 选修”联系,且课程的开课学期 和 Student( studentNo, studentName, sex, birthday, native, nation, classNo ) 图 score为联系属性。 2-6 实现关系内部属性间的引用联系 为联系属性。 实现“多对一 图2-4 实现 多对一” 关系内部属性间的引用联系 多对一”联系的属性引用 学生成绩管理数据库ScoreDB中,假设一门课程可能存在先修课程,且关系 中 假设一门课程可能存在先修课程, 学生成绩管理数据库 Course中的 中的priorCourse属性用来存放先修课程的课程编号。课程关系 属性用来存放先修课程的课程编号。 中的 属性用来存放先修课程的课程编号 课程关系Course 中的priorCourse属性需要引用课程关系 属性需要引用课程关系Course的主码“课程编号”courseNo。 的主码“ 中的 属性需要引用课程关系 的主码 课程编号” 。
第二章关系代数.ppt
F:选择条件,是一个逻辑表达式,基 本形式为:
X1θY1
计算机理论教研室
选择(续)
3) 选择运算是从关系R中选取使逻辑表达 式F为真的元组,是从行的角度进行的运
算
σ
计算机理论教研室
选择(续)
[例4] 查询信息系(IS系)全体学生 σSdept = 'IS' (Student)
关系模型中常用的关系操作有两类,一是 查询操作,包括选择、投影、连接、除、并、 交、差等;二是增、删、改操作。
表达(或描述)关系操作的关系数据语言 可以分为三类,具体分类情况如下:
计算机理论教研室
(2) 关系操作
(1)关系代数 关系代数是用对关系的运算来表达查询要
求的方式。 (2)关系演算
关系演算是用谓词来表达查询要求的方式。 (3)介于关系代数和关系演算之间的语言SQL
计算机理论教研室
专门的关系运算(续)
(4)象集Zx
给定一个关系R(X,Z),X和Z为属性组。 当t[X]=x时,x在R中的象集(Images Set)为:
Zx={t[Z]|t R,t[X]=x} 它表示R中属性组X上值为x的诸元组在Z上分量的
集合
计算机理论教研室
专门的关系运算(续)
选择 投影 连接 除
m=∏ mi 其中,m=笛卡尔积的基数;
mi=第i个域的基数; n=域的个数。
计算机理论教研室
笛卡尔积
已知关系R和关系S,如下图:
关系R
A
B
C
a1
b2
c1
a2
b1
整理数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案
文件编号:D6-86-07-A8-E3数据库原理整理人尼克数据库原理一、填空题1.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。
2.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。
3.数据库设计分为以下六个阶段_______________、________________、________________、________________、________________和________________。
4.关系代数运算中,传统的集合运算有_______,________,________,_________。
5.用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是__________的联系。
6.设关系R(U),X,Y∈U,X→Y是R的一个函数依赖,如果存在X′∈X,使X′→Y成立,则称函数依赖X→Y是___________ 函数依赖。
7.在关系模式R(A,C,D)中,存在函数依赖关系{ A→C,A→D },则候选码是___________ ,关系模式R(A,C,D)最高可以达到_____________ 。
8.关系数据模型中,二维表的列称为________,二维表的行称为________。
9.数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。
10.关系代数运算中,基本的运算是________,________,________,________,________。
11.关系的完整性约束条件包括三大类:__________、__________和__________。
数据库系统原理与设计(第2版)课后习题详细答案
数据库系统原理与设计习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。
A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是()。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是()。
A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是()。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是()。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式10.下述()不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D二、简答题1.试述数据、数据库、数据库系统、数据库管理系统的概念。
第二章关系代数2
查询是由高级查询语言表示的对数据库的一个
或一组操作。对于一个简单的查询,通常会有许多
种可能的求解方法。每种方法在特定情况下相对优
化,所以DBMS必须从所有的方法中挑选出开销最 小的方法。对于多个操作的查询,可选的求解方法 更多,因此选择最佳的执行方案对DBMS来说是一 个重要的挑战。
分为元组关系演算和域关系演算。
计算机理论教研室
元组关系演算
元组关系演算以元组为变量。元组关系演算表达式的一 般形式为: {t | (t )} 其中: t 为元组变量, (t ) 是以元组变量 t为基础的 公式。该表达式的含义是使
(t )为真的元组的集合。
用关系演算表达式来表示的五种基本运算:
By Example)是在70年代由IBM公司的M.M.Zloof提出的。
目前有不少DBMS支持这种语言。比如DB2,Paradox, dBASEⅣ等。这是一种以域关系演算为基础的说明条件查
询语言。QBE最大的特点是采用屏幕编辑的表格对数据库
进行操作,不仅查询结果用表格的形式显示,而且用户的 查询要求也是在屏幕上用填写表格的方式给出,因此非常 直观,易学易用。
要想提高嵌套查询语句的执行效率,则应减少嵌套查询语句 的嵌套的层数。
计算机理论教研室
下课了。。。
追求
计算机理论教研室
计算机理论教研室
(4)选择 (5)投影
F ( R) {t | R(t ) F '}
i1,i 2,...,ik (R) {t (k ) | (u)(R(u) t[1] u[i1 ] ... t[k ] u[ik ])}
[例2.13] 查询信工学院的所有教师
S XG {t | T eacher(t t [6]' 信工'} )
数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案
3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。
数据库原理与应用:第2.2章关系代数
连接(续)
自然连接 R S的结果如下:
An Introduction to Database System
连接(续)
❖ 外连接
▪ 如果把舍弃的元组也保存在结果关系中,而在其他属 性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。
❖ 左外连接
▪ 如果只把左边关系R中要舍弃的元组保留就叫做左外连 接(LEFT OUTER JOIN或LEFT JOIN)
数据库原理
Database Principle
第二章 关系数据库(续)
An Introduction to Database System
第二章 关系数据库
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结
An Introduction to Database System
▪ 在关系R中选择满足给定条件的诸元组 σF(R) = {t|tR∧F(t)= '真'}
▪ F:选择条件,是一个逻辑表达式,基本形式为:
X1θY1
An Introduction to Database System
选择(续)
❖3) 选择运算是从关系R中选取使逻辑表达式F为真 的元组,是从行的角度进行的运算
R 关系
XZ xz
An Introduction to Database System
专门的关系运算(续)
t[X]=x
X
Z
象集举例
Zx={ t[Z] | t R,t[X]=x }
❖ x1在R中的象集 Zx1 ={Z1,Z2,Z3},
❖ x2在R中的象集 Zx2 ={Z2,Z3},
数据库系统概论第2章关系数据库精品PPT课件
Supervisor
张清政 张清政 刘逸
speciality
信息 信息 信息
postgraduate
李勇 刘晨 王敏
关系SAP的候选码: (postgraduate) 关系SAP的主码: (postgraduate) 关系SAP的主属性: postgraduate 关系SAP的非码属性:Supervisor , speciality
主码:选定的一个 候选码。 主属性:候选码的诸属性。 非主码属性:不包含在任何候选码中的属性。
8
例子1:
关系 S(S#,SN,SD,SA)
关系S的候选码:(S#) , (SN)
关系S的主码:(S#)
关系S的主属性:S#
关系S的非码属性:SD , SA
例子2:
例子3:
全码
关系SC(S#,C#,G)
关系R(P,W,A)
11
p46
2.2.2关系模式 关系模式简记为: R(A1,A2,…,An) 形式化表示为:五元组 R( U, D, dom,F)
关系名 属性集合 域集合 属性向域的 属性间数据的 映象集合 依赖关系集合
例子:选修关系 可简记为:SC(Sno,Cno,G)
形式化表示为:SC ( U, D, dom,F)
第二章 关系数据库
2.1 关系模型概述 2.2 关系数据结构及形式化定义 2.3 关系的完整性 2.4 关系代数 2.5 关系演算
1
2.1 关系模型概述
(1)单一的数据结构——关系
(2)关系操作
关系模型的操作包括:查询和更新
关系操作的特点:一次一集合方式
非关系操作的特点:一次一记录方式
关系代数语言 关系数据语言 关系演算语言
《数据库原理及应用》第二章关系模型和关系数据库
中央财经大学 信息学院
第二章 关系模型和关系数据库
2.3 关系数据库和关系数据库规范化
学号
120001 120002
姓名
张三 李四
性别
男 男
学院
a12 a12
p (学号,姓名) →(性别,学院)
f (学号) →(性别,学院) f (姓名) →(性别) p (学号,姓名) →(姓名,学院)
140013
85
90 80 85 90
140013
090025
王蕾
李笑
数学
数学
95
95
中央财经大学 信息学院
第二章 关系模型和关系数据库
2.3 关系数据库和关系数据库规范化
(2)第二范式 若关系模式R属于1NF,且每个非主属性都完全函数依赖于码,则 该关系模式属于2NF,2NF不允许关系模式中的非主属性部分函数依 赖于码。 (本书) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的, 即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式 (2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为 实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。 (通用标准)
有相同数据类型的值的集合。 5、关键字:关键字又称主属性,可以唯一地标识一个元组的一个属性或多个 属性的组合。候选关键字和主关键字。 6、外部键:如果某个关系中的一个属性或属性组合不是所在关系的主关键字 或候选关键字,但却是其他关系的主关键字,对这个关系而言,称其为外部关 键字。
中央财经大学 信息学院
A 信息学院
第二章 关系模型和关系数据库
2.1 数据模型
3、关系模型
关系模型(Relational Model)的所谓“关系”是有特定含义的。 关系模型的所谓“关系”虽然也适用于这种一般的理解,但同时又 特指那种虽具有相关性而非从属性的按照某种平行序列排列的数据集合 关系。关系模型是用“二维表”表示事物间的联系。 某超级市场员工分布情况表
数据库系统第二章2.1-2.2
数据库系统 2.1 关系模型简述
--关系模型与关系运算概览 形象地说,一个关系(relation)就是一个Table 关系模型就是处理Table的,它由三个部分组成: (详细内容在后面讲述)
描述DB各种数据的基本结构形式(采用Table描述) 描述Table与Table之间所可能发生的各种操作(采用关系 运算等描述) 描述这些操作所应遵循的约束条件(被称为完整性条件)
笛卡儿积 男人 李德 李德 李德 李德 钱进 钱进 钱进 钱进 女人 王芳 王芳 范燕美 范燕美 王芳 王芳 范燕美 范燕美 儿童 李蓉 冯月 李蓉 冯月 李蓉 冯月 李蓉 冯月
第13页
数据库系统 2.2 关系与关系模型
--关系: Table的严格定义(续) 再定义“元组”及所有可能组合成的元组:笛卡尔积 笛卡尔积(Cartesian Product)
表/关系
列/字段/属性 /数据项
家庭
列名
丈夫
李德
妻子
王芳
子女
李蓉
标题/模式
钱进
张靖
范燕美
谢婷
钱童
张强 列值 第9页 行/元组/记录
数据库系统 2.2 关系与关系模型
--关系: Table的严格定义(续) 首先定义“列”的取值范围“域(Domain)” 域(Domain) 一组值的集合,这组值具有相同的数据类型 如整数的集合、字符串的集合、全体学生的集合 再如, 由8位数字组成的数字串的集合,由0到 100组成的整数集合 集合中元素的个数称为域的基数(Cardinality)
数据库系统
第2章 关系模型与关系运算
第1页
数据库系统 第2章 关系模型与关系运算
第2章 关系代数(1) 数据库系统原理 教学课件_447
笛卡尔积(Cartesian Product)
• 元组(Tuple)
笛卡尔积中每一个元素(d1,d2,…,dn)叫作 一个n元组(n-tuple)或简称元组。
D1×D2×D3 =
{(张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (张清玫,信息专业,王敏), ……}
43
2.2.1基本的关系操作
• 查询
– 选择、投影、连接、除、并、差、交、 笛卡尔积等
• 数据更新
– 插入、删除、修改
• 基本关系的性质
– 列的顺序无所谓
•遵循这一性质的数据库产品(如ORACLE),增 加新属性时,永远是插至最后一列。 •也有许多关系数据库产品没有遵循这一性质, 例如FoxPro仍然区分了属性顺序。
32
关系(Relation)
• 基本关系的性质
– 任意两个元组的候选码不能相同
33
关系(Relation)
• 基本关系的性质
– 行的顺序无所谓
•遵循这一性质的数据库产品(如ORACLE),插 入一个元组时永远插至最后一行。 •但也有许多关系数据库产品没有遵循这一性质, 例如FoxPro仍然区分了元组的顺序。
34
关系(Relation)
• 基本关系的性质
– 分量必须取原子值
•每一个分量都必须是不可分的数据项。
23
关系(Relation)
• 主码(Primary Key)
若关系中的某一属性组的值能唯一地标识一个元 组,则称该属性组为候选码
SAP 关系
SUPERVISOR SPECIALITY POSTGRADUATE
数据库原理2 关系数据库.ppt
3. 列的顺序可任意交换; 4. 任意两个元组不能完全相同; 5. 行的顺序可任意交换; 6. 每一分量是不可分的数据项。
记忆方法:三列两行一分量。
注意:在许多实际关系数据库产品中,基
本表并不完全具有这六条性质,例如, 有的数据库产品(如FoxPro)仍然区分 了属性顺序和元组的顺序;许多关系数 据库产品中,例如Oracle,FoxPro等,它 们都允许关系表中存在两个完全相同的 元组。
三种具有相同表达能力的抽象查询语言:
关系代数 元组关系演算语言 域关系演算语言
ISBL ALPHA,QUEL QBE
SQL则是介于关系代数和关系演算之间的 标准查询语言。
由IBM提出,是应用得最广泛的关系数据 库标准语言。
三. 关系的三类完整性约束条件 关系模型必须满足:实体完整性和参照完
整性约束。
则D1×D2×… ×Dn的基数为: |D1|×|D2|×… ×|Dn|
3. 关系
定义2.3 D1×D2×… ×Dn的任意子集叫 做在域D1,D2,… ,Dn上的关系,可记做:
R(D1,D2,… ,Dn),R为关系名,n是关系的 目或度(degree)。
注意:
1. 这里的“子集”是“任意子集”,包括 空集。
例如学生选课关系“选修(学号,课程号, 成绩)”中,“学号、课程号”为主码, 则“学号”和“课程号”都不能取空值, 而不是整体不为空。
实体完整性可以引申一下,主码也不能取 重复值。
有关实体完整性的说明:
(1)实体完整性规则是针对基本关系而言的。 一个基本表通常对应现实世界的一个实 体集。(名字怎么来的)
数据库系统原理(第2章)
第二章 关系数据库
数据库系统原理与设计第二版课后答案
文件系统与数据库系统的联系是:
文件系统与数据库系统都是计算机系统中管理数据的软件。
数据库系统原理与设计第二版课后答案
【篇一:数据库系统原理与设计(万常选版)整本书练习题和详细答案详解】
>第一章绪论
一、选择题
1. dbs是采用了数据库技术的计算机系统,dbs是一个集合体,包含数据库、计算机硬件、软件和()。
a.系统分析员b.程序员c.数据库管理员d.操作员
2.数据库(db),数据库系统(dbs)和数据库管理系统(dbms)之间的关系是()。
数据的备份,软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。
早期功能比较简单、比较固定的应用系统也适合用文件系统。
目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。
还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是dba的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为dbms在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由dbms执行。
数据库系统教程第2章精选全文
M
上海
S3
XIA
19
F
四川
图2.1 学生登记表
• 在关系模型中,字段称为属性,字段值称为属性值,记录类型 称为关系模式。
• 在图2.2中,关系模式名是R。 • 记 录 称 为 元 组 (tuple) , 元 组 的 集 合 称 为 关 系 (relation) 或 实 例
(instance)。 • 一般用大写字母A、B、C、… 表示单个属性,用大写字母 …、
第2章 关系模型和 关系运算理论
本章重要概念
• (1)基本概念
• 关系模型,关键码(主键和外键),关系的定义和性质,三类完 整性规则,过程性语言与非过程性语言。
• (2)关系代数
• 五个基本操作,四个组合操作,七个扩充操作。
• (3)关系代数表达式的优化
• 关系代数表达式的等价及等价转换规则,启化式优化算法。
2.1.1 基本术语
• 定义2.1 用二维表格表示实体集,用关键码进行数据导航的数据模 型称为关系模型(Relational Model)。这里数据导航(data navigation)
是指从已知数据查找未知数据的过程和方法。
学号
姓名
年龄
性别
籍贯
S1
WANG
20
M
北京
S4
LIU
18
F
山东
S2
HU
17
X、Y、Z表示属性集,用小写字母表示属性值,有时也习惯称呼 关系为表或表格,元组为行(row),属性为列(column)。 • 关 系 中 属 性 个 数 称 为 “ 元 数 ” (arity) , 元 组 个 数 为 “ 基 数”(cardinality)。
• 关系元数为5,基数为4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。
它可以形式化地表示为:R(U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
关系数据库:关系数据库也有型和值之分。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
2.3.为什么需要空值null?答:引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。
空值是所有可能的域的一个取值,表明值未知或不存在。
2.3.关系模型的完整性规则有哪些?答:关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:·或者取空值(F的每个属性值均为空值);·或者等于S中某个元组的主码值。
3) 用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
2.4.关系模型的主要操作有哪些?答:关系模型中的关系操作有查询操作和更新操作(插入、删除和修改)两大类。
查询操作是关系操作中最主要的部分。
查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(except)、笛卡尔积等。
2.5.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
2.6.试述等值连接与自然连接的区别与联系?答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。
θ为“=”的连接运算称为等值连接。
它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。
即等值连接为:R A=B S = { trts| tr∈R ∧ts∈S ∧tr[A] = ts[B] }自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
即若R和S具有相同的属性组B,则自然连接可记作:R S = { trts| tr∈R ∧ts∈S ∧tr[B] = ts[B] }2.7.对于图2-8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的样例数据,给出如下运算的结果。
(1)(∏studentName,birthday,courseNo(Student ⋈Class))÷(∏c ourseNo(σstudentNo=‘0701001’ Score))的同学所有选修课程的学生姓名和出日日期。
(2)(∏studentNo,courseNo Score)÷(∏c ourseNo(σcourseNo LIKE ‘CS%’Course)) ⋈Score答:含义:选修了计算机系所有开设课程的学生的成绩信息。
2.8.对于图2.8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。
(1)查找籍贯为“上海”的全体学生。
答:σnative LIKE ‘上海%’(Student)(2)查找1992年元旦以后出生的全体男同学。
答:σyear(birthday)>=1992∧sex='男’(Student)(3)查找信息学院非汉族同学的学号、姓名、性别及民族。
答:∏studentNo,studenName,sex,nation(σnation!=’汉族’(Student) ⋈(σinstitute=’信息学院’(Class)))(4)查找08-09学年第二学期(08092)开出课程的编号、名称和学分。
答:∏courseNo,courseName,courseHour(Course ⋈(σterm=’08092’Score))(5)查找选修了“操作系统”的学生学号、成绩及姓名。
答:∏studentNo,studenName,score(Student ⋈(Score ⋈(∏courseNo(σcourseName=’操作系统’Course)))(6)查找班级名称为“会计学07(3)班”的学生在07-08学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名称和成绩。
答:∏studenName, courseNo,courseName,score( (σclassName=’会计学08(3)班’Class) ⋈Student ⋈ (σterm=’07081’ Score) ⋈Course)(7)查找至少选修了一门其直接先修课编号为CS012的课程的学生学号和姓名。
答:∏studenNo, studentName( (σpriorCourse=’CS012’Course) ⋈Score ⋈Student)(8)查找选修了08-09学年第一学期(08091)开出的全部课程的学生学号和姓名。
答:∏studenNo, studentName(Score÷(∏courseNo(σterm=’08091’Score)) ⋈Student)(9)查找至少选修了学号为0703010的学生所选课程的学生学号和姓名。
答:∏ studenNo, studentName(Score÷(∏ courseNo(σstudentNo=’0703010’Score))⋈Student)2.9.对于图2-10所示的学生选课数据库SCDB的模式导航图,试写出如下查询的关系代数表达式。
(1)查找2008级蒙古族学生信息,包括学号、姓名、性别和所属班级。
答:∏studenNo,studentName,sex,classNo((σnation=’蒙古族’Student) ⋈(σgrade=2008Class))(2)查找“C语言程序设计”课程的课程班号、上课时间以及上课地点。
答:∏cClassNo,time,location((σcourseName=’C语言程序设计’Course) ⋈CourseClass ⋈ Classroom)(3)查找选修了先修课程为“计算机概论”的学生学号、课程号和成绩。
答:∏studenNo,courseNo,score((∏C1.courseNo((ρC1Course) ⋈C1.priorCourse=C2.courseNo(σcourseName=’计算机概论’ (ρC2Course)))) ⋈SC)(4)查找李勇老师08-09学年第二学期(08092)开出的课程号、课程名和学分。
答:∏courseNo,courseName,creditHour((∏teacherNo(σteacherName=’李勇’Teacher)) ⋈(σterm=’08092’CourseClass) ⋈Course)(5)查找信息学院学生选课情况,要求显示学生姓名、课程号、课程名、课程班号、成绩和任课教师。
答:∏studentName,courseNo,courseName,cClassNo,score,teacherName((∏instituteNo(σinstituteName=’信息学院’Institute)) ⋈Class ⋈Student ⋈SC ⋈Course ⋈CourseClass ⋈Teacher)。