数据库第三章作业

合集下载

数据库第三章所有例题参考答案

数据库第三章所有例题参考答案

11级信管,保密,图档上机考试题目与参考答案

3.3Simple Select Statements

1.EXAMPLE 3.3.1

find the aid values and names of agents that are based in New York. select aid, aname from agents where city=’New York’;

2.EXAMPLE

3.3.3

Retrieve all pid values of parts for which orders are placed.

select distinct pid from orders;

3.EXAMPLE 3.3.4

retrieve all customer-agent name pairs, (cname, aname), where the customer places an order through the agent.

select distinct ame,agents.aname

from customers,orders,agents

where customers.cid=orders.cid and orders.aid=agents.aid;

4.EXAMPLE 3.3.6

all pairs of customers based in the same city.

select c1.cid, c2.cid

from customers c1, customers c2

where c1.city = c2.city and c1.cid < c2.cid;

《数据库》第三章参考答案

《数据库》第三章参考答案
(σAGE>’23’ ∧ SEX=‘M’(s)) >
(3)检索学号为 学生所学课程的课程名与 )检索学号为S3学生所学课程的课程名与 任课老师名。 任课老师名。
πCNAME,TNAME(σSNO =‘S3’ ( sc∞c)) ,
( 4) 检索至少选修 ) 检索至少选修LIU老师所授课程中一门 老师所授课程中一门 课的女学生姓名。 课的女学生姓名。
πSNAME(σSEX=‘F’∧TNAME=‘LIU’ (s∞sc ∞c))
同学不学的课程的课程号。 (5)检索 )检索WANG同学不学的课程的课程号。 同学不学的课程的课程号
πCNO(C) πCNO(σSNAME=‘WANG’(S∞ sc))
(6)检索至少选修两门课程的学生学号。 )
π1(σ1=4 ∧ 2≠5 (Sc ×sc)) ≠
来自百度文库
(7)检索全部学生都选修的课程的课程号与 ) 课程名。 课程名。
πcno
(S))) )
,CNAME
(C
∞ ( πSNO,CNO(SC) , )
÷
π
SNO
(8)检索选修课程包含 )检索选修课程包含LIU老师所授 老师所授 课程的学生学号。 课程的学生学号。
π sno,CNO(SC)
÷πCNO(σTNAME =‘LIU’(C))
[例 3.11]设有三个关系: 例 设有三个关系: 设有三个关系 学生关系: 学生关系 S(SNO,SNAME,AGE,SEX,SDEPT) ( , , , , ) 学习关系: 学习关系 SC(SNO,CNO,GRADE) ( , , ) 课程关系: 课程关系 C(CNO,CNAME,CDEPT,TNAME) ( , , , ) 试用关系代数表达式表示下列查询语句。 试用关系代数表达式表示下列查询语句。

数据库习题答案-3

数据库习题答案-3

《数据库习题答案》来自五星文库

点这里,有很多篇《数据库习题答案》

在线阅读本文:

数据库习题答案

导读:第三章习题,1.关系数据库设计理论,数据依赖范式和关系模式的规范化设计方法,其中数据依赖起着核心的作用,2.关系数据库中的关系模式至少要满足第一范式,如果每个属性值都是不可再分的最小数据单位,(2)试分析模式R的数据冗余问题,关系R中的C属性会存在在数据冗余,相应地原来存储在一张二维表内的数据就要分散存储到多张二维表中,第四章习题,A删除基本表B修改基本表中的数据,A数据项B 元组,C表D数据库

第三章习题

一、单项选择题

1.在关系模型R中,函数依赖X→Y的语义是(B )A.在R的某一关系中,若两个元组的X值相等,则Y值也相等

B.在R的每一关系中,若两个元组的X值相等,则Y值也相等

C.在R的某一关系中,X值应与Y值相等

D.在R的每一关系中,X值应与Y值相等

2.设学生关系模式为:学生(学号,姓名,年龄,性别,成绩,专业),则该关系模式的主键是( B )

A.性别B.学号

C.学号,姓名D.学号,姓名,性别

3.如果X→Y(Y不包含于X,且Y不能决定X)和Y→Z成立,那么X→Z成立。这条规则称为( B )

A.自反律B.传递律

C.伪传递律D.增广律

4.关系模式R2NF,则R一定是(b )

A.1NF B.3NF

C.BCNF D.4NF

