南京理工大学《数据库系统基础知识教育教案》试题和标准答案.doc

收藏

编号:2582476    类型:共享资源    大小:298.79KB    格式:DOC    上传时间:2020-04-22
10
金币
关 键 词:
数据库系统基础知识教育教案 南京理工大学 数据库 系统 基础知识 教育 教案 试题 以及 标准答案
资源描述:
_* 一、选择题60(选择一个最合适的答案,在答题纸上涂黑) 1.一个事务中的一组更新操作是一个整体,要么全部执行,要么全部不执行。这是事务的: A.原子性 B.一致性 C.隔离性 D.持久性 2.在数据库的三级模式结构中,描述一个数据库中全体数据的全局逻辑结构和特性的是: A.外模式 B.内模式 C.存储模式 D.模式 3.关于联系的多重性,下面哪种说法不正确? A.一个多对多的联系中允许多对一的情形。 B.一个多对多的联系中允许一对一的情形。 C.一个多对一的联系中允许一对一的情形。 D.一个多对一的联系中允许多对多的情形。 4.考虑学校里的"学生"和"课程"之间的联系,该联系的多重性应该是: A. 一对一 B. 多对一 C. 一对多 D. 多对多 5.下面哪种约束要求一组属性在同一实体集任意两个不同实体上的取值不同。 A. 键(key)约束。 B. 单值约束。 C. 参照完整性。 D. 域(domain)约束 6.关系模型要求各元组的每个分量的值必须是原子性的。对原子性,下面哪种解释不正确: A.每个属性都没有内部结构。 B.每个属性都不可再分解。 C.各属性值应属于某种基本数据类型。 D.属性值不允许为NULL。 7.对于一个关系的属性(列)集合和元组(行)集合,下面哪种说法不正确: A.改变属性的排列次序不影响该关系。B.改变元组的排列次序不影响该关系。 C.改变元组的排列次序会改变该关系。D.关系的模式包括其名称及其属性集合。 8.若R是实体集R1与R2间的一个多对多联系,将其转换为关系R,哪种说法不正确: A.R属性应包括R1与R2的所有属性。 B.R属性应包括R1与R2的键属性。 C.R1与R2的键属性共同构成R的键。 D.R的属性应包括R自身定义的属性。 9.关于函数依赖的判断,下面哪种说法不正确? A.若任意两元组在属性A上一致,在B上也一致,则有A → B成立。 B.若任意两元组在属性A上一致,在B上不一致,则A → B不成立。 C.若任意两元组在属性A上不可能一致,则不管在B上是否一致,有A → B成立。 D.若任意两元组在属性A上不可能一致,则A → B不成立。 10.若某关系R的属性集A函数决定R中所有其它属性,则A为关系R的一个: A.键。 B.主键。C.超键。D.外键。 11.当且仅当函数依赖A→BC,则有A→B和A→C。此规则是 A.分解/合并规则。 B.平凡依赖规则。 C.传递规则。 D.增长规则。 12.对于某关系R的某个属性集A,下面哪种说法不正确: A.若属性集A是R的键,则闭包A+是R中所有属性集合。 B.若闭包A+是R中所有属性集合,则属性集A是R的键。 C.若闭包A+是R中所有属性集合,则属性集A是R的超键。 D.当且仅当属性集A是R的超键,闭包A+是R中所有属性集合。 13.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,R总共有几个超键? A.3 B.4 C.6 D.7 14.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,下面哪个函数依赖不蕴含于已知依赖? A. D→B B. AC→BD C. BC→AD D. BD→AC 15.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,该关系若违背BCNF,则应分解成几个关系才能满足BCNF: A.符合BCNF,无需分解 B.2个关系 C.3个关系 D.4个关系 16.关系product(prodid,prodname,type,factory)表示所销售的每一种商品的货号、品名、种类及生产厂家,一种商品有唯一货号。该关系所满足下列最高范式是: A 2NF。 B 3NF。 C BCNF。 D 4NF。 17.关系prodsales(salesman,prodid,prodname,quantity,amount)表示销售员销售商品情况:销售员、货号、品名、销售数量及销售金额。一名销售员可销售多种商品,一种商品可由多名销售员销售。该关系违背下列最低范式是: A.1NF。 B.2NF。 C.3NF。 D.BCNF。 18.关系代数运算中,下面哪种计算可等价表示为其它几种计算的复合形式: A.投影∏ B.选择σ C.笛卡尔积 D.自然连接∞ 19.设有关系R(A,B,C)和S(C,D,E),其元组如下所示: S C D E 3 6 1 8 7 4 2 4 4 6 3 6 R A B C 1 4 7 2 5 8 3 6 9 πB,E(R∞A=D S)的值是: D. B E 2 5 8 4 3 6 C. B E 5 5 8 6 6 4 B. B E 5 8 6 4 A. B E 2 5 8 4 6 3 20.在学生选课表studentcourse(stdno,courseno,grade)中,查询选修3号课程、且成绩在70和80分之间的学生的学号(stdno)及其成绩(grade)。实现该功能的SQL语句是: A.SELECT stdno,grade FROM studentcourse WHERE courseno=3 AND BETWEEN 70ALL(Select b From S) 结果是; D.语法错 C. A B B. A B 3 6 A. A B 1 2 22.学生成绩表R如下 R. No Score 1 2 3 4 5 6 7 8 77 84 92 82 63 72 NULL 47 Select (score/10)*10 as ScoreLevel, count(no) as num From R Group by (score/10)*10 Order by ScoreLevel desc; 结果是: D.语法错 C. ScoreLevel num 40 60 70 80 90 1 1 2 2 1 B. ScoreLevel num 90 80 70 60 40 1 2 2 1 1 A. ScoreLevel num 90 80 70 60 40 NULL 1 2 2 1 1 1 23.关于视图view,下面哪种说法不正确? A.基于一条Select语句可定义一个视图。 B.Create View viewName AS...命令可定义视图。 C.查询视图与查询表在语法上是一样的。 D.Select语句中的From子句中视图和表不能同时出现。 24.关系R如下 R. No a 1 2 3 2 NULL 7 Select * From R Where a>no*2 OR (a>no*2)is Unknown 结果为 D.语法错 C. No a 3 7 B. No a 2 3 NULL 7 A. No a 2 NULL 25.已知关系如下 salesorder orderno empid amount 8001 8002 1 3 4300 6700 salesman. Empid empname 1 2 3 Zhang Li Wang Select empname,amount From salesman Natural Left Outer Join salesorder; 结果为: D.语法错 C. Empname amount Zhang Li Wang 4300 NULL 6700 B. Empname amount Zhang Li Wang 4300 0 6700 A. Empname amount Zhang Wang 4300 6700 26.关于表的主键约束,下面哪种说法不正确: A.select命令不可能违背主键约束。 B.insert命令可能违背主键约束。 C.delete命令不可能违背主键约束。 D.update命令不可能违背主键约束。 27.关于数据库表中的外键,下面哪种说法不正确: A.表R1到R2有外键,R2到R1同时也能定义外键。 B.同一个表中属性A1到主键属性之间也能定义外键。 C.外键所关联的双方属性应属同种数据类型。 D.一个外键只能在单个属性上定义。 28.在并发性事务环境中,事务1先读取某行数据,随后事务2修改了此行数据并提交,造成事务1再读此行时先后结果不一致。这种现象被称为: A.(Dirty Reads)脏读 B.(Non-repeatable Reads)不可重复读 C.(Phantom Rows)幻像行 D.事务冲突。 29.关于事务控制,下面哪种说法不正确? A.Commit提交当前事务,并结束当前事务。 B.Rollback退回当前事务,取消本事务已做的数据更新,并结束当前事务。 C.Commit提交当前事务,并释放本事务施加的锁。 D.Rollback退回当前事务,继续持有本事务施加的锁。 30.下面哪一种指令能为用户授权,使其能以一定的权限访问特定的数据库对象。 A.Grant B.Revoke C.Commit D.Privilege 二、综合题40 一个简化的图书馆信息管理系统。系统需求如下: 1.图书馆有若干管理员librarian,各自有员工号empid、姓名name、身份证号idno等属性。 2.图书馆中备有若干种图书booktype,每种图书有ISBN、名称title、出版社publisher、作者writers、价格price等属性,每种图书有唯一的ISBN号,同种图书可购入多本。 3.每一本图书book有唯一标记bookid和种类booktype。 4.读者reader在办理借书证后方可借阅。一个读者有唯一的借书证号cardno,还有姓名name、身份证号idno、住址address、注销标记logoff等。读者在注销之前,须归还所有已借图书或报失。 5.需处理以下基本业务: ①借书:在某时刻某读者通过某管理员借阅某一本书。 ②还书:在某时刻通过某管理员归还某一本书。 ③报失:在某时刻某读者向某管理员报失某一本书;报失之后该书不能再借。 每一次还书和报失记录都须对应某一次借书记录,且可由不同管理员处理。 按次序回答下列问题: 1. 用E/R图建立该系统的数据库模型。为每个实体集确定键属性,并确定每个联系的多重性。(8) 2. 由E/R模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。注意各关系中的函数依赖和多值依赖,并使你的关系能符合更高范式。(8) 3. 基于以上关系模式,用关系代数表示下面计算:(6) 1) 计算“清华大学出版社”出版的图书名称及作者。 2) 计算借书证号为“A00345”的读者未归还的图书名称。 3) 计算未处理过借书手续的管理员的员工号及其姓名。 4.使用SQL语言实现上述计算,并使输出结果不重复。(6) 5.使用SQL语言完成下面的计算:(12) 1) 增加借书记录: 借书证号为A00345,通过管理员E0035于当前日期借到图书B00124。(提示:today(*)函数返回当前日期) 2)还书记录:通过管理员E0034于当前日期归还图书B00124。(提示:还书无需确认借书证) 3)计算借书证号为“A00345”的读者已借超过30天而未还的图书数量。(提示:days(d1,d2)函数返回从日期d1到d2的天数) 4)计算借书次数最多的读者的姓名和身份证号。(注意使用视图) 5)计算所有图书的ISBN、书名、借阅次数,并按借阅次数从大到小排列。(注意使用外连接) 参考答案 1.ER图(一些非键属性未列出) Librarian Reader Book Booktype Record empid isbn bookid cardno recid borrow end helper borrowdate end enddate NULL 1=return 2=lose NULL autoincrement NOT NULL 2.关系模型 Librarian(empid, name, idno) Reader(cardno, name, idno, address) Booktype(isbn, title, publisher, writers, price) Book(bookid, isbn) Record(recid, brwempid, cardno, bookid, borrowdate, end, enddate, endempid) 3.关系代数运算 1) 计算“清华大学出版社”出版的图书名称及作者 πtitle,writers(σpublisher=’清华大学出版社’Booktype) 2) 计算借书证号为“A00345”的读者未归还的图书名称 πtitle(σcardno=’A00345’AND end=NULL(Record∞Book∞Booktype)) 3) 计算未处理过借书手续的管理员的员工号及其姓名。 πempid,name(Librarian) -πempid,name(Librarian∞brwempid=empidRecord) 4.SQL运算 1) 计算“清华大学出版社”出版的图书名称及作者 Select title,writers From Booktype Where publisher=’清华大学出版社’; 2) 计算借书证号为“A00345”的读者未归还的图书名称 Select title From Record Natural Join Book Natural Join Booktype Where cardno=’A00345’ AND "end" IS NULL; 3) 计算未处理过借书手续的管理员的员工号及其姓名。 Select empid,name From Librarian Where empid NOT IN(Select brwempid From Record); 5.SQL 1) 增加借书记录: 借书证号为A00345,通过管理员E0035于当前日期借到图书B00124。(提示:today(*)函数返回当前日期) insert into record(brwempid, cardno,bookid,borrowdate) values(E0035,A00345,B00124,today(*)); 2) 还书记录:通过管理员E0034于当前日期归还图书B00124。(提示:还书无需确认借书证) update record set "end" = 1, enddate= today(*),endempid=E0034 where recid = (select recid from record where bookid=B00124 and "end" IS NULL); 3) 计算借书证号为“A00345”的读者已借超过30天而未还的图书数量。(提示:days(d1,d2)函数返回从日期d1到d2的天数) Select Count(recid) From Record Where cardno=A00345 AND "end" IS NULL AND days(borrowdate,today(*))>30; 4) 计算借书次数最多的读者的姓名和身份证号。(注意使用视图) Create view brwtimes as select cardno,count(recid) as times from record group by cardno select name,idno from reader natural join brwtimes where times=(select max(times) from brwtimes); 5) 计算所有图书的ISBN、书名、借阅次数,并按借阅次数从大到小排列。(注意使用外连接) Select book.isbn,title,count(recid) as times From book Left Outer Join record Natural Join booktype Group by book.isbn,title Order by times DESC; Department Salesman Customer Salesorder Product Salesitem sales for runs for as header works for unit-of contains deptid name empid idno name gender phone name prov city phone unit orderno signdate custid lineno salescost quantity type spec price desc prodid factory 第3章介绍关系数据模型,关系模型是什么,如何设计规范的关系模型。 目的:由一个数据库的E/R模型,产生符合一定规范的关系模型。 Customer (custid, name, prov, city,phone, unit) Product (prodid, factory, type, spec, price, desc) Salesman (empid, idno, name, gender, phone, deptid) Department (deptid, name, headerid) Salesorder (orderno, signdate, empid, custid) Salesitem (orderno, lineno, prodid, singlecost, quantity) 报考及复试资格审查:时间:4月10日(本校应届毕业生考生),4月11日(其他考生),地点:报考学院(系); 体检时间:时间:4月11日8:30-16:00。体检当日饮食必须清淡,地点:我校医院; 笔试:时间:12日8:30-11:30(需携带2B铅笔及橡皮),地点:第四教学楼; 面试:时间:12日下午及13日,由各学院安排。 复试由笔试、面试组成,包括外语听力及口语测试,复试总成绩为300分,其中笔试150分、面试及实践(实验)能力测试100分,外语听力30分及口语20分。 数据库系统的世界(概述) 什么是数据库 数据库管理系统 2.数据库建模 数据模型 信息模型(概念模型):E/R模型,ODL模型等 基本数据模型:层次模型,网状模型,关系模型等 实体/联系图 属性attribute: 联系relationship: 对约束建模 有哪些重要的约束种类? 键key 单值single-value 参照完整性reference inte 关系数据模型 关系的等价表示法 改变列次序,不改变关系的含义。 改变行次序,不改变关系的含义。 从E/R图到关系设计 实体集到关系的转换 E/R联系到关系的转换 处理弱实体集 函数依赖 函数依赖是如何定义的? 若关系R的任意两个元组在属性A1、A2、…、An上一致(即有相同分量值),则这两个元组在属性B上也一致,则称属性A1A2…An函数决定B,或称B函数依赖于A1A2…An。 判断函数依赖的三种情形 如果任意两元组在属性A上一致,在B上也一致,则有A → B成立。 如果任意两元组在属性A上一致,在B上不一致,则A → B不成立。 如果任意两元组在属性A上不可能一致,则不管在B上是否一致,有A → B成立。 关系的键 如何用函数依赖定义键key? 定义:对于关系R,若属性集合{A1,A2,…,An}满足下列条件,则该属性集合是R的一个键key: 1.A1,A2,…,An函数决定R中所有其他属性。(超键) 2.{A1,A2,…,An}的任何真子集都不能函数决定R中所有其他属性。(最小化) 超键 什么是超键super key? 键的超集superset of key。即包含键的属性集合。 可函数决定关系中所有属性的属性集合。 每个键都是超键。 一个关系的属性全集超键。 每个超键都是键吗?不是。 函数依赖规则 有哪些重要的函数依赖规则? 分解/合并(Splitting/combining)规则 平凡依赖(Trivial Dependance)规则 传递(Transitivy)规则 计算属性的闭包 如何计算属性的闭包? 给定函数依赖集S和属性集A={A1,A2,…An},如何计算A+? 1 将X初始化为{A1,A2,…,An},闭包最小集合。 2 遍历S中的每个函数依赖,对于每个依赖式:B1B2…Bm → C 如果B1、B2、…、Bm都在X中,而C不在X中,则把C加入X中。 3 重复第2步,直到遍历完S中所有函数依赖,而没有新属性能加入到X中。 4 最终属性集X即为属性集A在函数依赖集S下的闭包A+。 例3.28:P90 设有关系R(A, B, C, D, E, F)与函数依赖集 S:{AB → C,BC → AD,D → E,CF → B} 求:{A,B}+ 解:X(1)={A,B}, 由AB → C,得: X(2)={A,B,C}, 由BC → AD,得: X(3)={A,B,C,D}, 由D → E,得: X(4)={A,B,C,D,E}={A,B}+ 属性闭包计算有何用途? 假设关系R上已有一个依赖集S,另有一个函数依赖A1A2…An → B,该依赖是否蕴含于S? 判断方法: 计算{A1,A2,…,An}+。 若B在{A1,A2,…An}+中,则函数依赖A1A2…An → B蕴含于S中。 若B不在{A1,A2,…An}+中,则函数依赖A1A2…An → B不蕴含于S中。 属性的闭包和键之间有何关系? 对于一个关系R,当且仅当A1,A2,…,An是R的超键时,{A1,A2,…,An}+是R的所有属性的集合。 3.6.1 已知关系模式R(A, B, C, D)有函数依赖AB → C, C → D, D → A (a)求蕴含于给定函数依赖的所有完全非平凡函数依赖。 (b)求R的所有键。 (c)求R的所有超键(不包括键)。 解: (a)根据所有属性集合的闭包,计算所有可能的函数依赖。 {A}+={A} {B}+={B} {C}+={C, D, A} C → AD {D}+={D, A} {A, B}+={A, B, C, D} AB → CD {A, C}+={A, C, D} AC → D {A, D}+={A, D} {B, C}+={B, C, D, A} BC → AD {B, D}+={B, D, A, C} BD → AC {C, D}+={C, D, A} CD → A {A, B, C}+={A, B, C, D} ABC → D {A, B, D}+={A, B, D, C} ABD → C {A, C, D}+={A, C, D} {B, C, D}+={B, C, D, A} BCD → A (b)所有的键:{A, B}, {B, C}, {B, D} (c)所有的超键(不包括键):{A,B,C}, {A,B,D}, {B,C,D}, {A,B,C,D} 关系数据库模式设计 BC范式 若关系模式R的每个分量均是不可再分的数据项,则R满足第一范式,又记作:R ∈ 1NF。 BC范式如何定义? 关系模式R满足BC范式,当且仅当若非平凡函数依赖A1A2…An → B1B2…Bm在关系R中成立,则{A1,A2,…,An}是R的超键。 关系R满足BC范式的两种情形 关系R中不存在非平凡函数依赖。(只有平凡函数依赖) 每个非平凡函数依赖的左面包含某个键(即左面是超键)。 关系R违背BC范式的唯一情形 关系R中至少存在一个非平凡函数依赖,其左面不是超键。 分解为BC范式 分解策略:消除违背BCNF的函数依赖 1 找一个违背BCNF的非平凡函数依赖A1A2…An → B1B2…Bm。 2 把关系R分解成两个关系: R1(A1,A2,…,An, B1,B2,…,Bm)。 R2(A1,A2,…,An, 所有其它属性),若不满足BC范式,则再分解。 例如:R(学号, 课号, 成绩, 系号, 系主任) 不满足BCNF。 1 非平凡函数依赖:学号 → 系号,系主任 成立 2 R分解为:R1(学号, 系号, 系主任) R2(学号, 课号, 成绩) 3 非平凡函数依赖:系号 → 系主任 成立 4 R1继续分解为:R11(系号, 系主任) R12(学号, 系号) 第三范式 关系模式R满足3NF,当且仅当若非平凡函数依赖A1A2…An → B在关系R中成立,则{A1,A2,…,An}是R的超键,或者B是某个键的组成部份(键属性)。 结论:一个关系模式总可以分解为满足3NF的模式,且所有的函数依赖都可得到保持。 第二范式 第二范式(2NF): 要求每个非键属性依赖于键的整体,而不是键的部分属性,即不允许有非平凡函数依赖的右面是非键属性,而左面是某个键的真子集。 满足2NF的几种情形: 不存在非平凡函数依赖。 存在非平凡函数依赖,且其右面是某个键的组成部分(键属性)。 存在非平凡函数依赖,且其右面是非键属性,则其左面要么是超键,要么包含非键属性。 例如:关系模式R(A, B, C, D)有函数依赖AB → C, C → D, D → A 找出所有违背BCNF的函数依赖。 必要时,分解为几个满足BCNF的关系 找出所有违背3NF的函数依赖。 解: 所有的键:{A, B}, {B, C}, {B, D} 违背BCNF的函数依赖:C → AD, D → A 分解:R1(A,C,D), R2(B,C) R11(A,D), R12(C,D) 函数依赖AB → C 不保持 R满足3NF 关系模型中的运算 投影 选择 笛卡尔积 例4.5:p125 S B C D 2 4 9 5 7 10 6 8 11 R A B 1 3 2 4 RS A R.B S.B C D 1 1 1 3 3 3 2 2 2 4 4 4 2 4 9 2 4 9 5 7 10 5 7 10 6 8 11 6 8 11 自然连接 自然连接是什么运算? 对于两个关系R和S,自然连接表示为R S 结果:属性是R和S中的属性的并集,去掉同名的属性; 其元组是R和S在同名属性上一致的元组的所有组合。 R S A B C D 1 3 2 4 5 7 6 8 上例: V B C D 2 2 7 3 3 8 4 5 10 U A B C 1 6 9 2 7 7 3 8 8 例4.7:p126 U V A B C D 1 1 6 9 2 2 7 7 3 3 8 8 4 5 10 10 θ连接 θ连接是什么运算? 在笛卡尔积的基础上,增加条件以限制元组。 对于两个关系R和S,基于条件c的θ连接表示为 R cS,计算步骤: 计算RS ,即笛卡尔积; UA
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:南京理工大学《数据库系统基础知识教育教案》试题和标准答案.doc
链接地址:https://www.taowenge.com/p-2582476.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开