资源描述
数据库复习资料1
1、 试述SQL语言得特点。
答:SQL语言集数据查询、数据操纵、数据定义与数据控制功能于一体.它除了具有一般关系数据库语言得特点外, 还具有3个特点:①SQL具有自含式与嵌入式两种形式:②SQL具有语言简洁、易学易用得特点③SQL支持三级模式结构。
2、 设职工社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期)。
其中:
1)职工表得主码为职工号。
2)社会团体表得主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。
3)参加表得职工号与编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。
试用SQL语句表达下列操作:
l)定义职工表、社会团体表与参加表,并说明其主码与参照关系。
1)CREAT TABLE职工(职工号CHAR(l0)NOT NULL UNIQUE,
姓名CHAR(8)NOT NULL,
年龄SMALLINT,
性别CHAR(2),
CONSTRAINT C1 CHECK(性别 IN(‘男’,‘女’)));
CREAT TABLE社会团体(编号CHAR(8)NOT NULL UNIQUE,
名称CHAR(12)NOT NULL,
负责人 CHAR(8),
活动地点 VARCHAR(50),
CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES职工(职工号));
CREAT TABLE参加(职工号CHAR(8),
编号CHAR(8),
参加日期 DATE
CONSTRAINT C3 PRIMARY KEY(职工号,编号),
CONSTRAIN C3 FOREIGN KEY (职工号)REFERENCES职工(职工号));
2)建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
2)CREAT VIEW社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)
AS SELECT编号,名称,负责人,姓名,性别
FROM社会团体,职工
WHERE社会团体,负责人=职工.职工号;
CREAT VIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
AS SELECT参加.职工号,姓名,社会团体编号,名称,参加日期
FROM职工,社会团体,参加
WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号;
3)查找参加唱歌队或篮球队得职工号与姓名。
3)SELECT职工号,姓名
FROM 职工,社会团体,参加
WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号
AND社会团体.名称IN(‘唱歌队’,‘篮球队’)
4)查找没有参加任何社会团体得职工情况。
4)SELECT*
FROM 职工
WHERE NOT EXISTS(SELECT*
FROM参加
WHERE参加.职工号=职工.职工号);
5)查找参加了全部社会团体得职工情况。
5)SELECT*
FROM职工
WHERE NOT EXISTS(SELECT*
FROM参加
WHERE NOT EXISTS
(SELECT*
FROM社会团体
WHERE参加.职工号=职工.职工号AND
参加.编号=社会团体.编号));
6)查找参加了职工号为“< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-:office:smarttags" />1001”得职工所参加得全部社会团体得职工号。
6)SELECT职工号
FROM职工
WHERE NOT EXISTS(SELECT*
FROM参加 参加1
WHERE参加1.职工号=‘1001’AND NOT EXISTS
(SELECT*
FROM参加 参加 2
WHERE 参加2.编号=参加1.编号AND
参加2.职工号一职工.职工号));
7)求每个社会团体得参加人数。
7)SELECT TCOUNT(职工号)
FROM 参加
GROUP BY编号;
8)求参加人数最多得社会团体得名称与参加人数。
8)SELECT社会团体.名称,COUNT(参加.职工号)
FROM社会团体 参加
WHERE 所在城市=‘天津’));
9)求参加人数超过100人得社会团体得名称与负责人。
9)UPDATE 供应零件
SET供应商代码=‘S3’
WHERE供应商代码=‘S5’ AND工程代码=‘J4’AND零件代码=‘P6’;
10)把对社会团体与参加两个表得数据查瞧、插入与删除数据得权力赋给用户李平,并允许她再将此权力授予其她用户。
10)DELETE
FROM供应零件
WHERE供应商代码=‘S2’;
DELETE
FROM供应商
WHERE供应商代码=‘S2’
3、 设工程_零件数据库中有四个基本表:
供应商(供应商代码,姓名,所在城市,联系电话);
工程(工程代码,工程名,负责人,预算);
零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)
试用SQL语句完成下列操作.
l)找出天津市供应商得姓名与电话。
2)查找预算在50000-100000元之间得工程得信息,并将结果按预算降序排列。
3)找出使用供应商S1所供零件得工程号码。
4)找出工程项目J2使用得各种零件名称及其数量。
5)找出上海厂商供应得所有零件号码。
6)找出使用上海产得零件得工程名称。
7)找出没有使用天津产零件得工程号码。
8)把全部红色零件得颜色改成蓝色。
8)UPDATE 零件
SET颜色=‘蓝色’
WHERE颜色=‘红色’;
9)将由供应商S5供给工程代码为J4得零件P6改为由S3供应,并作其她必要得修改。
10)从供应商关系中删除S2得记录,并从供应零件关系中删除相应得记录。
4、 在嵌入式SQL中,如何区分SQL语句与主语言语句?
答:
在嵌入方式下 ,SQL语句在嵌入主语言得程序时其前缀加 EXEC SQL ;其结束处用EN D_EXEC或用分号“;”。
5、 在嵌入式SQL中,如何解决数据库工作单元与源程序工作单元之间得通信?
答:
数据库得工作单元与程序工作单元之间通信得主要方式有:主语言通过主变量向SQL语句提供参数;SQL语旬得当前工作状态与运行环境数据要返馈给应用程序。
6、 在嵌入式SQL中,如何协调SQL语言得集合处理方式与主语言得单记录处理方式?
答:
使用游标解决SQL一次一集合得操作与主语言一次一记录操作得矛盾。游标就是系统为用户开设得一个数据缓冲区 存放SQL语句得执行结果。用户可以通过游标逐一获取记录.并将记录赋给主变量.交给主语言做进一步处理。
7、 SQL 语言集数据查询、数据操作、数据定义与数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功_____B___。
A、 数据查询 B、 数据操纵
C、 数据定义 D、 数据控制
8、 下面列出得关于视图(View)得条目中,不正确得就是___C_____。
A、 视图就是外模式
B、 视图就是虚表
C、 使用视图可以加快查询语句得执行速度
D、 使用视图可以简化查询语句得编写
9、 在SQL语言得SELECT语句中,能实现投影操作得就是____A____。 A、 SELECT B、 FROM
C、 WHERE D、 GROUP BY
10、 SQL语言集数据查询、数据操纵、数据定义与数据控制功能于一体,语句ALTER TABLE实现哪类功能___C____。
A、 数据查询 B、 数据操纵
C、 数据定义 D、 数据控制
11、 在关系数据库系统中,为了简化用户得查询操作,而又不增加数据得存储空间,常用得方法就是创建____C___。
A、 另一个表 B、 游标
C、 视图 D、 索引
数据库复习资料2
1.试述关系模型得三个组成部分。
答:关系模型得三个组成部分为关系结构、关系操作与关系完整性约束。
在关系模型中,无论就是实体集,还就是实体集之间得联系均由单一得关系表示。关系模式可以形式化地表示为:R(U,D,Dom,F),其中R为关系名,U为组成该关系得属性集合,D为属性组U中属性所来自得域,Dom为属性向域得映像得集合,F为属性间数据得依赖关系集合。
关系操作语言包括关系代数、关系演算与基于映像得语言。关系操作语言灵活方便.表达能力与功能都非常强大。其主要特点就是:关系操作语言操作一体化;关系操作得方式就是一次一集合方式;关系操作语言就是高度非过程化得语言。
关系模型中有三类完整性约束:实体完整性、参照完整性与用户定义得完整性。
2.试述关系数据语言得特点与分类。
答:关系操作语言灵活方便,表达能力与功能都非常强大,其主要特点就是:关系操作语言操作一体化;关系操作得方式就是一次一集合方式;关系操作语言就是高度非过程化得语言。关系操作语言包括关系代数、关系演算与基于映像得语言。关系代数语言就是用对关系得运算来表达查询要求得语言。关系演算语言就是用查询得到得元组应满足得谓词条件来表达查询要求得语言。基于映像得语言就是具有关系代数与关系演算双重特点得语言。
3.定义并解释下列术语,说明它们之间得联系与区别。
1)主码、候选码、外码。3.答:
若关系中得某一属性组(或单个属性)得值能惟一标识一个元组,则称该属性组(或属性)为候选码。当一个关系有多个候选码时,应选定其中得一个候选码为主码;而如果关系中只有一个候选码,这个惟一得候选码就就是主码。
设F就是基本关系R得一个或一组属性,但不就是关系R得主码(或候选码)。如果F与基本关系s得主码KS相对应,则称厅就是基本关系R得外码。
2)笛卡尔积、关系、元组、属性、域。
给定一组域D1,D2,…, Dn.这些域中可以有相同得部分,则D1,D2,…, Dn得笛卡地积为:D1×D2×…×Dn﹦{(dl,d2,…,dn)∣di∈Di,i=1,2, …,n}。
D1×D2×…×Dn得子集称作在域D1,D2,…, Dn上得关系,表示为:R(D1,D2,…, Dn)。其中,R表示关系得名字,n就是关系得目。
笛卡儿积集合中得每一个元素(dl,d2,…,dn)称为一个元组。
关系中得每一列称为一个属性。
域为数据集合,属性值来源于域。
3)关系、关系模式、关系数据库。
关系就是留卡儿积得有限子集,所以关系也就是一个二维表。
关系得描述称为关系模式。关系模式可以形式化地表示为:R(U,D,Dom,F)。其中R为关系名,它就是关系得形式化表示;U为组成该关系得属性集合;D为属性组U中属性所来自得域;Dom为属性向域得映像得集合;F为属性问数据得依赖关系集合。
在某一应用领域中,所有实体集及实体之间联系所形成关系得集合就构成了一个关系数据库。
4、 试述关系模型得完整性规则。在参照完整性中,为什么外码属性得值也可以为空?什么情况下才可以为空?
答:
关系模型中有三类完整性约束:实体完整性、参照完整性与用户定义得完整性。
关系得实体完整性规则为:若属性A就是基本关系R得主属性,则属性A得值不能为空值。关系得参照完整性规则为:若属性(或属性组)F就是基本关系R得外码,它与基本关系S得主码Ks相对应(基本关系R与S不一定就是不同得关系),则对干R中每个元组在F上得值必须取空值(F得每个属性值均为空值)或者等于S中某个元组得主码值。用户定义得完整性就就是针对某一具体关系数据库得约束条件,它反映某一具体应用所涉及得数据必须满足得语义要求。
由于外码在被参考关系A中,就是非主属性,其值为空,不影响关系得实体完整性。当外码值不清楚或不确定时,可以设为空值,此时参照表中没有对应得记录与之匹配。
5、 试述等值连接与自然连接得区别与联系。
答:
等值连接就是从关系R与S得广义笛卡儿积中选取A与B属性值相等得那些元组。自然连接就是一种特殊得等值连接,它要求两个关系中进行比较得分量必须就是相同得属性组,并且在结果中把重复得属性列去掉。
6、 对于学生选课关系,其关系模式为:
学生(学号,姓名,年龄,所在系);
课程(课程名,课程号,先行课);
选课(学号,课程号 成绩)。
用关系代数完成如下查询。
1)求学过数据库课程得学生得姓名与学号。
2)求学过数据库与数据结构得学生姓名与学号。
3)求没学过数据库课程得学生学号。
4)求学过数据库得先行课得学生学号。
7、 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNANE,CITY);
SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目得数量为QTY。
试用关系代数完成如下查询:
1)求供应工程J1 零件得供应商号码SNO。
2)求供应工程J1 零件P1得供应商号码SNO。
3)求供应工程J1 零件为红色得供应商号码SNO。
4)求没有使用天津供应商生产得红色零件得工程号。
5)求至少用了供应商S1所供应得全部零件得工程号。
8、 设属性A 就是关系R 得主属性,则属性A 不能取空值小(NULL),这就是__A_____。
A、 实体完整性规则 B、 参照完整性规则
C、 用户定义完整性规则 D、 域完整性规则
9、 下面对于关系得叙述中,不正确得就是__D_____。
A、 关系中得每个属性就是不可分解得 B、 在关系中元组得顺序就是无关紧要得
C、 任意得一个二维表都就是一个关系 D、 每一个关系只有一种记录类型
10、 设关系R与S得元组个数分别为100与300,关系T就是R与S得笛卡尔积 则T得元组个数就是_____C___。
A、 400 B、 10000
C、 30000 D、 90000
11、 设关系R与关系S具有相同得目(或称度),且相对应得属性得值取自同一个域,则R-(R-S)等于_____B___。
A、 R∪S B、 R∩S
C、 R╳S D、 R-S
数据库复习资料3
名词解释
1.函数依赖:用U表示属性集得全集{A1,A2,……,An},设R(U)就是属性集U上得关系模式。X、Y就是U得子集。若对于R(U)得所有具体关系r都满足如下约束:对于X得每一个具体值,Y有唯一得具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作X→Y,X称做决定因素。
2.部分函数依赖:设XY就是关系模式R(U)得一个函数依赖,如果存在X得真子集X’,使得X’→Y成立,则称Y部分依赖于X,记作X→Y。
3.完全函数依赖:设X→Y就是关系模式R(U)得一个函数依赖,如果不存在X得真子集X’,使得X’→Y成立,则称Y完全函数依赖于X,记作X→Y。
4.传递函数依赖:在同一关系模式R(U)中,如果存在非平凡函数依赖X→Y,Y→Z,而Y→X,则称Z传递依赖X。
5.候选关键字(Candidate key):在关系模式R(U)中,K就是U中得属性或属性组。如果K→U,则称K为关系R(U)得一个候选关键字。
6.主关键字(Primary key):R(U)中若有一个以上得候选关键字,则选定其中一个作为主关键字。
7、全关键字:如果关系模式中不存在函数依赖,则全部属性构成关键字,即为全关键字。
8.外关键字:在关系模式R(U)中,若属性或属性组X不就是关系R得关键字,但X就是其她关系模式得关键字,则称X为关系R(U)得外关键字。
9.主属性:包含在任意一个候选关键字中得属性。
10.非主属性:不包含在任意一个候选关键字中得属性。
11.1NF:在关系模式R中得每一个具体关系r中,如果每一个属性值都就是不可再分得最小数据单位,则称R就是第一范式得关系。记为R∈1NF。
12.2NF:如果关系模式R(U,F)中得所有非主属性都完全函数依赖于任一候选关键字,则称关系R就是第二范式得。记为R∈2NF。
13.3NF:如果关系模式R(U,F)中得所有非主属性对任何候选关键字都不存在传递依赖,则称关系R就是第三范式得。记为R∈3NF。
14.BCNF:如果关系模式R(U,F)得所有属性都不传递依赖于R得任何候选关键字,那么称关系R就是属于BCNF得。记为R∈BCNF。
关系模式R,如果每个决定因素都包含关键字(而不就是被关键字所包含),则R就是BCNF得关
系模式。
1. 实体:客观存在并相互区别得事物。
2. 实体集:同一类实体得集合。
3. 实体型:用命名得实体型表示抽象得实体集。
4. 属性(Attribute):描述实体得特性,表中得一列即为一个属性。
5. 联系:实体集之间得对应关系称为联系,它反映现实世界事物之间得相互关联。
6. 关系:一个关系就就是一张二维表,每个关系有一个关系名。关系就是关系模式在某一时刻得状态或内容。关系模式就是静态得、稳定得,而关系就是动态得、随时间不断变化得,因为关系操作在不断地更新着数据库中得数据。
7. 关系模式:关系得描述称为关系模式。它可以形式化地表示为: R(U,D,dom,F)其中R为关系名,U为组成该关系得属性名集合,D为属性组U中属性所来自得域,dom为属性向域得映象集合,F为属性间数据得依赖关系集合。一般表示为:关系名(属性1,属性2,……,属性)。
8. 关系模型:一个具体得关系模型就是若干个关系模式得集合。它由关系数据结构、关系操作集合与关系完整性约束三部分组成。在用户观点下,关系模型中数据得逻辑结构就是一张二维表,它由行与列组成。
9. 元组(Tuple):表中得行称为元组,一行为一个元组,对应存储文件中得一个记录值。
10.基本表:本身独立存在得表,即实际存储在数据库中得表,而不就是从其她表导出来得。
11.视图:从一个或几个基本表或其她视图导出来得表。视图本身并不独立存储数据,系统只保存视图得定义。
12、 域:属性得取值范围;就是一组具有相同数据类型得值得集合。
13、关键字:表中得某个属性组,它可以唯一确定一个元组。
14、分量(ponent):元组中得每一个属性值di。
15、数据模型:数据模型就是一组严格定义得概念集合。这些概念精确地描述了系统得数据结构、数据操作与数据完整性约束条件。
16、 关系数据库:关系数据库也有型与值之分。关系数据库得型也称为关系数据库模式,就是对关系数据库得描述,它包括若干域得定义以及在这些域上定义得若干关系模式。关系数据库得值就是这些关系模式在某一时刻对应得关系得集合,通常就称为关系数据库。
17、外部关键字:设F就是基本关系R得一个或一组属性,但不就是关系R得关键字,如果F与基本关系S得主关键字Ks相对应,则称F就是基本关系R得外部关键字(Foreign key),简称外关键字。基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R与S可以就是相同得关系。
展开阅读全文