5.设一关系模式为:运货路径(顾客姓名,顾客地址,商品名,供应商姓名,供应商地址),则该关系模式的主键是( C )A.顾客姓名,供应商姓名,供应商地址B.顾客姓名,商品名

C.顾客姓名,供应商姓名,商品名D.顾客姓名,顾客地址

数据库第3章习题

数据库第3章习题

(一)选择题

1.关系数据库管理系统应能实现的专门关系运算包括____。

A.排序、索引、统计B.选择、投影、连接

C.关联、更新、排序D.显示、打印、制表

2.在一个关系中如果有这样一个属性或属性组存在,它的值能唯一地标识关系中的每一个元组,称这个属性或属性组为____。

A.关键字B.数据项C.主属性D.主属性值

3.同一个关系模型的任两个元组值____。

A.不能全同B.可全同C.必须全同D.以上都不是

4.一个关系数据库文件中的各条记录____。

A.前后顺序不能任意颠倒,一定要按照输入的顺序排列

B.前后顺序可以任意颠倒,不影响库中的数据关系

C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同

D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列

5.在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。如果W中的元组属于R,或者属于S,则W为____运算的结果。如果W中的元组属于R而不属于S,则为____运算的结果。如果W中的元组既属于R又属于S,则W为____运算的结果。

A.笛卡尔积B.并C.差D.交

6.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为____;从表中选取满足某种条件的元组的操作称为____;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为____。

A.选择B.投影C.连接D.扫描

7.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的____。

A.元组B.行C.记录D.属性

数据库答案 第三章习题参考答案

数据库答案  第三章习题参考答案

4
习题三 第5题
1. 找出所有供应商的姓名及其所在城市。 Select sname, city from s; 2. 找出所有零件的名称、颜色、重量。 Select pname, color, weight from p; 3.找出使用供应商S1所供应零件的工程项目代码。 Select jno from spj where sno=‘S1’;
为选用y。
Select distinct jno From spj z Where not exists
(select * from spj x where sno=‘S1’
and not exists (select * from spj y where y.pno=x.pno and y.jno=z.jno));
color=‘红’; 或: Select sno from spj Where jno =‘J1’ and pno in
(Select pno from p where color=‘红’ );
2
4.求没有使用天津供应商生产的红色零件的工程号JNO。 Select jno From j Where not exists
where spj.sno=s.sno and s.city=‘上海’);
7
7. 找出没有使用天津产的零件的工程项目代码。 Select jno from j where not exists

数据库第三章习题答案

数据库第三章习题答案

第3章习题参考答案

3.1select readername,workunit,identitycard

from reader

where substring(identitycard,7,4)=‘1991’///字符串截取substr(字段名,起始点,个数) 或者

select readername,workunit,identitycard

from reader

where identitycard like ‘______1991%’六个_

3.2select readerno,readername,sex

from reader

where workunit=’信息管理学院’

3.3select readerno,readername, workunit,bookno,bookname,borrowdata

from reader,borrow,book

where reader.readerno=borrow.reader and borrow.bookno=book.bookno

and year(returndata) between 2005 and 2008 and ifreturn =0

3.4select a.classno,max(price) 最高价格,avg(price) 平均价格

from book a,bookclass b

where a.classno=b.classno

group by a.classno

order by 最高价格desc

3.5 select * from book where bookname like ‘%数据库%’

数据库第三章课后习题解答

数据库第三章课后习题解答

3-3 习题3

在SQL Server中,创建一个名为students且包含有下列几个属性的表。

SNO char(10);

NAME varchar(10);

SEX char(1);

BDATE datetime;

DEPT varchar(10);

DORMITORY varchar(10).

要求:1.采用两种形式创建表,即用SQL语句和用图形界面的形式来创建。

2.定义必要的约束,包括主键SNO,NAME值不允许为空,且SEX取值为0或1。【解答】

·进入SQL查询分析器建立查询,创建students表的SQL语句如下,操作如图所示。

use mydb /* 假设在mydb库中建表 */

create table students

(SNO char(10) not NULL primary key,

NAME varchar(10) not NULL,

SEX char(1) not NULL check(sex='0' or sex='1'),

BDATE datetime,

DEPT varchar(10),

DORMITORY varchar(10)

)

图用SQL语句创建students表

