数据库原理 课后题答案 作业(解答)
数据库系统原理教程课后习题答案

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统得概念。
答:( l )数据( Data):描述事物得符号记录称为数据。
数据得种类有数字、文字、图形、图像、声音、正文等。
数据与其语义就是不可分得。
解析在现代计算机系统中数据得概念就是广义得。
早期得计算机系统主要用于科学计算,处理得数据就是整数、实数、浮点数等传统数学中得数据。
现代计算机能存储与处理得对象十分广泛,表示这些对象得数据也越来越复杂。
数据与其语义就是不可分得。
500 这个数字可以表示一件物品得价格就是500元,也可以表示一个学术会议参加得人数有500 人,还可以表示一袋奶粉重500 克。
(2)数据库( DataBase,简称DB) :数据库就是长期储存在计算机内得、有组织得、可共享得数据集合。
数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。
( 3 )数据库系统(DataBas。
Sytem ,简称DBS):数据库系统就是指在计算机系统中引入数据库后得系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统与数据库就是两个概念。
数据库系统就是一个人一机系统,数据库就是数据库系统得一个组成部分。
但就是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章得上下文中区分“数据库系统”与“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem,简称DBMs ):数据库管理系统就是位于用户与操作系统之间得一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。
DBMS 得主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能。
解析DBMS 就是一个大型得复杂得软件系统,就是计算机中得基础软件。
目前,专门研制DBMS 得厂商及其研制得DBM S产品很多。
数据库原理课后习题答案

数据库原理课后习题答案码:工程号+材料号操作异常:数据冗余,插入异常,删除异常,修改异常分析原因:(工程号,材料号)?开工日期工程号?开工日期存在部分函数依赖,不满足2NF(工程号,材料号)?单价材料号?单价存在部分函数依赖,不满足2NF分解为:R1(工程号,材料号,数量)R2(材料号,单价)R3(工程号,开工日期,完工日期)第七章一、试说明事务的概念及四个特征。
答:事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。
四个特征:原子性、一致性、隔离性和持续性三、在数据库中为什么要有并发控制机制?答:数据库系统一个明显的特点是多个用户共享数据库资源,尤其是多个用户可以同时存取相同数据。
在这样的系统中,在同一时刻同时运行的事务可达数百个。
若对多用户的并发操作不加控制,就会造成数据库存、取的错误,破坏数据的一致性和完整性。
所以数据库中要有并发控制机制。
四、并发控制的措施是什么?答:在数据库环境下,进行并发控制的主要方式是使用封锁机制,即加锁。
具体的控制由锁的类型决定。
基本的锁类型有两种:排它锁(X锁)和共享锁(S锁)。
共享锁:若事务T给数据对象A加了S锁,则事务T可以读A,但不能修改A,其他事务只能再给A加S锁,而不能加X锁,直到T释放了A上的S锁为止。
排他锁:若事务T给数据对象A加了X锁,则允许T读取和修改A,但不允许其他事务再给A加任何类型的锁和进行任何操作。
五、设有3个事务:T1、T2和T3,其所包含的动作为:T1:A=A+2T2:A=A某2T3:A=A某某2设A的初值为1,若这三个事务运行并行执行,则可能的调度策略有几种?A最终的结果分别是什么?答:6种策略。
分别是T1T2T3,T1T3T2,T2T1T3,T2T3T1,T3T1T2,T3T2T1结果分别是六、当一些事务对段数据加了S锁之后,在此事务释放锁之前,其他事物还可以对此段数据添加什么锁?答:S锁七、什么是死锁?如何预防死锁?答:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁数据R2,由于T2已经封锁了数据R2,因此T1等待T2释放R2上的锁,然后T2又请求封锁数据R1,由于T1封锁了数据R1,因此T2也只能等待T1释放R1上的锁.这样就会出现T1等待T2先释放R2上的锁,而T2又等待T1先释放R1上的锁的局面,此时T1和T2都在等待对方先释放锁,因而形成死锁。
数据库系统原理教程课后习题及答案(第十章)

