
数据库的关系代数表达式是由关系代数运算经有限次复合而成的式子。
在关系代数运算中,把由并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)五个基本 *** 作经过有限次复合的式子称为关系代数表达式。关系代数表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的各种数据查询和更新 *** 作。
关系代数表达式用到的运算符包括集合运算符、专门的关系运算符、算术比较符和逻辑运算符。和交(∩)、联接(等值联接)、自然联接(RXS)、除法(÷) 四个组合 *** 作。
扩展资料:
关系代数表达式的运算过程是将关系的属性分为像集属性和结果属性两部分;与关系相同的属性属于像集属性;不相同的属性属于结果属性。在关系中,对像集属性投影,得到目标数据集。将被关系分组。
分组原则是结果属性值一样的元组分为一组。逐一考察每个组,如果它的像集属性值中包括目标数据集,则对应的结果属性应属于该运算结果集。
一、选择题1.设有关系R(A,B,C)和S(C,D)。与SQL语句• select A,B,D from R,S where R.C=S.C
等价的关系代数表达式是(B)
A. σR.C=S.C(πA,B,D(R×S)) • B. πA,B,D(σR,C= S.C (R×S))
C. σR.C=S.C((πA,B R)×(πDS)) • D. σR,C=S.C(πD((πA,BR)×S)
2、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T的元数是(C)
A. 7 B. 9 C. 12 D. 16
3、数据库设计阶段分为(B)
A. 物理设计阶段、逻辑设计阶段、编程和调试阶段
B. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段
C. 方案设计阶段、总体设计阶段、个别设计和编程阶段
D. 模型设计阶段、程序设计阶段和运行阶段
4、设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是(C)
A. 若X→→Y,则X→→ZB. 若X→Y,则X→→Y
C. 若X→→Y,且Y′⊂Y,则X→→Y′ D. 若Z=Φ,则X→→Y
5、查询优化策略中,正确的策略是(D)
A.尽可能早地执行笛卡尔积 *** 作 B.尽可能早地执行并 *** 作
C.尽可能早地执行差 *** 作 D.尽可能早地执行选择 *** 作
6、语句delete from sc 表明(A)
A. 删除sc中的全部记录 B. 删除基本表sc•
C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行
7、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现(B)
A. 指针 B. 游标 C. 数组 D. 栈
8、五种基本关系代数运算是( A )
A. ∪,-,×,π和σ B. ∪,-,⋈,π和σ
C. ∪,∩,×,π和σD. ∪,∩,⋈,π和σ
9、下列聚合函数中不忽略空值(null) 的是 ( C )\
A. SUM (列名) B. MAX (列名)• C. COUNT ( * ) D. AVG (列名)
10、在数据库设计中,将ER图转换成关系数据模型的过程属于(B)
A. 需求分析阶段 B. 逻辑设计阶段• C. 概念设计阶段D. 物理设计阶段
11.在SQL语言的SELECT语句中,实现投影 *** 作的是哪个子句?(A)
A. select B. from C. Where D. group by
12、设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是(A)
A. 实体完整性规则B. 参照完整性规则
C. 用户定义完整性规则D. 域完整性规则
13. 当数据库损坏时,数据库管理员可通过何种方式恢复数据库( A )。
A. 事务日志文件B. 主数据文件
C. DELETE语句 D. 联机帮助文件
14. 不属于SQL Server系统全局变量的是( D)。
A. @@Error B. @@Connections
C. @@Fetch_Status D. @Records
还有六个 不知道了...
反正就是这个类型的
二、填空题
• 1、用树型结构表示实体类型及实体间联系的数据模型称为 层次模型。
• 2、关系数据库的关系演算语言是以谓词演算为基础的DML语言。
• 3、从数据库管理系统角度看,数据库系统通常采用三级模式结构,即数据库系统由内模式、外模式和 模式 组成。
• 4、RDMBS查询处理可分为查询分析、查询检查、查询优化和查询执行 四个阶段。
• 5、概念结构设计是对现实世界的一种抽象,一般有分析 、聚集、概括共三种抽象机制。
• 6、物理优化就是要选择高效合理的 *** 作算法或 存取路径 以求得优化的查询计划。
• 7、将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念结构设计通常有四类方法:自顶向上、自底向下、逐步扩张和混合策略。
• 8、在关系模式R<U,F>中若不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集)使得X→Y,Y→Z成立,且YX,则称R∈3NF。
9. 触发器是一种特殊的存储过程,它可以在对一个表上进行_插入(insert)、 _删除(delete)__和___更新(update_____ *** 作中的任一种或几种 *** 作时被自动调用执行。
(还有一个 .....)
三、简答题
• 1、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?
答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据
类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不
变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻
辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,
由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也
不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三
级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理
独立性。
• 2、数据库的完整性概念与数据库的安全性概念有什么区
别和联系?
答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存
在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In
Garba : e out )所造成的无效 *** 作和错误结果。后者是保护数据库防止恶意的破坏和非法的
存取。也就是说,安全性措施的防范对象是非法用户和非法 *** 作,完整性措施的防范对象是
不合语义的数据。
• 3、试给出多值依赖、和4NF的定义。
• 4、试给出函数依赖、BCNF的定义。
• 5、简述嵌入式SQL语句与主语言之间的通信。
首先用SQL通信区(SQL Communication Area,简称SQLCA)向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程;在程序运行中,主语言向SQL语句提供参数,使用主变量(host variable)输入数据;同时,程序把SQL语句查询数据库的结果交主语言进一步处理,其中使用主变量和游标(cursor)向主语言输出数据,从而实现了SQL语言的过程化工作。
SQL语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种数据,这些信息将送到SQL通信区SQLCA中。应用程序从SQLCA中取出这些状态信息,据此决定接下来执行的语句。
• 6、试述RDBMS查询优化的一般步骤。
( l )把查询转换成
某种内部表示,通常用的内部表示是语法树。 ( 2 )把语法树转换成标准(优化)形式。即
利用优化算法,把原始的语法树转换成优化的形式。 ( 3 )选择低层的存取路径。 ( 4 )生
成查询计划,选择代价最小的。
• 7、试述RDBMS查询优化的一般准则。
答:下面的优化策略一般能提高查询效率: ( l )选择运算应尽可能先做; ( 2 )把投影运
算和选择运算同时进行; ( 3 )把投影同其前或其后的双目运算结合起来执行; ( 4 )把
某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算; ( 5 )找出公共子表
达式; ( 6 )选取合适的连接算法。
• 8、什么是数据库的逻辑结构设计?试述其设计步骤。
答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选
用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 : ( l )将概念结构转换
为一般的关系、网状、层次模型; ( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持
下的数据模型转换; ( 3 )对数据模型进行优化。
• 9、数据字典的内容和作用是什么?
答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括: ( l )数据项;
( 2 )数据结构; ( 3 )数据流; ( 4 )数据存储; ( 5 )处理过程五个部分。其中数据项是
数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据
结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库
中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过
程中不断修改、充实、完盖。
四、设计题
1、今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)Person(pno, pname, page, ptitle, psal, dno)部门 (部门号,名称,经理名,地址,电话号)Depart(dno, dname, dmanager, daddress, dtel)请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(1)用户yong对两个表有INSERT 和DELETE权力。
GRANT INSERT,DELETE ON Person,Depart
TO yong
(2)用户liu对职工表有SELECT权力,对工资字段具有更新权力。
GRANT SELECT,UPDATE(psal) ON Person
TO liu
(3)用户zhang具有修改这两个表的结构的权力。
GRANT ALTER TABLE ON Person,Depart
TO zhang
(4)用户yang具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资,并具有给其他用户授权的权力。
视图:
CREATE VIEW psal AS
SELECT Depart.dname,MAX(psal),MIN(psal),AVG(psal)
FROM Person,Depart
WHERE Person.dno=Depart.dno
GROUP BY Person.dno
GRANT SELECT ON psal
TO yang with grant option
(5)撤销各用户yang所授予的权力 授权:
REVOKE ALL PRIVILIGES ON Person,Depart FROM YANG
• 2、假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门
号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号
为主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条
件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。
答
CREATE TABLE DEPT
(Deptno NUMBER(2),
Deptname VARCHAR(10),
Manager VARCHAR(10),
PhoneNumber Char(12)
CONSTRAINT PK_SC RIMARY KEY(Deptno))
CREATE TABLE EMP
(Empno NUMBER(4),
Ename VARCHAR(10),
Age NUMBER(2),
CONSTRAINT C1 CHECK ( Aage<=60),
Job VARCHAR(9),
Sal NUMBER(7,2),
Deptno NUMBER(2),
CONSTRAINT FK_DEPTNO
FOREIGN KEY(Deptno)
REFFERENCES DEPT(Deptno))
• 3、设某商业集团关于商店销售商品的数据库中有三个基本表:
• 商店SHOP(S#,SNAME,AREA,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。
销售SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量。
商品GOODS(G#,GNAME,PRICE)
• 其属性是商品编号,商品名称,单价。
• (1)试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。
解:关系代数表达式:πS#,SNAME(σGNAME='冰箱'(SHOP⋈SALE⋈GOODS))
元组表达式:{ t | (u) (v) (w) (SHOP (u)∧SALE (v)∧GOODS (w)
∧u[1]=v[1]∧v[2]=w[1]∧w[2]= '冰箱'∧t[1]=u[1]∧t[2]=u[2])}
关系逻辑规则:W(u1,u2)SHOP(u1,u2,u3,u4)∧SALE(u1,v2,v3)∧GOODS(v2, '冰箱',w3)
• (2)试写出上面第(1)问的SELECT语句表达形式。
解:SELECT语句如下:
SELECT A.S#,SNAME
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';
• (3)试写出下列 *** 作的SQL语句:从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。
解:DELETE FROM SALE
WHERE S# IN(SELECT S#
FROM SHOP
WHERE SNAME='开开商店')
AND G# IN(SELECT G#
FROM GOODS
WHERE PRICE>1000);
• (4)写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。
解:CREATE ASSERTION ASSE8 CHECK
(100<=ALL(SELECT PRICE
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'));
或 CREATE ASSERTION ASSE8 CHECK
(NOT EXISTS(SELECT *
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G#
AND AREA='EAST' AND PRICE<100));
• (5)试写出下列 *** 作的SQL语句:
• 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。
• 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。
解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,
PRICE*SUM(QUANTITY)AS SUM_VALUE
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'
GROUP BY C.G#,GNAME;
(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)
• 4、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者
号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对
每本被借出的书存有读者号、借出日期和应还日期。要求:给出E 一R 图,再将其转换为关系模型。
答:
关系模型为:读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书
(读者号,书号,借出日期,年龄,单位)应还日期)
• 6、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:供应商(供应商代码,供应商姓名,供应商状态,供应商所在城市)
S(SNO,SNAME,STATUS,CITY)
•零件(零件代码,零件名,颜色,重量)
•P(PNO,PNAME,COLOR。WEIGHT)
• 工程项目(工程项目代码,工程项目名,工程项目所在城市)
• J(JNO,JNAME,CITY)
• 供应情况(供应商代码,零件代码,工程项目代码,供应数量)
• SPJ(SNO,PNO,JNO,QTY)
• 试用关系代数和SQL语言完成下列查询。
• (1)求供应工程J1零件的供应商号码SNO:
SELECT DIST SNO FROM SPJ WHEREJNO='J1'
• (2)求供应工程J1零件P1的供应商号码SNO:
SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1';
• (3)求供应工程J1零件为红色的供应商号码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)求至少用了供应商S1所供应的全部零件的工程号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');
是否具有损连接的分解
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)