·进入企业管理器用基本操作创建students表。用右键单击“mydb”数据库,从弹出的菜单中选择“新建”,再从其下一级菜单中选择“表”。或者,用右键单击“mydb”数据库下一级的“表”,从弹出的菜单中选择“新建表”。然后,在弹出的窗体中,把students表所包含的字段逐一输入,每个字段都要指明列名、数据类型、长度和是否允许空值、是否主键等内容,如图所示。

数据库第三章部分习题答案

数据库第三章部分习题答案

3.2 对于教学数据库的三个基本表

S(S#,SNAME,AGE,SEX)

SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

试用SQL的查询语句表达下列查询:

3.2.1检索年龄小于17岁的女学生的学号和姓名

select s#,sname from S

where age<17 and sex=F;

3.2.2检索男生所学课程的课程号和课程名

select c#,cname from C

where c# in (select distinct c#

from SC

where s# in (select s# from S where sex=M)) 3.2.3检索男生所学课程的任课老师的工号和姓名

实用文档

select t#,tname from T

where t# in(select distinct t#

from C

实用文档

where c# in(select distinct c#

from SC

where s# in(select s#

from S

where sex=1)));

3.2.4检索至少选修两门课程的学生的学号

select s#

from SC

group by s#

having count(c#)>=2;

3.2.5检索至少有学号为S2和S4所学的课程和课程名select c#,cname

from C

实用文档

where c# in((select c#

from sc where s#='S2')

intersect

实用文档

(select c# from sc where s#='S4') );

(完整版)第三章数据库习题答案

(完整版)第三章数据库习题答案

4.针对上题中建立的4 个表试用sQL 语言完成第二章习题5 中的查询。

( l )求供应工程Jl 零件的供应商号码SNO ;

SELECT DIST SNO FROM SPJ WHERE JNO=’J1’

( 2 )求供应工程Jl 零件Pl 的供应商号码SNO ;

SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'

( 3 )求供应工程Jl 零件为红色的供应商号码SNO ;

SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红' ( 4 )求没有使用天津供应商生产的红色零件的工程号JNO ;

SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

( 5 )求至少用了供应商Sl 所供应的全部零件的工程号JNO ;

由于VFP不允许子查询嵌套太深,将查询分为两步

A、查询S1供应商供应的零件号

SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2)

B、查询哪一个工程既使用P1零件又使用P2零件。

SELECT JNO FROM SPJ WHERE PNO='P1'

AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')

数据库第三章作业

数据库第三章作业

数据库第三章作业

第三章SQL

一、填空题

1、在SQL查询时,如果要去掉查询结果中的重复组,需要用()

2、在SQL中使用()命令建立基本表

3、在SQL中使用()命令修改数据库模式。

4、在SQL的SELECT语句中,不仅可以出现属性名,还可以出现()。

5、当基本表中增加一个新列后,各元组在新列上的值是()。

6、在SQL中表示并集的关键字是(0)。

7、在SQL中表示差集的关键字是()。

8、SQL对嵌套查询的处理方法是从()层向()层处理。

9、在SQL中定义视图时,需要用关键字()连接子查询来完成。

10、SQL包括了数据定义、数据操纵和()等功能。

11、SQL对嵌套查询的处理方法是从()层向()层处理。

二、单选题

1、在SQL中,用户可以直接操纵的是()。

A. 基本表

B. 视图

C. 基本表或视图

D. 基本表和视图

2、在SQL中,与关系代数中的投影运算对应的字句是()。

A. SELECT

B. FROM

C. WHERE

D.ORDER BY

3、SELECT语句执行的结果是()。

A. 数据项

B. 元组

C. 表

D. 数据库

4、关系数据库的标准语言是()。

A. DDL

B. SQL

C. ORACLE

D. DBMS

5、在SELECT语句中使用*表示()。

A. 选择任何属性

B. 选择全部属性

C. 选择全部元组

D. 选择键码

6、使用CREATE TABLE语句建立的是()。

A. 数据库

B. 表

C. 视图

D. 索引

7、在SELECT语句中使用MIN(属性名)时,属性名()。

A. 必须是数值型

B. 必须是字符型

C. 必须是数值型或字符型

数据库原理及应用教程第三章作业

数据库原理及应用教程第三章作业

三、设计题

1、设有以下两个数据表,各表的结果及字段名如下:

图书(Book)包括书名(BNo)、类型(BType)、书名(BName)、作者(BAuth)、单价(BPrice)、出版社(PNo)

出版社(Publish)包括出版社号(PNo)、出版社名称(PName)、所在城市(PCity)、电话(PTel)。

用SQL实现下述功能:

(1)在“”高等教育出版社出版、书名为“操作系统”的图书的作者名;

答:select BAuth

from Book,Publish

where Book.PNo =Publish.PNo

and BName='操作系统'

and PName='高等教育出版社出版'

(2)查找为作者“张欣”出版全部“小说”类图书的出版社的电话;答:select PTel

from Book,Publish

where Book.PNo=Publish.PNo

and BAuth='张欣'

and BType='小说'

(3)查询“电子工业出版社”出版的“计算机”类的图书的价格,同时输出版社名称及图书类别;

答:select BPrice,PName,BType

from Book,Publish

where Book.PNo=Publish.PNo

and PName='电子工业出版社'

and BType='BType'

(4)查找比“人民邮电出版社”出版的“高等数学”价格低的同名书的有关信息;

答:select *

from Book

where BName='高等数学'

and BPrice< ANY (select BPrice

数据库原理及应用第3章课后习题答案

数据库原理及应用第3章课后习题答案

习题3

1.试述关系模型的3个组成部分。

1)数据结构

关系模型的数据结构非常简单,只包括单一的数据结构——关系。从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。

2)数据操作