第11章并发控制1 .在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
( l )丢失修改(lost update ) 两个事务 Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了) Tl 提交的结果,导致Tl 的修改被丢失。
( 2 )不可重复读( Non 一 Repeatable Read ) 不可重复读是指事务 Tl 读取数据后,事务几执行更新操作,使 Tl 无法再现前一次读取结果。
( 3 )读“脏”数据( Dirty Read ) 读“脏’夕数据是指事务 Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后, Tl 由于某种原因被撤销,这时 Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。
答:封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁 ( Share Locks,简称 S 锁)。
排它锁又称为写锁。
数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
《数据库原理与应用》课后作业参考答案

模块1数据库理论基础1.某医院病房计算机管理中心需要如下信息:科室:科名、科地址、科电话、医生姓名病房:病房号、床位号、所属科室名医生:姓名、职称、所属科室名、年龄、工作证号病人:病历号、姓名、性别、诊断、主管医生、病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
请设计该计算机管理系统的E-R模型。
答:2.一个图书馆借阅管理数据库要求提供下述服务:(1)可随时查询书库中现有书籍的品种、数量与存放位置。
所有各类书籍均可由书号唯一标识。
(2) 可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。
我们约定,一个出版社可出版多种书籍,同一教材仅为一个出版社出版,出版社名具有唯一性。
请根据以上情况和假设设计满足需求的E-R模型。
答:模块3表的操作一.填空题1.数字数据可分为整数型、精确数值型和近似数值型3种类型。
其中,精确数值型数据由由整数和小数两部分组成2.在创建表的命令语句中,要设置表字段属性为自动编号的关键字是IDENTITY。
3.SQL Server2008中,根据表的用途可以分为4类,即系统表、用户表、已分区表和临时表。
4.如果表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合为_主键_。
5.创建数据库表的命令语句是create table。
二.选择题1.使用SQL语句修改表结构时,其语句是下面的(B )选项。
A. ALTERDATABASEB.ALTER TABLEC. UPDATETABLED.UPATEDABASE2.下列对表的描述正确的是( C )。
A.在数据库中表用来表示关系模型中的实体ﻩ B.表是对数据进行存储和操作的一种逻辑结构C.表是用来组织和存储数据的数据库对象ﻩ D.表可以存储数据库的其他数据库对象3.在SQL Server2008的数据类型中可以用来存储图片的数据类型是( B )A. binaryB.image C.varchar D.int4.使用系统存储过程( C )可以查看表的行、大小和空间的统计信息。
数据库原理习题(含答案)

第一章绪论Ⅰ、学习要点1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念;2、数据独立性的概念、分类及实现途径;3、数据模型的概念、分类、要素及作用;4、数据库三级模式体系结构的含义及作用;5、关系数据模型的三要素内容。
Ⅱ、习题一、选择题:1、使用二维表格结构表达数据和数据间联系的数据模型是()A、层次模型B、网状模型C、关系模型D、实体—联系模型2、DB、DBS、DBMS间的关系是()A、DB包括DBMS和DBSB、DBMS包括DB和DBSC、DBS包括DB和DBMSD、DBS与DB和DBMS无关3、在数据库中存储的是()A、数据B、数据模型C、数据及数据之间的联系D、信息4、数据库系统中,用()描述全部数据的整体逻辑结构。
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、数据库系统中用于定义和描述数据库逻辑结构的语言是()A、DMLB、DDLC、DCLD、SQL11、数据库系统支持的数据共享指的是()A、同一应用的多个程序共享同一数据集合B、多个用户、同一语言程序共享同一数据集合C、多个用户共享同一数据文件D、多种语言、多个用户、多个应用相互覆盖地使用同一数据集合12、数据库系统中,当内模式发生变化时,采用()来保证数据的物理独立性。
数据库原理 课后题答案 作业(解答)

