数据库第二章关系代数习题
- 格式:doc
- 大小:71.50 KB
- 文档页数:5
第2章关系数据库习题参考答案1、试述关系模型的三个组成部分。
(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2、试述关系数据语言的特点和分类。
(47页)答:关系数据语言可以分为三类:A、关系代数语言。
B、关系演算语言:元组关系演算语言和域关系演算语言。
C、SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
2、定义并理解下列术语,说明它们联系与区别:(P46---50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:●或者取空值(F的每个属性值均为空值);●或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))(见P62页例6)6.试述等值连接与自然连接的区别和联系。
一、单项选择题1 对关系模型叙述错误的是___________.A建立在严格的数学理论、集合论和谓词演算公式的基础之上B微机DBMS绝大部分采取关系数据模型C用二维表表示关系模型是其一大特点D不具有连接操作的DBMS也可以是关系数据库系统2 关系模式的任何属性____________。
A 不可再分B 可再分C 命名在该关系模式中可以不唯一D 以上都不是3在通常情况下,下面的关系中不可以作为关系数据库的关系是________A R1(学生号,学生名,性别)B R2(学生号,学生名,班级号)C R3(学生号,学生名,宿舍号)D R4(学生号,学生名,简历)4 关系数据库中的关键字是指______________。
A 能唯一决定关系的字段B 不可改动的专用保留字C 关键的很重要的字段D 能唯一标识元组的属性或属性集合5 根据关系模式完整性规则,一个关系中的“主码”______________。
A 不能有两个属性B 不能成为另一个关系的外码C 不允许为空D 可以取值6 关系数据库中能唯一识别元组的那个属性/属性组合称为____________。
A 唯一性的属性B 不可改动的保留字段C 关系元组的唯一性 D 关键字段7关系模型中,一个关键字是_________。
A可由多个任意属性组成 B至多由一个属性组成C可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D以上都不是8 在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为___________。
A 外码B 候选码C 主码D 超码9 一个关系数据库文件中的各条记录__________。
A前后顺序不能任意颠倒,一定要按照输入的顺序排列B前后顺序可以任意颠倒,不影响库中数据关系C前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列10 在关系代数运算中,五种基本运算为___________。
第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。
A. 一个关系至少要有一个候选码B. 列的次序可以任意交换C. 行的次序可以任意交换D. 一个列的值可以来自不同的域2、下列说法正确的是()。
A. 候选码都可以唯一地标识一个元组B. 候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。
A. 记录B. 集合C. 元组D. 列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。
A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 关系不变性5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6B. 4C. 5D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。
()2、关系模型中,非主属性不可能出现在任何候选码中。
()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。
()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。
2、关系模型的三类完整性约束是指______________、_______________和_____________。
3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。
4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。
四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage, Tsex)Department(Dno, Dname, Tno)Work(Tno, Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成。
第二章关系数据库系统一、单选题1. ___ 不是集合。
A. 关系B.关系模式C.域D.笛卡儿乘积2. 任何关系的一个元组只能通过外部键与另一个关系中存在的元组相关联,这是。
A. 关系运算的安全性B.数据库的安全性C.关联完整性约束D.实体完整性约束3. 关系数据库系统实体完整性约束的意义在于________ 。
A.用主键唯一识别元组B.实现实体间联系C.防范非授权访问D.保证关系运算安全性4. 设关系R和S的共同属性是a, ______ 不是R和S的连接运算(记条件f.R.a=S.a)A.R g f SB. d f(R X S)C.(R f S)00f SD.(R f S)00f R5. 在不另加约束条件的情况下,________系统是安全的。
A.关系运算B.关系代数C.兀组关系演算D.域关系演算6. 实体-联系模型是_______ 的数据模型。
A. 每个关系代数表达式都有一个等价的元组演算表达式与之对应。
B. 每个元组演算表达式都有一个等价的关系代数表达式与之对应。
C. 每个域演算表达式都有一个等价的关系代数表达式与之对应。
D. 每个元组演算表达式都有一个等价的域演算表达式与之对应。
7. 关系模式的候选键必须具有的性质是________ 。
A.唯一性B.最小性C.A和BD.由单个属性组成8. 数据库语言的使用方式是_______ 。
A.交互使用B.嵌入到宿主语言C.A或BD.作为程序设计语言的子语言9. 关系代数查询语言ISBL的并/交运算与关系代数标准定义的区别是参加运算的关系____ 。
A.是否具有相同的属性数目B.对应属性是否具有相同的域C.对应属性的名称是否相同D.元组数目是否相同10. 具有重命名功能的投影操作属于________ 的运算系统。
A.标准关系代数B.ISBL语言C.QUEL语言D.QBE语言11. ___________________________________ 关于DBMS勺主要任务,最准确的是。
关系代数习题1. 下面的选项不是关系数据库基本特征的是()。
A.不同的列应有不同的数据类型B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关2. 一个关系只有一个()。
A.候选码B. 外码C. 超码D. 主码3. 关系模型中,一个码是()。
A.可以由多个任意属性组成B.至多由一个属性组成C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D.以上都不是4. 现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。
A. 患者编号B. 患者姓名C. 患者编号和患者姓名D. 医生编号和患者编号5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。
A. 书号B. 读者号C. 书号+读者号D. 书号+读者号+借期6. 关系模型中实现实体间 N:M 联系是通过增加一个()。
A.关系实现B. 属性实现C. 关系或一个属性实现D. 关系和一个属性实现7. 关系代数运算是以()为基础的运算。
A. 关系运算B. 谓词演算C. 集合运算D. 代数运算8. 关系数据库管理系统应能实现的专门关系运算包括()。
A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表9. 五种基本关系代数运算是()。
A.∪-×σ πB.∪-σ πC.∪∩× σ πD.∪∩σ π11. 关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B. 抽出特定字段C.建立相应的影像D. 建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B. 联接C. 选择D. 复制13. 关系代数中的联接操作是由()操作组合而成。
第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。
A. 一个关系至少要有一个候选码B. 列的次序可以任意交换C. 行的次序可以任意交换D. 一个列的值可以来自不同的域2、下列说法正确的是()。
A. 候选码都可以唯一地标识一个元组B. 候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。
A. 记录B. 集合C. 元组D. 列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。
A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 关系不变性5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6B. 4C. 5D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。
()2、关系模型中,非主属性不可能出现在任何候选码中。
()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。
()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。
2、关系模型的三类完整性约束是指______________、_______________和_____________。
3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。
4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。
四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage, Tsex)Department(Dno, Dname, Tno)Work(Tno, Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成。
数据库(关系代数)练习题习题一实体联系图(e-r图)1、设立某汽车运输公司数据库中存有三个实体集,一就是“车队”实体集,属性存有车队号、车队名;二就是“车辆”实体集,属性存有车牌号、厂家、出厂日期;三就是“司机”实体集,属性存有司机编号、姓名、电话。
设车队与司机之间存在“聘用”联系,每个车队可以聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可以被多个司机使用。
要求:画出e-r图,并在图上注明属性、联系的类型。
2、某学校管理系统中有三个部门:后勤部、教务处和财务处。
后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资。
后勤部涉及到的实体及实体之间的联系如下:学生:属性存有学号、姓名、性别、年龄、专业和入学时间?宿舍:楼号、房间、档次一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金。
教务处涉及到的实体及实体之间的联系如下:学生:属性存有学号、姓名、性别、年龄、专业和入学时间教师:属性存有教师号、姓名、性别、职称、专业课程:属性存有课程号、课程名、学时数、专业一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个工作量。
财务处涉及到的实体及实体之间的联系如下:教师:属性有教师号、姓名、性别、职称、专业工资:属性存有基本工资、上班工资、物主、工资编号一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。
试画出以上各实体的e-r图关系代数1、建有一个spj数据库,包含s、p、j、spj四个关系模式:s(sno,sname,status,city);p(pno,pname,color,weight);j(jno,jname,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.在下列选项中,_A__不是基本关系的性质。
A.不同列应有不同的数据类型B.不同列应有不同的列名C.行的顺序可以任意D.列的顺序可以任意2.在关系模型中,一个关系只能有一个 D 。
A.候选码B.外码C.内码D.主码3.在关系模型中,一个候选码 C 。
A.只能由两个以上的属性组成B.至多包含一个属性C.可以由一个或多个属性组成D.必须包含关系的全部属性4.设X是关系R的属性组,但不是R的主码,若X引用了关系S的主码Y,则称 C 。
A.X是S的外码B.Y是R的外码C.X是R的外码D.Y是S的外码5.设域D1、D2、D3分别有K1、K2、K3个元素,则D1⨯D2⨯D3的元组数为__A____。
A.K1⨯ K2⨯ K3B.K1+ K2+ K3C.(K1+ K2)⨯K3D.(K1+ K2)÷K3 6.关系数据库管理系统应能实现的专门关系运算包括 B 。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表7.关系模式和关系数据库模式之间的关系是 D 。
A.关系模式是型,关系数据库模式是它的值B.关系数据库模式是型,关系模式是它的值C.关系模式是关系数据库模式的集合D.关系数据库模式是关系模式的集合8.关系和关系模式之间的关系是A。
A.关系模式是型,关系是它的值B.关系是型,关系模式是它的值C.关系模式是关系的集合D.关系是关系模式的集合9.关系数据库和关系数据库模式之间的关系是 B 。
A.关系数据库是型,关系数据库模式是它的值B.关系数据库模式是型,关系数据库是它的值C.关系数据库模式是关系数据库的集合D.关系数据库是关系数据库模式的集合10.关系和关系数据库之间的关系是 C 。
A.关系数据库是型,关系是它的值B.关系是型,关系数据库是它的值C.关系数据库是关系的集合D.关系是关系数据库的集合11.属性取空值的含义是 D 。
A .属性值为0B .属性值为空集合C .属性值为空格D .属性的值不知道12. C 称为关系模式。
小测验1(一)单项选择题1.关系模型基本的数据结构是(D)A.树B.图 C.索引 D.关系2.关系数据库的查询语言是一种(C)A 过程性语言 B.第三代语言c.非过程性语言 D.高级程序设计语言3.关系模型中,实体完整性规则是(B)A.实体不允许是空实体 B.实体的主键值不允许是空值c.实体的外键值不允许是空值 D.实体的属性值不允许是空值4.关系数据库的数据操作分为两类(A)A.查询和更新 B.排序和索引c.插入和删除 D.修改和排序5.在关系模型中,下列说法正确的为( D )。
A.关系中存在可分解的属性值B. 关系中允许出现相同的元组C.关系中考虑元组的顺序D.元组中,属性理沦上是无序的,但使用时按习惯考虑列的顺序6. 在关系模型中,下列说法正确的为(B)A.关系中元组在组成主键的属性上可以有空值B.关系中元组在组成主键的属性上不能有空值C.主键值起不了唯一标识元组的作用D.关系中可引用不存在的实体7.下列为非过程语言的为( C )。
A.汇编语言 B.PASCAL语言‘C.关系查询语言D.C语言8.设关系R、s、w各有10个元组,则这三个关系的笛卡尔积的基数为(C)A.10 B.30 C.1000 D.不确定(与计算结果有关)9.关系代数中,一般联接操作由(A)组合而成。
A.笛卡尔积和选择 B.笛卡尔积、选择和投影C.笛卡尔积和投影 D.投影和选择10.设关系R和S的属性个数分别为r和s,那么(R x S)操作结果的属性个数为( A )A.r十s B.r-s C.r×s D.max(r,s)11.设关系R和s的结构相同,且各有100个元组,则这两个关系的并操作结果的元组个数为(D)A.100 B.小于等于100 C.200 D. 小于等于20012.关系代数的交操作可以由(B)操作组合而成。
A.并和差 B.差C.选择 D.联接13.如果两个关系没有公共属性,那么其自然联接操作(A)A.转化为笛卡尔积操作B.转化为联接操作c.转化为外部并操作D.结果为空关系14.设关系R和S的值如下:B)A.1 B.2 C.3 D.415.在14题中,操作结果的元组个数是()。
数据库关系代数习题Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】1.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:1.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
π学号,姓名,课程名,分数(б专业=英语(学生学习课程))2.检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
π学号,姓名,专业,分数(б分数>90Λ名称=数据库原理(学生学习课程))3.检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
π学号,姓名,专业(学生)—π学号,姓名,专业(б课程号=C135(学生学习))4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
π学号,姓名,专业(学习)—π学号,姓名,专业(б分数>=60(学生学习))2.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
π学号,姓名,专业(б奖学金>OΛ专业=国际贸易(学生学习课程))2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
π课程号,名称,学分(б成绩=100(学生学习课程))3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
π课程号,名称,学分(б奖学金=OΛ成绩>95(学生学习课程))4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
π学号,姓名,专业(б成绩>80(学生学习))3.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S? C? SC(1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
第二章关系数据库1 .试述关系模型的三个组成部分;答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成;2 .试述关系数据语言的特点和分类;答:关系数据语言可以分为三类:关系代数语言;关系演算语言:元组关系演算语言和域关系演算语言;SQL:具有关系代数和关系演算双重特点的语言;这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用;3 略4 .5 . 述关系模型的完整性规则;在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值;若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应基本关系R和S 不一定是不同的关系,则对于R中每个元组在F上的值必须为:或者取空值F的每个属性值均为空值;或者等于S中某个元组的主码值;即属性F本身不是主属性,则可以取空值,否则不能取空值;6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1求供应工程J1零件的供应商号码SNO:πSnoσJno=‘J1’SPJ2求供应工程J1零件P1的供应商号码SNO:πSnoσJno=‘J1’∧Pno=‘P1‘SPJ3求供应工程J1零件为红色的供应商号码SNO:πSnoπSno,,PnoσJno=‘J1‘SPJ∞πPnoσCOLOR=’红‘P4求没有使用天津供应商生产的红色零件的工程号JNO:πJno SPJ- πJNOσcity=‘天津’∧Color=‘红‘S∞SPJ∞P5求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno SPJ÷πPnoσSno=‘S1‘SPJ7. 试述等值连接与自然连接的区别和联系;答:连接运算符是“=”的连接运算称为等值连接;它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉;8.关系代数的基本运算有哪些如何用这些基本运算来表示其他运算答:并、差、笛卡尔积、投影和选择5种运算为基本的运算;其他3种运算,即交、连接和除,均可以用这5种基本运算来表达;第三章关系数据库语言SQL1 .试述sQL 语言的特点;答:l综合统一; sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体;2高度非过程化;用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成;3面向集合的操作方式; sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合;4以同一种语法结构提供两种使用方式; sQL 语言既是自含式语言,又是嵌入式语言;作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用;5语言简捷,易学易用;2.3 1 select from S where A='10';2 select A,B from S;3 select A,B,S.C,S.D,E,F from S ,T where S.C=T.C and S.D=T.D;4 select from S ,T where S.C=T.C;5 select from S ,T where S.A<T.E;6 select S.C,S.D,T. from S ,T ;4.用sQL 语句建立第二章习题6中的4 个表;答:对于S 表:S SNO , SNAME , STATUS , CITY ;建S 表:CREATE TABLE S Sno C2 UNIQUE,Sname C6 ,Status C2,City C4;对于P 表:P PNO , PNAME , COLOR , WEIGHT ;建P 表:CREATE TABLE PPno C2 UNIQUE,Pname C6,COLOR C2, WEIGHT INT;对于J 表:J JNO , JNAME , CITY ;建J 表:CREATE TABLE JJno C2 UNlQUE,JNAME C8, CITY C4对于sPJ 表:sPJ sNo , PNo , JNo , QTY ;建SPJ 表:SPJSNO,PNO,JNO,QTYCREATE TABLE SPJSno C2,Pno C2,JNO C2, QTY INT针对建立的4 个表用sQL 语言完成第二章习题6中的查询;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,P2B、查询哪一个工程既使用P1零件又使用P2零件;SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN SELECT JNO FROM SPJ WHERE PNO='P2'5.针对上题中的四个表试用SQL语言完成以下各项操作:1找出所有供应商的姓名和所在城市;SELECT SNAME,CITY FROM S2找出所有零件的名称、颜色、重量;SELECT PNAME,COLOR,WEIGHT FROM P3找出使用供应商S1所供应零件的工程号码;SELECT DIST JNO FROM SPJ WHERE SNO='S1'4找出工程项目J2使用的各种零件的名称及其数量;SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'5找出上海厂商供应的所有零件号码;SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'6出使用上海产的零件的工程名称;SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO7找出没有使用天津产的零件的工程号码;注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津' 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况8把全部红色零件的颜色改成蓝色;UPDATE P SET COLOR='蓝' WHERE COLOR='红'9由S5供给J4的零件P6改为由S3供应;UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'10从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录;A、DELETE FROM S WHERE SNO=’S2’B、DELETE FROM SPJ WHERE SNO=‘S2’11请将S2,J6,P4,200插入供应情况关系;INSERT INTO SPJ V ALUES‘S2’,‘J6’,‘P4’,2006 .什么是基本表什么是视图两者的区别和联系是什么答:基本表是本身独立存在的表,在sQL 中一个关系就对应一个表;视图是从一个或几个基本表导出的表;视图本身不独立存储在数据库中,是一个虚表;即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中;视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图;7 .试述视图的优点;答l 视图能够简化用户的操作; 2 视图使用户能以多种角度看待同一数据; 3 视图对重构数据库提供了一定程度的逻辑独立性; 4 视图能够对机密数据提供安全保护;8 .哪类视图是可以更新的哪类视图是不可更新的各举一例说明;答:基本表的行列子集视图一般是可更新的;若视图的属性来自集合函数、表达式,则该视图肯定是不可以更新的;所有的视图是否都可以更新为什么答:不是;视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新;因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.9 .请为三建工程项目建立一个供应情况的视图,包括供应商代码SNO、零件代码PNO、供应数量QTY;CREATE VIEW VSP AS SELECT SNO,SPJ.PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME='三建'针对该视图VSP完成下列查询:1找出三建工程项目使用的各种零件代码及其数量;SELECT DIST PNO,QTY FROM VSP2找出供应商S1的供应情况;SELECT DIST FROM VSP WHERE SNO='S1'第4章数据库安全性1 .什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏;2 .数据库安全性和计算机系统的安全性有什么关系答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题;只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出;系统安全保护措施是否有效是数据库系统的主要指标之一;数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,4 .试述实现数据库安全性控制的常用方法和技术;答:实现数据库安全性控制的常用方法和技术有:l 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份;每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权;2 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据;例如CZ 级中的自主存取控制DAC , Bl 级中的强制存取控制MAC ;3 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护;4 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;5 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容;5.什么是数据库中的自主存取控制方法和强制存取控制方法答:自主存取控制方法:定义各个用户对不同数据对象的存取权限;当用户对数据库访问时首先检查用户的存取权限;防止不合法用户对数据库的存取;强制存取控制方法:每一个数据对象被强制地标以一定的密级,每一个用户也被强制地授予某一个级别的许可证;系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象;6. 1 GRANT ALL PRIVILEGES ON Student,ClassTO U1WITH GRANT OPTION ;2GRANT SELECT,UPDATE家庭住址,DELETE ON Student TO U2;3GRANT SELECT ON Class TO PUBLIC;4GRANT SELECT,UPDATE ON Student TO R1;5GRANT R1 TO U1 WITH ADMIN OPTION ;7 .SQL 语言中提供了哪些数据控制自主存取控制的语句请试举几例说明它们的使用方法; 答:SQL 中的自主存取控制是通过GRANT语句和REVOKE语句来实现的;如:GRANT SELECT , INSERT ON StudentTO 王平WITH GRANT OPTION ;就将Student 表的SELECT 和INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户;REVOKE INSERT ON Student FROM 王平CASCADE ;就将Student 表的INSERT 权限从用户王平处收回,选项CASCADE 表示,如果用户王平将Student 的INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回;7.请用SQL的GRANT 和REVOKE语句加上视图机制完成以下授权定义或存取控制功能: a 用户王明对两个表有SELECT 权力;GRANT SELECT ON 职工,部门TO 王明b 用户李勇对两个表有INSERT 和DELETE 权力;GRANT INSERT,DELETE ON 职工,部门TO 李勇c 每个职工只对自己的记录有SELECT 权力;GRANT SELECT ON 职工WHEN USER=NAMETO ALL;d 用户刘星对职工表有SELECT 权力,对工资字段具有更新权力;GRANT SELECT,UPDATE工资ON 职工TO 刘星e 用户张新具有修改这两个表的结构的权力;GRANT ALTER TABLE ON 职工,部门TO 张新;f 用户周平具有对两个表所有权力读,插,改,删数据,并具有给其他用户授权的权力;GRANT ALL PRIVILIGES ON 职工,部门TO 周平WITH GRANT OPTION;g 用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资;CREATE VIEW 部门工资ASSELECT 部门.名称,MAX工资,MIN工资,A VG工资FROM 职工,部门WHERE 职工.部门号=部门.部门号GROUP BY 职工.部门号GRANT SELECT ON 部门工资TO 杨兰;8 .把习题8 中1---7的每一种情况,撤销各用户所授予的权力1 REVOKE SELECT ON 职工,部门FROM 王明;2 REVOKE INSERT , DELETE ON 职工,部门FROM 李勇;3 REOVKE SELECT ON 职工WHEN USER =NAMEFROM ALI ;4 REVOKE SELECT , UPDATE ON 职工FROM 刘星;5 REVOKE ALTER TABLE ON 职工,部门FROM 张新;6 REVOKE ALL PRIVILIGES ON 职工,部门FROM 周平;7 REVOKE SELECT ON 部门工资FROM 杨兰;DROP VIEW 部门工资;9.理解并解释MAC 机制中主体、客体、敏感度标记的含义;答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程;客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等;对于主体和客体,DBMS 为它们每个实例值指派一个敏感度标记Label ;敏感度标记被分成若干级别,例如绝密Top Secret 、机密Secret ·可信Confidential 、公开PubliC 等;主体的敏感度标记称为许可证级别ClearanCe 玫vel ,客体的敏感度标记称为密级Classification Level ;11 .什么是数据库的审计功能,为什么要提供审计功能答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中;因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在;利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;第5章数据库完整性1什么是数据库的完整性答:数据库的完整性是指数据的正确性和相容性;2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系答:数据的完整性和安全性是两个不同的概念,但是有一定的联系;前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出Garba : e In Garba : e out 所造成的无效操作和错误结果;后者是保护数据库防止恶意的破坏和非法的存取;也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据;3 .什么是数据库的完整性约束条件可分为哪几类答完整性约束条件是指数据库中的数据应该满足的语义约束条件;一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束;静态列级约束是对一个列的取值域的说明,包括以下几个方面:l 对数据类型的约束,包括数据的类型、长度、单位、精度等; 2 对数据格式的约束; 3 对取值范围或取值集合的约束; 4 对空值的约束; 5 其他约束;静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上;静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束;常见的静态关系约束有:l 实体完整性约束; 2 参照完整性约束; 3 函数依赖约束;动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:l 修改列定义时的约束; 2 修改列值时的约束;动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件;动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件;4 . DBMS 的完整性控制机制应具有哪些功能答:DBMS 的完整性控制机制应具有三个方面的功能:l 定义功能,即提供定义完整性约束条件的机制; 2 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性;5 . RDBMS 在实现参照完整性时需要考虑哪些方面答RDBMs 在实现参照完整性时需要考虑以下几个方面:l 外码是否可以接受空值;2 册l 除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:l 级联删除CASCADES ; 2 受限删除RESTRICTED ;3 置空值删除NULLIFIES ; 3 在参照关系中插入元组时的问题,这时系统可能采取的作法有:l 受限插入;2 递归插入;4 修改关系中主码的问题;一般是不能用UPDA TE 语句修改关系主码的;如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中;如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改;然后要区分是参照关系还是被参照关系;6 .假设有下面两个关系模式:职工职工号,姓名,年龄,职务,工资,部门号,其中职工号为主码;部门部门号,名称,经理名,电话,其中部门号为主码;用sQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60 岁;答CREATE TABLE DEPTDeptno NUMBER2,Deptname V ARCHAR10,Manager V ARCHAR10,PhoneNumber Char12CONSTRAINT PK_SC RIMARY KEYDeptno;CREATE TABLE EMPEmpno NUMBER4,Ename V ARCHAR10,Age NUMBER2,CONSTRAINT C1 CHECK Aage<=60,Job V ARCHAR9,Sal NUMBER7,2,Deptno NUMBER2,CONSTRAINT FK_DEPTNOFOREIGN KEYDeptnoREFFERENCES DEPTDeptno;7 .关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理;而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性;第6章关系数据库理论1 .理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码All 一key 、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF ;定义1:设RU是属性集U上的关系模式;X,Y是属性集U的子集;若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y;即只要X上的属性值相等,Y上的值一定相等;术语和记号:X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖;若不特别声明,总是讨论非平凡的函数依赖;X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖;若X→Y,则X叫做决定因素Determinant;若X→Y,Y→X,则记作X←→Y;若Y不函数依赖于X,则记作X → Y;定义2:在RU中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→ Y,则称Y对X完全函数依赖若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式1NF; 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF ;即1NF消除了非主属性对码的部分函数依赖则成为2NF;定义5:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性ZZ不是Y的子集使得X→Y,Y → X,Y → Z成立,则称R<U,F>∈3NF;定义6:关系模式R<U,F>∈1NF ;若X→Y且Y不是X的子集时,X必含有码,则R<U,F>∈BCNF;定义7:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→YY不是X的子集,Z=U-X-Y不为空,X都含有码,则称R<U,F>∈4NF;2.建立一个关于系、学生、班级、学会等诸信息的关系数据库;学生:学号、姓名、出生年月、系名、班号、宿舍区;班级:班号、专业名、系名、人数、入校年份;系:系名、系号、系办公地点、人数;学会:学会名、成立年份、办公地点、人数;语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生;一个系的学生住在同一宿舍区;每个学生可参加若干学会,每个学会有若干学生;学生参加某学会有一个入会年份;请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖;指出各关系模式的候选码、外部码,有没有全码存在解:1关系模式如下:学生:SSno,Sname,Sbirth,Dept,Class,Rno 班级:CClass,Pname,Dept,Cnum,Cyear 系:DDept,Dno,Office,Dnum学会:MMname,Myear,Maddr,Mnum2每个关系模式的最小函数依赖集如下:A、学生S Sno,Sname,Sbirth,Dept,Class,Rno 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,DEPT→Rno传递依赖如下:由于Sno→Dept,而Dept→Sno ,Dept→Rno宿舍区所以Sno与Rno之间存在着传递函数依赖;由于Class→Dept,Dept → Class,Dept→Rno所以Class与Rno之间存在着传递函数依赖;由于Sno→Class,Class→Sno,Class→Dept所以Sno与Dept之间存在着传递函数依赖;B、班级CClass,Pname,Dept,Cnum,Cyear的最小函数依赖集如下:Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept.由于Class→Pname,Pname→Class,Pname→Dept所以C1ass与Dept之间存在着传递函数依赖;C、系DDept,Dno,Office,Dnum的最小函数依赖集如下:Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖;D、学会MMname,Myear,Maddr,Mnum的最小函数依赖集如下:Mname→Myear,Mname→Maddr,Mname→Mnum该模式不存在传递依赖;3各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class;外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会M候选码:Mname;无外部码;无全码7.下面的结论哪些是正确的哪些是错误的对于错误的请给一个反例说明之;1任何一个二目关系是属于3NF;答:正确;因为关系模式中只有两个属性,所以无传递;2任何一个二目关系是属于BCNF.答:正确;按BCNF的定义,若X→Y,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码;详细证明如下:任何二元关系模式必定是BCNF;证明:设R为一个二目关系RA1,A2,则属性A1和A2之间可能存在以下几种依赖关系:A、A1→A2,但A2→A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF;B、A1→A2,A2→A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF;包含码;R是BCNF;C、R的码为A1,A2即A1 →A2,A2 →A1,决定因素都第七章数据库设计1.试述数据库设计过程;答:这里只概要列出数据库设计过程的六个阶段:l 需求分析; 2 概念结构设计; 3 逻辑结构设计; 4 数据库物理设计; 5 数据库实施; 6 数据库运行和维护;这是一个完整的实际数据库及其应用系统的设计过程;不仅包括设计数据库本身,还包括数据库的实施、运行和维护;设计一个完善的数据库应用系统往往是上述六个阶段的不断反复;2 .试述数据库设计过程各个阶段上的设计描述;答:各阶段的设计要点如下:l 需求分析:准确了解与分析用户需求包括数据与处理; 2 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型; 3 逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化; 4 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法; 5 数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行; 6 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改;3 .试述数据库设计过程中结构设计部分形成的数据库模式;答:数据库结构设计的不同阶段形成数据库的各级模式,即:l 在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是E 一R 图; 2 在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图Vi 娜,形成数据的外模式; 3 在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式;5 .什么是数据库的概念结构试述其特点和设计策略;答:概念结构是信息世界的结构,即概念模型,其主要特点是:l 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型; 2 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键; 3 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; 4 易于向关系、网状、层次等各种数据模型转换;概念结构的设计策略通常有四种:l 自顶向下,即首先定义全局概念结构的框架,然后逐步细化; 2 自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构; 3 逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4 混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构;7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修;请用 E 一R 图画出此学校的概念模型;答:。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
数据库课后习题第⼆章1.设有数据库S(Sno,Sname,Sage,Ssex)C(Cno,Cname, Cpno) SC(Sno,Cno,Grade)试⽤关系代数表达式表⽰⼀下查询要求:1.查询选修了课程号为C2的学⽣号;πSno(σCno=‘2’(SC))2.查询选修数据库课程的⼥学⽣的学⽣号;πSno(σCname=‘DB’∧Ssex=‘⼥’(S C SC))3.查询⾄少选修C1和C3课程的学⽣号;πSno,Cno(SC)÷πCno(σCno=‘C1’∨Cno=‘C3’(C))4.查询⾄少选修⼀门先⾏课号为C5的学⽣姓名;πSname(σCpno=‘5’(C) SC πSno,Sname(S))第三章本章习题51.SELECT SNAME,CITYFROM S;2.SELECT PNAME,COLOR,WEIGHTFROM P;3.SELECT DISTINCT(JNO)FROM SPJWHERE SNO=…S1?;4.SELECT P.PNAME,SPJ.QTYFROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=…J2?;5.SELECT DISTINCT PNOFROM SPJWHERE SNO IN (SELECT SNOFROM SWHERE CITY=…上海?);6.SELECT JNAMEFROM J,SPJ,SWHERE J.JNO=SPJ.JNO ANDSPJ.PNO=P.PNO ANDSPJ.SNO=S.SNO7.SELECT JNOFROM SPJWHERE NOT EXISTS (SELECT * FROM S WHERE SPJ.SNO=S.SNOAND S.CITY=…天津?);8.UPDA TE PSET COLOR=…蓝?WHERE COLOR=…红?;9.UPDA TE SPJSET SNO= (3)WHERE SNO=‘S5’ANDJNO=…J4?AND PNO=…P6?;10.DELETEFROM SPJWHERE SNO=…S2?;DELETEFROM SWHERE SNO=…S2?;11.INSERT INTO SPJV ALUES(S2,P4,J6,200);习题11CREA TE VIEW SPJ_SANJIANAS SELECT SNO,PNO,QTYFROM SPJWHERE JNO=(SELECT JNOFROM JWHERE JNAME=…三建?);1.SELECT PNO,QTYFROM SPJ_SANJIAN;2.SELECT PNO,QTYFROM SPJ_SANJIANWHERE SNO=…S1?;习题121.GRANT INSERTON TABLE STO 张勇WITH GRANT OPTION;2.GRANT SELECT,UPDA TE(QTY)ON TABLE SPJTO 李天明;习题41.SELECT SNO FROM SPJWHERE JNO=…J1?;2.SELECT SNO FROM SPJWHERE JNO=…J1? AND PNO=…P1?;3.SELECT SNO FROM SPJ,PWHERE JNO=…J1? AND SPJ.PNO=P.PNO AND COLOR=…红?;4.SELECTJNOFROM JWHERE NOT EXISTS( SELECT * FROM SPJ,S,PWHERE SPJ.JNO=J.JNO ANDSPJ.SNO=S.SNO AND SPJ.PNO=P.PNO ANDS.CITY=…天津? AND P.COLOR=…红?);1.查询所有⽐…李三?年龄⼤的学⽣姓名,年龄和性别。
一、二章习题一、选择题1、数据库中,数据的物理独立性是指:A、DB和DBMS的相互独立B、用户程序与DBMS的相互独立C、用户的应用程序与存储在磁盘上的数据库中的数据相互独立;D、应用程序与数据库中数据的逻辑结构相互独立。
2、数据库技术采用分级方法将数据库的结构划分成多个层次,是为了提高数据库的-------和---------:A、数据共享B、逻辑独立性;C、管理规范性;D、物理独立性;3、在数据库系统中,通常采用三级模式来描述数据库,其中①-----是用户与数据库的接口,是应用程序可以见到的数据描述,②------是对数据整体的③------的描述,而④-----描述了数据的⑤-----。
A、外模式;B、概念模式;C、逻辑结构;D、内模式;E、层次结构;F、物理结构;4、在数据库的体系结构中,数据库存储结构的改变会引起内模式的改变。
为使数据库的模式保持不变,从而不必修改应用程序,须改变模式与内模式之间的映像。
这样,使数据库具有_____A、数据独立性B、逻辑独立性C、物理独立性;D、操作独立性。
5、现实世界中客观存在并能相互区别的事物为:A、实体B、实体集;C、字段;D、记录。
6、现实世界中事物的特征在信息世界中称为A、实体B、实体标识符C、属性;D、关键码。
7、采用二维表格结构表达实体类型及实体间联系的数据模型是A、层次模型;B、网状模型;C、关系模型;D、对象模型。
8、DB、DBMS及DBS三者间的关系是A、DB包括DBMS、DBSB、DBS包括DB和DBMS;C、DBMS包括DB、DBSD、DBS与DB、DBMS无关。
9、数据库系统中,用_____描述全部数据的整体逻辑结构。
A、外模式B、存储模式C、内模式D、概念模式。
10、数据库系统中,用户使用的数据视图用____描述,该视图是用户和数据库系统之间的接口。
A、外模式B、存储模式;C、内模式;D、概念模式。
11、在数据库中,产生数据不一致的根本原因是A、数据存储量大B、没有严格保护数据C、未对数据进行完整性控制D、数据冗余。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下
列查询语句:
S C SC
S# SNAME AGE SEX
1 李强 23 男
2 刘丽 22 女
5 张友 22 男
C# CNAME TEACHER
k1 C语言 王华
k5 数据库原理 程军
k8 编译原理 程军
S# C# GRADE
1 k1 83
2 k1 85
5 k1 92
2 k5 90
5 k5 84
5 k8 80
(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(δTEACHER=程军(C))
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(δAGE>21∧SEX=男(S))
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))
S)
(4) 检索”李强”同学不学课程的课程号(C#)。
∏C#(C)-∏C#(δSNAME=李强(S)SC)
(5) 检索至少选修两门课程的学号(S#)。
∏S#(δ1=4∧2≠5(SC×SC))
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(∏S#,C#(SC)÷∏S#(S)C)
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
∏C#(δTEACHER=程军(C)SC)
(8) 检索选修课程号为k1和k5的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C))
(9) 检索选修全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(C))S)
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δS#=2(SC))
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S)
(12)检索没有一门课程成绩不及格的学生学号,姓名。
∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S)
2.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:
1. 检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程,分数(δ专业=英语(学生⋈课程⋈学习))
2. 检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
∏学号,姓名,专业,分数(δ名称=数据库原理∧分数>90(课程⋈学生
⋈学
习))
3. 检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ课程号=C135(学习)
⋈
学生)
4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<60(学习
⋈
学生))
3.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:
1. 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程名,分数(δ专业=国际贸易∧奖学金>0(学生⋈课程⋈学
习))
2. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
∏课程号,名称,学分((δ分数=100(学习))⋈课程)
3. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
∏学号,姓名,专业(δ奖学金<=0∧分数>95(学生⋈学习))
4. 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<80(学生
⋈
学习))
4. 设有关系S、SC和C,试用关系代数表达式完成下列操作。
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数
据记录。SC(snum,cnum,score), 例:(1,“C1”,83)是一条
数据记录。C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,
“王华”)是一条数据记录。
(1) 检索“刘祥”同学不学课程的课程号。
∏cnum(C)-∏cnum(δsname=刘祥(S⋈SC))
(2) 检索有一门课程成绩在90分以上的男同学的姓名。
∏sname(δscore>90∧sex=男(S⋈SC))
(3) 列出没有选修“人工智能”的学生名单。
∏sname(S)-∏sname(δcname=人工智能(C⋈SC⋈S))
(4) 找出选修了袁老师教的所有课程的学生名单。
∏sname(∏snum,cnum(SC)÷∏cnum(δteacher=袁老师(C))⋈S)
(5) 查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。
∏sname-∏sname(δscore<=70∨avg(score)<=75(SC⋈S))
5.数据模型如下:
厂家S(SNO,SNAME,STATUS,CITY)
产品P(PNO,PNAME,WEIGHT,COLOR)
工程J(JNO,JNAME,CITY)
供货SPJ(SNO,PNO,JNO,QTY)
用关系代数写出下述操作.
1. 给出为工程J1供货的厂商号.
∏SNO(δJNO=J1(SPJ))
2. 给出供货量在300~500之间的所有供货情况.
δQTY>=300∧QTY<=500(SPJ)
3. 给出由LONDON的厂商供给LONDON的工程的产品号.
∏ PNO((δCITY=LONDON(S))⋈(δCITY=LONDON(J))⋈SPJ)
4. 给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.
∏PNO((∏SNO,CITY(S))⋈(∏JNO,CITY(J))⋈SPJ)
5. 给出由S1提供产品的工程名.
∏JNAME((δSNO=S1(SPJ))⋈J)
6. 给出使用了由供应红色产品的厂商供应的产品的工程名.
∏JNAME(∏SNO((∏PNO(δCOLOR=红色(P)))⋈(∏SNO,PNO(SPJ)))
⋈SPJ⋈
J)
7. 求使用了全部零件的工程名.
∏JNAME(∏PNO,JNO(SPJ)÷∏PNO(P)⋈J)
8. 供应P1,P2两种产品的厂家名.
∏SNAME(∏SNO(δ2=P1∧6=P2∧1=5(SPJ×SPJ))⋈S)
9. 显示与”TV”颜色相同的产品名.
∏PNAME(∏COLOR(δPNAME=TV(P))⋈P)
10. 给出使用了S1所提供的全部零件的工程名.
∏JNAME((∏JNO,PNO(SPJ)÷∏PNO(δSNO=S1(SPJ)))⋈J)
6.设教学数据库中有三个关系:
S(SNO,SNAME,AGE,SEX,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,TNAME)
试用关系代数表达式表示下列查询语句:
① 查询LIU老师所授课程的课程号,课程名
∏CNO,CNAME(δTNAME=LIU(C))
② 查询年龄大于23岁的男生的学号与姓名
∏SNO,SNAME(δAGE>23∧SEX=男)
③ 查询学号为S3学生所学课程的课程名与任课教师名
∏CNAME,TNAME((δSNO=S3(SC))⋈C)
④ 查询选修LIU老师所授课程中一门课的女学生姓名
∏SNAME(δTNAME=LIU(C⋈SC)⋈δSEX=女(S))
⑤ 查询WANG同学不学的课程的课程号
∏CNO(C)-∏CNO(δSNAME=WANG(S)⋈SC)
⑥ 查询至少选修两门课程的学生学号
∏SNO(δ1=4∧2≠5(SC×SC))
⑦ 查询全部学生都选修的课程的课程号和课程名
∏CNO,CNAME((δSNO,CNO(SC)÷δSNO(S))⋈C)
⑧ 查询选修课程包含LIU老师所授课程的学生学号
∏SNO,CNO(SC)÷∏CNO(δTNAME=LIU(C))