关系操作采用集合操作方式,即操作的对象和结果都是集合。这种方式称为一次一集合的方式。而非关系数据结构的数据操作方式为一次一记录方式。

关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。

3)完整性约束

关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义完整性。

2.定义并理解下列术语,说明它们之间的联系与区别:

1)域、笛卡尔积、关系、元组、属性

①域(Domain)

域是一组具有相同数据类型的值的集合。

②笛卡尔积(Cartesian Product)

定义 3.2 给定一组域D1,D2,…,D n,这些域中可以有相同的域。D1,D2,…,D n 的笛卡尔积为:

D1×D2×…×D n={(d1,d2,…,d n)|d i D i,i=1,2,…,n}

③关系

D1×D2×…×D n的子集叫作在域D1,D2,…,D n上的关系,表示为:

R(D1,D2,…,D n),这里R是关系名。

④表的每行对应一个元组,也可称为记录(Record)。

⑤表的每列对应一个域,也可以称为字段(Filed )。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)。

2)主码、候选码、外码

①若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码(Key)。其中属性组中不能含有多余的属性。

数据库第三章习题及答案

数据库第三章习题及答案

将降序。
6、子查询的条件不依赖与父查询,这类查询称之为_不相关子查询_______,否则称之为_相关子查询_______。
7、若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为__行列子集视图
_________。
三、SQL 练习 1、设学生课程数据库中有三个关系:
A.ORDER BY B.WHERE C.GROUP BY D.无需配合 答案:C 16、与 WHERE G BETWEEN 60 AND 100 语句等价的子句是(
A. WHERE G>60 AND G<100
). 答案:D
B. WHERE G>=60 AND G<100
C. WHERE G>60 AND G<=100
WHERE SN=‘王华’)
B.SELECT SN,AGE,SEX
D.SELECT SN,AGE,SEX
FROM S
FROM S
WHERE SN=‘王华’
WHERE AGE>王华.AGE
答案:A
9、检索选修课程‘C2’的学生中成绩最高的学生的学号。正确的 SELECT 语句是

A. SELECT S# FORM SC
D.SELECT S# FORM SC
WHERE C#=‘C2’ AND GRADE IN

数据库第三章3

数据库第三章3