第1章引言1.1说明物理数据独立性与逻辑数据独立性的区别。
答:在某个层次上修改数据库的模式定义而不影响位于其上层模式的能力叫做数据独立性。
有两个层次的数据独立性:物理数据独立性与逻辑数据独立性物理数据独立性:是指修改数据库的物理模式而不必重写应用程序的能力;逻辑数据独立性:是指修改数据库的逻辑模式而不必重写应用程序的能力;区别:由定义可知:他们位于数据库系统的不同的层次。
物理数据独立性:为了提高性能,偶尔在物理层做一些修改,通过物理数据独立性的特性尽量不影响逻辑层,从而达到不必重写应用程序的能力。
逻辑数据独立性:只要数据库的逻辑结构发生了变化,逻辑层就必须要做一些修改,通过逻辑数据独立性,保持视图抽象层的不变,从而达到不必重写应用程序的能力。
1.2 数据库管理员的主要作用是什么?答:DBA:一个特殊的用户,负责对DBMS进行集中的管理与控制,它就是数据库管理员--DBA--Database Administrator;DBA的职责包括:决定数据库中的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性约束;监控数据库的使用和运行;数据库的性能改进、重组和重构,以提高系统的性能。
1.3 举例说明数据库模式和实例间的区别。
答:数据库中的数据会随时发生变化,特定时刻存储在数据库中的信息集合称作数据库的一个实例。
而数据库的总体设计,即数据库的样子,称作数据库模式,按照抽象层次的不同,可分为物理模式、逻辑模式和子模式。
例如:若要存储学生的信息,首先要对存储学生的信息即属性(如:学号、姓名、性别、年龄等)进行抽象,并对属性进行物理层和逻辑层的描述,而实例仅仅是一个具体学生的信息(例如:20050808111,张三、男,1980.10.13),其存储等各种操作按照数据库模式的描述进行。
1.4举例说明数据3层抽象间的区别。
答:数据库管理系统通过如下三个层次的抽象来向用户屏蔽复杂性,简化系统的用户界面:物理层抽象、逻辑层抽象和视图层抽象。
(完整版)《数据库原理及应用》课后习题参考答案解析