修改数据
三、带子查询的修改语句 例5:将计算机系的全体学生的成绩置0。 UPDATE SC SET Grade = 0
WHERE SNO IN
(SELECT SNO FROM Student
WHERE Student.Sdept=‘CS’)
14
3.4.2
修改数据
三、带子查询的修改语句 例6:把讲授‚3-245”课程的教师的岗位津贴增加100元。 UPDATE Teacher SET GWJT=GWJT+100 WHERE TNO IN (SELECT TNO FROM Course WHERE CNO=‘3-245')
列名:组成视图的全部属性列名或者全部指定或者全部省 略。

若不指定视图的各个属性列名,则默认由子查询中 SELECT子句中目标列的各字段组成。
但在以下三种情况下,必须明确指定组成视图的所有列名:



某个目标列不是单纯的属性名,而是集函数或列表达式;
多表连接时选出了几个同名列名作为视图的字段; 需要在视图中为某个列启用新的更合适的名字。
(SELECT Sdept
FROM Student
20
WHERE Student.Sno=SC.Sno)
3.4.3

删除数据
三、带子查询的删除语句
例3:删除计算机系所有学生的选课记录。 DELETE

数据库第3章习题参考答案

数据库第3章习题参考答案

第3章习题解答

1.选择题

(1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。

A.主键B.外键C.NULL D.CHECK (2)下列关于表的叙述正确的是(C)。

A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏

C.系统表可以隐藏D.系统表可以删除

(3)下列关于主关键字叙述正确的是(A )。

A.一个表可以没有主关键字

B.只能将一个字段定义为主关键字

C.如果一个表只有一个记录,则主关键字字段可以为空值

D.都正确

(4)下列关于关联叙述正确的是( C )。

A.可在两个表的不同数据类型的字段间创建关联

B.可在两个表的不同数据类型的同名字段间创建关联

C.可在两个表的相同数据类型的不同名称的字段间创建关联

D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段

(5)CREATE TABLE语句(C )。

A.必须在数据表名称中指定表所属的数据库

B.必须指明数据表的所有者

C.指定的所有者和表名称组合起来在数据库中必须唯一

D.省略数据表名称时,则自动创建一个本地临时表

(6)删除表的语句是(A)。

A.Drop B.Alter C.Update D.Delete

(7)数据完整性不包括(B )。

A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。

A.Insert一次只能插入一行的元组

B.Insert只能插入不能修改

C.Insert可以指定要插入到哪行

D.Insert可以加Where条件

数据仓库第三章作业答案

数据仓库第三章作业答案

数据仓库第三章作业

1.按列存储时面向分析的大数据存储平台一种常见的解决方案,请查阅资料学习,完成以下任务:

(1). 说明按列存储方式在存储与使用方面的优点,并通过案例给出图示说明原因;

(2). 说明何种类型的数据更适合用于列存储。

答:

数据库从逻辑上说,可以分为:

●关系型数据库

●非关系型数据库

从物理(存储)视角来看,可以分为:

●按行存储

●按列存储

行存储和列存储的主要区别在于,列存储将所有记录中相同字段的数据聚合存储,而行存储将每条记录的所有字段的数据聚合存储,如图1所示:

图1 行列存储的差别对比

为了更好的理解列存储,下面的例子能够很好的说明列存储的实际意义。

列式数据库以行、列的二维表的形式存储数据,但是却以一维字

and Firstname)及工资(Salary).

这个表存储在电脑的内存(RAM)和存储(硬盘)中,行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行的数据,以此类

推。

1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;

列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。

1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;

列存储相对于行存储有几下优点:

1.极高的装载速度(最高可以等于所有硬盘IO 的总和,基本是

极限了)

2.适合大量的数据而不是小数据

3.实时加载数据仅限于增加(删除和更新需要解压缩Block 然后

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章关系数据库系统RDBS

一. 简答题

1.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对

表中其它一般性的列,用什么限制来保证它们的完整性?

答:主键:其值必须是唯一,不为空值;

候选键:其值必须唯一,可有也只能有一个空值;

外键:主键值在修改和删除时,从表中与该主键值相同的外键值可级联(CASCADE)修改和删除,或改为空值、默认值、禁止主表主键值的修改和删除;

一般的列:检查约束和断言。

2.SQL SERVER中规则的目的?

答:规则的目的针对表中的某一列,指明该列的取值范围。

3.SQL SERVER中在定义某些限制时,分列级与表级,其分类的原则是什么?

答:列级检查约束针对表中一列;

表级检查约束则针对同一表中多列

4.外键限制定义的条件?

答:外键限制的列必须是另一个表中的主键。

5.关系代数的基本操作符?笛卡尔乘积最大的作用是什么?

答:基本操作符:投影,选择,交,积,差;

作用:把任意两个不相关的表相连。

6.为什么说在实际查询中自然连接是用得比较多的?

答:可以从两个关系实例的笛卡尔乘积中选出同时满足一个或多个条件等式的行,每个条件等式中的列名相同。

7.关系代数中对结果有重复元组时,如何处理?

答:将去掉重复元组。

8.连接的分类?

答:条件连接:加入连接条件,对两个关系实施连接;

等连接:是条件连接的特例。要求连接条件由等式组成;

自然连接:是等连接的特例。要求等式中涉及的字段名必须相等;

外连接:是涉及有空值的自然连接。

9.外连接又分3种,其依据是什么?

答:左外联结,右外联结,全外联结。

二. 单项选择题

1. ( ③ )不是关系代数的基本操作。

①Selection ②Projection ③Join ④Intersection 2. ( ③ )用唯一限制来约束。

①主键 ②外键 ③候选键 ④简单键 3. ( ② )与“列”不同义。

①字段 ②元组 ③成员 ④属性

三. 判断题(正确打√,错误打×)

1. ( √ )关系代数中的改名操作既可用于改名也可用于存放临时关系模式结果。

2. ( × )对主表,插入操作可能会违背参照完整性限制,但删除和更新不会。

3. ( × )等连接是自然连接的特例.

4. ( √ )关系代数是与关系模型有关的查询语言。

5. ( √ )外连接可能涉及有空值。

六. 设有如下图所示三个关系实例X 、Y 和Z ,请分别求出下列各表达式的值。

(1)σA = a1(Y ×Z )

(2)Y Z (3)X Y Z

答:(1)

{,,,,

1,a1,c1>,,,} (2)C A B c1 a1 b2

X A B Y B C Z A C

a1 b1 b1 c2 a1 c1 a1 b2 b2 c1 a1 c2 a2 b1 b1 c1 a2 c3 a3 b1 b1 c3 a3 c4

c1 a1 b1

c2 a1 b1

c3 a2 b1

c4 a3 null

(3)A B C

a1 b1 c1

a1 b1 c2

a1 b2 c1

a2 b1 c3

1.一个电影资料库有四个实体“电影”,“演员”,“导演”,“电影公司”。“电影”的属性有电影

编号,电影名,电影类型,对白语言;“演员”的属性有演员工作证号,姓名,出生年,性别;“导演”的属性有导演工作证号,姓名,出生年,性别;“电影公司”的属性有公司名称,所在国家。

这些实体间的联系及它们的属性有:演员出演电影,为多对多联系,该联系含角色属性;

导演执导电影,每部电影只由一个导演执导;演员和导演属于电影公司;电影公司出品电影,有出品年份属性。

1)请画出ER图,要求标出实体的主键、联系的约束类型和键约束。

2)将此ER图转换为关系模型,要求标出各关系的主键,如果存在的话还应指明其候选键和