《数据库原理与应用》课后习题参考答案第一章作业参考答案1. 单选题 C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。
主流数据库采用关系图模型。
数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。
)2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。
数据库具有如下特点:数据不重复存放;提供给多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。
3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。
在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。
数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。
5)数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。
数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性;执行备份和恢复等等第二章作业参考答案1 单选题 C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章引言1.1说明物理数据独立性与逻辑数据独立性的区别。
答:在某个层次上修改数据库的模式定义而不影响位于其上层模式的能力叫做数据独立性。
有两个层次的数据独立性:物理数据独立性与逻辑数据独立性物理数据独立性:是指修改数据库的物理模式而不必重写应用程序的能力;逻辑数据独立性:是指修改数据库的逻辑模式而不必重写应用程序的能力;区别:由定义可知:他们位于数据库系统的不同的层次。
物理数据独立性:为了提高性能,偶尔在物理层做一些修改,通过物理数据独立性的特性尽量不影响逻辑层,从而达到不必重写应用程序的能力。
逻辑数据独立性:只要数据库的逻辑结构发生了变化,逻辑层就必须要做一些修改,通过逻辑数据独立性,保持视图抽象层的不变,从而达到不必重写应用程序的能力。
1.2 数据库管理员的主要作用是什么?答:DBA:一个特殊的用户,负责对DBMS进行集中的管理与控制,它就是数据库管理员--DBA--Database Administrator;DBA的职责包括:决定数据库中的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性约束;监控数据库的使用和运行;数据库的性能改进、重组和重构,以提高系统的性能。
1.3 举例说明数据库模式和实例间的区别。
答:数据库中的数据会随时发生变化,特定时刻存储在数据库中的信息集合称作数据库的一个实例。
而数据库的总体设计,即数据库的样子,称作数据库模式,按照抽象层次的不同,可分为物理模式、逻辑模式和子模式。
例如:若要存储学生的信息,首先要对存储学生的信息即属性(如:学号、姓名、性别、年龄等)进行抽象,并对属性进行物理层和逻辑层的描述,而实例仅仅是一个具体学生的信息(例如:20050808111,张三、男,1980.10.13),其存储等各种操作按照数据库模式的描述进行。
1.4举例说明数据3层抽象间的区别。
答:数据库管理系统通过如下三个层次的抽象来向用户屏蔽复杂性,简化系统的用户界面:物理层抽象、逻辑层抽象和视图层抽象。
物理层抽象:最低层次的抽象,描述数据是如何存储的。
它描述复杂的底层数据结构,是学者和开发DBMS的供应商研究的事情;逻辑层抽象:比物理层稍高层次的抽象,描述数据库中存储什么数据以及这些数据间存在什么关系。
数据库管理员和数据库应用开发人员必须确定数据库中应该保存哪些信息;视图层抽象:也叫概念层,是最高层次的抽象,但它只描述整个数据库的一小部分,系统可以为同一数据库提供多个视图。
例如:存储学生Student和老师Teacher的信息,其中Student包含Stu_number和Stu_name,Teacher包含Teach_no和Teach_name和Teach_age。
在物理层,Student和Teacher等记录可能被描述为由连续的存储位置组成的存储块。
数据库管理系统为数据库程序设计人员屏蔽了许多低层的存储细节。
在逻辑层,数据库管理员或程序设计人民在这个抽象层次上工作。
例如Student(Stu_number,Stu_name)Teacher(Teach_no,Teach_name,Teach_age)在视图层,数据库管理系统定义了数据库的多个视图,数据库用户看到的是这些视图。
除了屏蔽数据库的逻辑层细节外,视图还提供了防止用户访问数据库某些部分的安全机制。
例如用户只能看到教师的Teach_no和Teach_name,而不能看见Teach_age。
第2章实体-联系模型2.1 主码、侯选码和超码之间有什么区别?答:超码是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识每个实体。
通常我们只关心这样的超码:它们的任意真子集都不能成为超码,这样的最小超码称为候选码;对一个实体集来说,它的候选码不是唯一的。
主码是被数据库设计者选中的,用来在同一实体集中区分不同实体的侯选码;区别:(1) 从定义可知,超码是一个属性的集合,可以唯一的标识每个实体,属性集可能有冗余属性;(2) 侯选码是包含属性最少超码,即属性集中没有冗余属性。
侯选码不唯一。
(3) 主码是从侯选码集合中被数据库设计者选中的,用来识别实体的侯选码。
2.2 为交通管理局的车辆管理设计了一个E-R图。
交通管理局管理很多车主,每个车主有一辆或多辆机动车。
每辆机动车可能发生了0次或任意多次交通事故。
答:按要求设计出如下E-R图:2.3 将习题2.2的E-R图转换成表的形式。
owner(owner_number,owner_name,owner_sex,owner_birthday,owner_address) owner_car(owner_number,car_number,purchasing_date,car_price)car(car_number,car_type,manufactured_date,car_make)accident(accident_number,car_number,accident_date,accident_desc)2.4 强实体集和弱实体集之间有什么差别?答:其属性可形成主码的实体集称为强实体集;所有属性都不足以形成主码的实体集称为弱实体集。
差别:(1).强实体集和弱实体集存在依赖密切相关:●强实体集的成员必然是支配实体;●而弱实体集的成员只能是从属实体。
(2).弱实体集只有在参与多对一的联系集时才有意义,该联系集应该不具有任何属性。
2.5 根据讲课内容,给出学校有关学生、课程、教师和院系之间的E-R图。
答:根据讲课内容将上面实体之间的关系画到一起,可得到如下E-R图:第3章 关系模型3.1 关系和关系模式有什么区别?答:在数学上将关系定义为一系列域上的笛卡尔积的子集。
所谓数据库模式就是数据库在逻辑层的总体设计,一般简称模式;针对关系模型来说,数据库模式就是关系模式。
形象的说,关系模式的概念和程序设计语言中“数据类型”的概念类似;关系的概念和程序设计语言中数据类型的“变量”的概念类似。
如图3-1所示。
3.2 列出在数据库中引入空值的两个原因。
答:空值null 是所有可能域的成员,表示“值未知或不存在”。
因此引入空值的原因一:值未知;原因二:表示值不存在。
3.3 为什么要在数据库中定义视图?答:基于以下三点原因,希望用户和编程人员工作在视图层上:1. 出于安全上的考虑,不希望用户看到整个数据库的逻辑模式,而要隐藏掉部分数据;2. 希望产生比逻辑模式更加符合特定用户习惯的关系集合,也就是人们常说的个性化服务;3. 如果应用程序基于视图层的视图,就更容易实现逻辑数据独立性!3.4 使用下面的关系代数表达式表示所有与Smith 居住在同一城市同一街道的客户姓名。
))))(((("",""customer customer Smith name city street Smith name name =<>∏∏σσ><图3-1关系模型与程序设计言中数据类型的类比3.5 基于本章讲到的关系模式和关系,用关系代数表达式表示上课地点在三教的那些课程的开课教师所在系的名称。
答:题目所求的关系代数表达式为:)))((("" ___course teaching teacher like location course number teacher name department 三教σ><><∏∏3.6 基于本章讲到的关系模式和关系,用自然语言连接表示以下查询:找出所有既有教师讲授又有学生选修的课程名称。
答:所求自然连接表达式为:)(_teaching selecting name course ><∏3.7 设r(R)和s(S)是两个关系,并且S 是R 的子集,那么有))())((()(,r s r r s r S S R S R S R S R ----∏-⨯∏∏-∏=÷请分析此表达式的正确性。
答: 此表达式正确。
分析如下:首先:关系s r ÷,r(R)和s(S)之间的关系可用下图表示。
其次:在表达式))())((()(,r s r r s r S S R S R S R S R ----∏-⨯∏∏-∏=÷中, 表达式了r r S S R =∏-)(,,因此))())(((,r s r S S R S R S R ---∏-⨯∏∏可化简为)))(((r s r S R S R -⨯∏∏--。
由s r ÷和上图可以得出如下形式化描述:定理1:不妨设关系s 中有n 个元组si t (n i ≤≤1),若)(s r t ÷∈,对s t si ∈∀,则有r t tt si ri ∈+:(n i ≤≤1),反之亦然。
s r S R ⨯∏-)(:表示对r 中任一个元组r t ,记t S R t r =-][,则有))((s r t t t S R si rsi ⨯∏∈+-:(n i ≤≤1)。
因此若r 中存在形如r t tt si ri ∈+:(n i ≤≤1)的n 个元组,则由表达式)))(((r s r S R S R -⨯∏∏--就可以保证在其结果中不存在元组t ,因此必定有)))())((()((,r s r r t S S R S R S R S R ----∏-⨯∏∏-∏∈。
反之若某个r t t t si ri ∉+:(n i ≤≤1),则在结果)))(((r s r S R S R -⨯∏∏--中必定包含元组t ,从而在结果))())((()(,r s r r S S R S R S R S R ----∏-⨯∏∏-∏中不包含元组t 。
题目表达式左部满足定理1描述,因此表达式成立,即描述正确。
附:本章所讲到的关系模式有:1.Student_schema = (student_number, student_name, department_name)2.Department_schema= (department_name, department_location, department_leader)3.Course_schema = (course_name, course_location, course_capacity)4.Selecting_schema = (student_number, course_name)5.Teacher_schema = (teacher_number, teacher_name, teacher_age, department_name)6.Teaching_schema = (teacher_number, course_name)第4章 关系数据库查询语言SQL4.1 如下所示是一个保险公司的数据库,其中加下划线的是主码。