外键。

3)请用关系代数表达式和SQL分别表达下列查询

①查询1957年之前出生的男演员的姓名。

②查询2000年环球公司出品的电影的名字和导演姓名。

③查询张一导演所导演的影片中的主角演员姓名。

答:(1)电影类型

(2)演员:演员工作证号为主健;

导演:导演工作证号为主健;

电影公司:电影公司为主健;

电影:电影编号为主键,导演工作证号为外键,电影名为候选键;

出演(演员工作证号,电影编号,角色)(演员工作证号,电影编号)为主健,演员工作证号和电影编号各为外键;

出品:为主健,电影编号和公司名称各为外键;

属于a:为主健,公司名称和演员工作证号各为外键;

属于b:为主健,公司名称,导演工作证号各为外键

(3)①σ

出生年 < 1957(演员)∩σ

性别 =男

(演员)

SELECT *FROM 演员WHERE出生年<1957 INTERSECT

SELECT*FROM WHERE性别=男

②ρ(Temp,σ

出品年份 =2000(出品)∩σ

公司名称=环球公司

(出品))

π电影名,姓名(Temp 电影导演)

SELECT 电影名

FROM 出品,电影

WHERE出品.出品年份=‘2000’AND出品.公司名称=环球公司AND出品.电影编号=电影.电影编号

INTERSECT

SELECT姓名

FROM 出品,电影,导演

WHERE出品.出品年份=‘2000’AND出品.公司名称=环球公司AND出品.电影编号=电影.电影编号AND导演.导演工作证号=电影.导演工作证号

③π姓名(σ

姓名=张一

(导演)电影出演演员)

SELECCT 姓名

FROM 导演,电影,出演,演员

WHERE 导演.姓名=‘张一’AND电影.导演工作证号=导演.导演工作证号AND出演.电影编号=演员.工作证号

相关文档
最新文档