数据库范式练习题
数据库范式习题答案
Normalization Questions and AnswersDatabase Systems,CSCI4380-01Sibel AdalıOctober28,2002Question1Suppose you are given a relation R=(A,B,C,D,E)with the following functional dependencies:{CE→D,D→B,C→A}.a.Find all candidate keys.b.Identify the best normal form that R satisfies(1NF,2NF,3NF,or BCNF).c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy.Answer.a.The only key is{C,E}b.The relation is in1NFc.Decompose into R1=(A,C)and R2=(B,C,D,E).R1is in BCNF,R2is in2NF.Decompose R2 into,R21=(C,D,E)and R22=(B,D).Both relations are in BCNF.Question2Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:{BC→ADE,D→B}.a.Find all candidate keys.b.Identify the best normal form that R satisfies(1NF,2NF,3NF,or BCNF).c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy.Answer.a.The keys are{B,C}and{C,D}b.The relation is in3NFc.It cannot be put into BCNF,even if I remove D and put into a relation of the form(B,C,D)(I need C for the functional dependency),the resulting relation would not be in BCNF.Question3Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:BD→E,A→C.a.Show that the decomposition into R1=(A,B,C)and R2=(D,E)is lossy.You can show using any method.My suggestion is to show how spurious tuples result from this decomposition with respect to the table below:A B C D E12345183441b.Find a single dependency from a single attribute X to another attribute Y such that when you add the dependency X→Y to the above dependencies,the decomposition in part a is no longer lossy.Answer.a.If we were to decompose the relations into:A B C 123 183D E 45 44and then join the two(in this case with a cartesian product),we would get:A B C D E12345183451234418344Tuples2and3are not in the original relation.Hence,this decomposition is lossy.b.This decomposition cannot be made lossless.The problem is there is no longer a way to make sure BD→E holds across two relations since they do not share any attributes.However,a lossy decomposition of the form(A,B,C),(C,D,E)can be made lossless by adding an FD B→C. Question4You are given the following set of functional dependencies for a relation R(A,B,C,D,E,F), F={AB→C,DC→AE,E→F}.a.What are the keys of this relation?b.Is this relation in BCNF?If not,explain why by showing one violation.c.Is the decomposition(A,B,C,D)(B,C,D,E,F)a dependency preserving decomposition?If not, explain briefly.Answer.a.What are the keys of this relation?{A,B,D}and{B,C,D}.b.Is this relation in BCNF?If not,explain why by showing one violation.No,all functional dependencies are actually violating this.No dependency contains a superkey on its left side.c.Is the decomposition(A,B,C,D)(B,C,D,E,F)a dependency preserving decomposition?If not, explain briefly.Yes,AB→C and DC→A are preserved in thefirst relation.DC→E and E→F are preserved in the second relation.Question5You are given the below functional dependencies for relation R(A,B,C,D,E),F= {AB→C,AB→D,D→A,BC→D,BC→E}.a.Is this relation is in BCNF?If not,show all dependencies that violate it.b.Is this relation in3NF?If not,show all dependencies that violate it.2c.Is the following dependency implied by the above set of dependencies?If so,show how using the Amstrong’s Axioms given in the book(p.362-363):ABC→AEAnswer.Keys for the relation:{A,B},{B,D},{B,C}.a.Not in BCNF since D→A does have a superkey on the left hand side.b.In3NF since in D→A,A is part of a key.c.BC→E(given)ABC→AE by the augmentation rule.Question6You are given the table below for a relation R(A,B,C,D,E).You do not know the functional dependencies for this relation.This question is independent of Question2above.A B C D E’a’1221’s1’’a’’e’2364’e2’’b’’a’1991’b5’’c’’b’2132’z8’’d’Suppose this relation is decomposed into the following two tables:R1(A,B,C,D)and R2(A,C,E). Is this decomposition lossless?Explain your reasoning.Answer.R1A B C D ’a’1221’s1’’e’2364’e2’’a’1991’b5’’b’2132’z8’R2A C E’a’1’a’’e’4’b’’a’1’c’’b’2’d’R1 R2A B C D E’a’1221’s1’’a’’e’2364’e2’’b’’a’1991’b5’’c’’b’2132’z8’’d’’a’1221’s1’’a’’a’1991’b5’’c’Since the last two rows are not in the original relation,then this decomposition is lossy.Question7You are given the below set of functional dependencies for a relation R(A,B,C,D,E,F,G), F={AD→BF,CD→EGC,BD→F,E→D,F→C,D→F}.a.Find the minimal cover for the above set of functional dependencies using the algorithm described in class.Give sufficient detail to show your reasoning,but be succinct.You do not have to list all the cases you test/consider for the algorithm.Show all steps where you make changes to the above set in detail.ing the functional dependencies that you computed in step a,find the keys for this relation. Is it in BCNF?Explain your reasoning.c.Suppose we decompose the above relation into the following two relations:R1(A,B,C,D,E)R2(A,D,F,G)Use the functional dependencies in the minimal cover.For each relation,write down the functional dependencies that fall within that relation(you can decompose a dependency of the form AD→BF into two i.e.AD→B and AD→F when computing this).3Using these functional dependencies,determine if this decomposition is lossless and/or dependency preserving.Explain your reasoning.Answers.a.Step1.{AD→B,AD→F,CD→E,CD→G,CD→C,BD→F,E→D,F→C,D→F}Step2.removeCD→C,AD→F,and BD→F.{AD→B,CD→E,CD→G,F→C,D→F,E→D}Step3.remove D from CD→E and CD→G{AD→B,D→E,D→G,F→C,D→F,E→D}Finally recombine{AD→B,D→EGF,F→C,E→D}.b.Keys:{A,D},{A,E}.Not in BCNF since the last three functional dependencies do not have a superkey on the left hand side.c.R1(A,B,C,D,E)Dependencies:AD→B,D→E,E→D R2(A,D,F,G)Dependencies:D→GF.Not functional dependency preserving,the dependency F→C is not preserved.head(R1)∩head(R2)={A,D}R1:AD→ABCDE is not true since C is not implied by A,DR2:AD→ADF G is true since this is implied by D→GF as follows:AD→AD inclusion rule,since D→GF,use set accumulation rule,AD→ADGF.Hence,thisis a lossless decomposition.Question8You are given the following set F of functional dependencies for a relation R(A,B,C,D,E,F): F={ABC→D,ABD→E,CD→F,CDF→B,BF→D}.a.Find all keys of R based on these functional dependencies.b.Is this relation in Boyce-Codd Normal Form?Is it3NF?Explain your answers.c.Can the set F be simplified(by removing functional dependencies or by removing attributes from the left hand side of functional dependencies)without changing the closure of F(i.e.F+)? Hint.Consider the steps of the minimal cover algorithm.Do any of them apply to this functional dependency?Answer.a.Keys:{A,B,C}and{A,C,D}b.It is not in BCNF.Counterexample ABD→E and ABD is not a superkey.It is not in3NF.Counterexample ABD→E,and ABD is not a superkey and E is not prime attribute(part of a key).c.Let F’be obtained by replacing CDF→B with CD→B.According to F and F’,CD+={C,D,B,F}.Hence,we can remove F from this functional dependency without changing the meaning of the system.Question9Consider relation R(X,Y,Z).Relation R currently has three tuples:(6,4,2),(6,6, 8)and(6,4,8).Which of the following three functional dependencies can you infer do not holdfor relation R?Explain your answer.Y→X4Z→YXY→ZAnswer.Thefirst functional dependency holds,but the rest do not hold.The second and third tuples both have8for Z but different values of Y.Thefirst and third tuples both have6and4for X and Y but different values for Z.Question10Consider the relation R(V,W,X,Y,Z)with functional dependencies{Z→Y,Y→Z,X→Y,X→V,V W→X}.a)List the possible keys for relation R based on the functional dependencies above.b)Show the closure for attribute X given the functional dependencies above.c)Suppose that relation R is decomposed into two relations,R1(V,W,X)and R2(X,Y,Z).Is this decomposition a lossless decomposition?Explain your answer.Answer.a.{V,W},{X,W}b.X+={X,V,Y,Z}c.Yes it is lossless.To be lossless the attributes in common between the two relations must functionally determine all the attributes in one of the two relations.The only attribute in common is X and it functionally determines all the attributes in R2.Question11Given relation R(W,X,Y,Z)and set of functional dependencies F={X→W,W Z→XY,Y→W XZ}.Compute the minimal cover for F.Answer.Step1:X→W,W Z→X,W Z→Y,Y→W,Y→X,Y→ZStep2:Don’t need W Z→X,since W Z→Y and Y→XDon’t need Y→W,since Y→X and X→WThis leaves{X→W W Z→Y,Y→X,Y→Z}Step3:Only need to consider W Z→Y.Can’t eliminate W or Z.So nothing is eliminated.Step4:{X→W W Z→Y,Y→XZ}is the minimal coverQuestion12Given relation R(W,X,Y,Z)and set of functional dependencies G={Z→W,Y→XZ,XW→Y},where G is a minimal cover:a)Decompose R into a set of relations in Third Normal Form.b)Is your decomposition in part a)also in Boyce Codd Normal Form?Explain your answer. Answer.a.Possible keys:{Y},{X,Z},{W,X}R1=(Z,W),R2=(X,Y,Z),R3=(X,Y,W)b.Yes.In each of the three relations,the left side of the funcational dependencies that apply are superkeys for the relation.Hence,all three relations satisfy the definition of BCNF.Question13Consider a relation named EMP DEPT with attributes:ENAME,SSN,BDATE, ADDRESS,DNUMBER,DNAME,and DMGRSSN.Consider also the set G of functional depen-dencies for EMP DEPT:5G={SSN→ENAME BDAT E ADDRESS DNUMBER,DNUMBER→DNAME,DMGRSSM}.a)Calculate the closures SSN+and DNAME+with respect to G.b)Is the set of functional dependences G minimal?If not,find a minimal set of functional depen-dencies that is equivalent to G.c)List an update anomaly that can occur for relation EMP DEPT.d)List an insertion anomaly that can occur for relation EMP DEPT.e)List a deletion anomaly that can occur for relation EMP DEPT.Answer.a)SSN+={SSN,ENAME,BDAT E,ADDRESS,DNUMBER,DNAME,DMGRSSN}DNAME+={DNAME}b)It is minimal.c)Since every member of a department has a reference to the manager of that department(i.e., Dmgrssn),when the department manager changes this reference must be changed multiple places.This leads to the possibility of an inconsistency in the database if they are not all changed.d)You cannot enter data about a department until you have employees for the department.e)If you delete the last employee for a department,you lose all information about the department. Question14You are given the following functional dependencies for the”EMPLOYEE”relation. Explain whether the relation”EMPLOYEE”is BCNF and3NF?Database:EMPLOYEE(ssn,first-name,last-name,address,date-joined,supervisor-ssn) DEPARTMENT(dept-no,name,manager-ssn)WORKS-IN(employee-ssn,dept-no)INVENTORY(dept-no,item-id,quantity)ITEMS(item-id,item-name,type)Foreign keys:1.EMPLOYEE.supervisor-ssn and WORKS-IN.employee-ssn point to EMPLOYEE.ssn.2.WORKS-IN.dept-no and INVENTORY.dept-no point to DEPARTMENT.dept-no.3.INVENTORY.item-id points to ITEMS.item-id.{ssn→supervisor−ssn,ssn→first−name,ssn→last−name,ssn→date−joined,ssn→address,address→ssn}.Answer.In BCNF,since ssn and address are both keys of EMPLOYEE.6。
数据库练习题(标准标准答案)
、选择题1 设有两个关系 R( A, B )和S ( B, C ),与下列SELECT 语句SELECT A ,B FROM RWHERE B NOT IN ( SELECT B FROM S WHERE C='C56'); b5E2RGbCAP等价地关系代数表达式是 [ C]A ・ n A,B (莎 CM 'C56' (R?S )) B . n A , B ( R ? S )C. R - n A, B ( ^ C= 'C56'( R?S ))D. R - n A , B (莎 CM 'C56'( R?S ))C M 'C56'2、 嵌入式SQL 地预处理方式,是指[ B]A. 识别出SQL 语句,加上前缀标识和结束标志B. 把嵌入地SQL 语句处理成函数调用形式C. 对源程序进行格式化处理D. 把嵌入地SQL 语句编译成目标程序 3、 S QL 中,“DELETE FROM 表名”表示[ A]A.从基本表中删除所有元组 B .从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、 S QL 中,聚合函数 COUNT(列名)用于 [ C]A.计算元组个数 B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数5、 在传统SQL 技术中,使用“ ORDER B ”子句地SELECT 语句查询地结果,实际上为[B] p1EanqFDPw A.数组 B.列表 C.包6、 在数据库中,能提高查询速度地是(A.数据依赖B.视图 C.7、 语句 delete from sc 表明(A.删除sc 中地全部记录 C.删除基本表sc 中地列数据8、在DB 应用中,一般一条 SQL 语句可产生或处理一组记录,而DB 主语言语句一般一次只能处理一条记录,其协调可通过(B )实现• DXDiTa9E3dA. 指针B. 游标C. 数组D.栈第四章 练习题D .集合 C)索引D.数据压缩A )B.删除基本表scD.删除基本表sc 中地部分行9、 在下列基本表地定义中,数值5表示(CREATETABLEstudent (Sno char(5)A. 表中有5条记录C.表中字符串Sno 地长度10、 在视图上不能完成地操作是(C )C )not null unique , Snamechar(2)) ;RTCrpUDGiTB.表中有5列 D.A.更新视图B.查询C.在视图上定义新地基本表D.在视图上定义新视图11、 下列聚合函数中不忽略空值 (null ) 地是 (C )A SUM (列名)B 、MAX (列名)C 、COUNT ( * )D 、AVG (列名)5PCzVD7HxA12、 SQL 地查询语句地 where 子句中,对空值地操作,不正确地是(C )A 、where AGE IS NULLB 、whereAGE IS NOT NULLC 、whereAGE = NULLD where NOT (AGE IS NULL ) 13、Transact-SQL 对标准SQL 地扩展主要表现为( A )14、以下哪种情况应尽量创建索引( A )15、下列SQL Server 语句中出现语法错误地是( D ) A.DECLARE @Myvar INT B.SELECT * FROM [AAA] C.CREATE DATABASE AAAD.DELETE * FROM AAA 16、属于事务控制地语句是(A ).A. Begin Tran 、Commit 、RollBackB. Begin 、Continue 、End LBHrnAiLgC. Create Tran 、Commit 、RollBackD. Begin Tran 、Continue 、End xHAQX74J0X 17、在SQL 语言地SELECT 语句中,实现投影操作地是哪个子句? (A )A ) selectB )fromC )whereD ) grou by18、用二维表结构表示实体以及实体间联系地数据模型称为 (C )A )网状模型B )层次模型C )关系模型D )面向对象模型第(19)至(21)题是基于如下两个关系,其中雇员信息表关系 EMP 地主键是雇员号,部门信息表关系 DEPT 地主键是部门号 LDAYtRyKfEEMPDEPTA.加入了程序控制结构和变量B.加入了建库和建表语句C.提供了分组(Group By )查询功能D.提供了 Min 、Max 待统计函数 A.在Where 子句中出现频率较高地列B. 具有很多NULL 值地列C.记录较少地基本表D. 需要更新频繁地基本表 19、若执行下面列出地操作,哪个操作不能成功执行?(D)A ) 从 EMP 中删除行(‘ 010','王宏达’,‘01' ,1200)B ) 在 EMP 中插入行(’102','赵敏’,'01' ,1500)D )将EM 冲雇员号='101 '地部门号改为’05' 20、 若执行下面列出地操作,哪个操作不能成功执行? (C )A ) 从DEPT 中删除部门号=‘03'地行B ) 在DEPT 中插入行(‘ 06'计划部’,‘6号楼’)C ) 将DEPT 中部门号=‘ 02 '地部门号改为‘ 10'D ) 将DEPT 中部门号=‘ 01'地地址改为‘ 5号楼’21、 在雇员信息表关系 EMP 中,哪个属性是外键(foreign key )? (C ) A )雇员号B )雇员名C )部门号D )工资 22、 设关系R 和关系S 地元数分别是3和4,关系T 是R 与S 地广义笛卡尔积,即:T=RX S,则关系 T 地元数是(A ) Zzz6ZB2LtkA ) 7B ) 9C ) 12D ) 123、设属性A 是关系R 地主属性,则属性 A 不能取空值(NULL .这是(A )A )实体完整性规则B ) 参照完整性规则C )用户定义完整性规则D ) 域完整性规则24、下面列出地关于“视图(View )”地条目中,哪一条是不正确地? ( B )A )视图是外模式B )使用视图可以加快查询语句地执行速度C )视图是虚表D )使用视图可以简化查询语句地编写25、SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一体, 语句INSERT DELETEUPDATE 实现哪类功能? (B ) dvzfvkwMl1A )数据查询B )数据操纵C )数据定义D )数据控制26、在数据库管理系统中,下面哪个模块不是数据库存取地功能模块? ( A )A )事务管理程序模块B )数据更新程序模块27、SQL 查询语句中,用于测试子查询是否为空地谓词是( A ) A 、EXISTS B 、UNIQUE C 、SOME D 、ALL 28、下列SQL 语句中,插入数据地是(D ).A CREATEB 、ALTERC 、UPDATED 、INSERT29、在下面所列出地条目中,哪些是数据库管理系统地基本功能? (D )n .数据库地建立和维护川.数据库存取w.数据库和网络中其他软件系统地通信A ) I 和nB )i 、n 和川C ) n 和川D )都是30、 当修改基本数据时,下列关系视图地说法正确地是( B )A 、需要重建B、查以看到修改结果C )交互式程序查询模块D )查询处理程序模块 I .数据库定义C无法看到修改结果式 D 、不许修改带视图地基表31、在数据库管理系统地层次结构中,由高级到低级地层次排列顺序为(D )A ) 应用层、数据存取层、数据存储层、语言翻译处理层B ) 应用层、数据存储层、数据存取层、语言翻译处理层C ) 应用层、数据存储层、语言翻译处理层、数据存取层D ) 应用层、语言翻译处理层、数据存取层、数据存储层32、 在SQL 语言地SELECT 语句中,实现投影操作地是 (A )子句•A selectB 、fromC 、whereD 、grou by33、 SQL 中,“AGE IN ( 20,22)” 地语义是( D ).A ) AGE<=22 AND AGE >=20B)AGE <22 AND AGE >20qyn14ZNXlC )AGE =20 AND AGE =22D)AGE =20 OR AGE =22EmxvxOtOco34 SQL 中,聚合函数 COUNT (列名)用于( C )A .计算元组个数B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数35、Transact-SQL 对标准 SQL 地扩展主要表现为(A ). A.加入了程序控制结构和变量B.加入了建库和建表语句C.提供了分组(Group By )查询功能D.提供了 Min 、Max 统计函数 36、已知关系:厂商(厂商号,厂名)PK=T 商号产品(产品号,颜色,厂商号)产品号,FK=T 商号假设两个关系中已经存在如图所示元组:SixE2yXPq5产品若再往产品关系中插入如下元组:I (P03,红,C02) II (P01,蓝,C01) III (P04,白,C04) IV (P05,黑,null )能够插入地元组是(D )A I , II , IVB I , IIIC I , IID I , IV 6ewMyirQFL37、 设有一个关系:DEPT ( DNO DNAM )如果要找出倒数第三个字母为W 并且至少包含 4个字母地 DNAME 则查询条件子句应写成 WHERE DNAME LIKE ( B ) kavU42VRUsA _ W _ % 'B % W _ _ 'C W _ _ 'D W _ % ' y6v3ALoS8938、 下列SQL 语句中,修改表结构地是(D ).A 、CREATEB 、INSERTC 、UPDATED 、ALTER 39、 SQL 语句通常称为(A ).PK=厂商A、结构化查询语言B、结构化控制语言C、结构化定义语言D、结构化操纵语言40、SQL语言地一体化特点主要是与(B )相比较而言地.A、操作系统命令B、非关系模型地数据语言C、高级语言D、自然语言41、SQL语言中,删除一个表地命令是( B )A DELETE tableB 、DROPtableC 、CLEAR tableD 、REMOREable M2ub6vSTnP42、在基表S中查询所有姓名中有“国”地学生,在WHER子句中应使用(A )通配符.A. LIKE '涸%B. LIKE '涸_'C. LIKE ' _国%D. LIKE '_国_' 0YujCfmUCw43、下列哪个不属于数据库对象(B )A、默认B、SELECT语句C、存储过程D、视图44、下列那一个不属于SQL SERVERS具(A )A数据库管理器B、事件探查器C、导入和导出数据D、查询分析器45、下列那一个不属于企业管理器地功能(D )A、注册服务器 B 、配置本地和远程服务器C引入和导出数据D、为WINDOW创建操作系统用户46、关于SQL Server文件组地叙述正确地是:(A ).A、一个数据库文件不能存在于两个或两个以上地文件组里B、日志文件可以属于某个文件组C、文件组可以包含不同数据库地数据文件D一个文件组只能放在同一个存储设备中47、下面关于外码地描述中,不正确地是(C ).A.外码体现了关系间地联系手段B. 外码是某个关系地码C.外码不是任何关系地码D.外码是一个关系地码同时是另一个关系地属性48、在SQL Server中关于索引叙述正确地是:(B ).A、每个数据库表可以建立多个聚集索引B、每个表可以定义多个非聚集索引C索引地数据保存在同一个表中 D 、索引不会改变表中地数据49、关于索引描述错误地是以下地哪一个?(A)A、表中地任何数据列都可以添加索引B、创建索引地列最好不要含有许多重复地值C一般不给很少使用地列添加索引D并不是数据库中聚集索引越多搜索效率就越高50、关于存储过程地描述正确地一项是:(C ).A、存储过程地存在独立于表,它存放在客户端,供客户使用B、存储过程只是一些T-SQL语句地集合,不能看作SQL Server地对象C存储过程可以使用控制流语句和变量,大大增强了SQL地功能D 存储过程在调用时会自动编译,因此使用方便51、 关于触发器叙述正确地是( A ).A 、 触发器是自动执行地,可以在一定条件下触发B 、 触发器不可以同步数据库地相关表进行级联更改C SQL Server 不支持 DDL 触发器D 触发器不属于存储过程52、 在基表S 中删除电话号码(PHONE 属性使用(B )命令.A. ALTER S DROP PHONEB. ALTER TABLE S DROP PHONE eUts8ZQVRdC. UPDATE TABLE S PHONED. DROP TABLE S PHONE sQsAEJkW5T 54、 描述事物性质地最小数据单位是( C ).A.记录B.文件C. 数据项D.数据库55. 在SQL 数据库中,视图(view )是从一个或几个基表(或视图)导出地表,它本身不独立存储在数据库中,即数据库中只存放视图地定义而不存放视图对应地数据, 这些数据仍然61 •数据库技术地奠基人之一, E.F.Codd 于1970年发表过多篇论文, 主要论述地是(0 .A.层次数据模型B. 网络数据模型C.关系数据模型 D. 面向对象数据模型62.数据库管理系统通常提供授权功能来控制不同用户访问数据地权限,数据库地(D ) . zvpgeqJ1hkA.可靠性B. 一致性C.完整性D.安全性63、 SQL 语言地GRANT 和 REVOKED 句主要用来维护数据库地( A ).A.安全性B. 完整性C. 可靠性D. 一致性存放在对应地基表中.因此视图(B ). A.也是一个表 B. 是一个虚表 C.56. 当前DBM 断支持地数据模型地主流是(A.网状模型B.层次模型57. 能唯一地标识实体属性地(C ) A.组和 B. 排列 C.58下述关于数据库系统地正确叙述是(是一个数据库C. 称为主码.集合B ).C ).关系模型D.D. D.元组是一个文件 面向对象模型A. B. C. D. 数据库中只存在数据项之间地联系 数据库地数据项之间和记录之间都存在联系 数据库地数据项之间无联系,记录之间存在联系 数据库地数据项之间和记录之间都不存在联系 D )中.59.授权定义经过编译和存储在(A. DBMDB. 60 •假定学生关系是 学生选课关系是 将涉及到关系( A. S 视图C. 基表S (S#, SNAMESEX AGE ),课程关系是 SC (S#, C#, GRADE )要查找选修“ COMPUTER !程地女学生地姓名, D ) . lzq7IGf02EB. SC , CC. S.SCD. S , C , SCD. 数据库 TlrRGchYzg C(C#, CNAMETEACHER)7EqZcWLZNX 这主要是为了实现64、在关系数据库中,实现“表中任意二行不能相同”地约束是靠( C ).A.外码B. 属性C. 主码D. 列65、对表进行垂直方向地分割用地运算是( B ).A.交B. 投影C. 选择D. 连接66、关系数据库中,实现表与表之间地联系是通过_ ( B).A.实体完整性规则B. 参照完整性规则C.用户自定义完整性D. 值域67、关系数据库中,实现主码标识元组地作用是通过( A).A.实体完整性规则B. 参照完整性规则C.用户自定义完整性D. 属性地值域68、如果有n个事务串行调度,那么不同地有效调度有[ D]A. n2 B . 2n C . 4n D . n!69、部分匹配查询中有关通配符“ _”地正确地叙述是(D)A•“ _”代表多个字符B•“ _”可以代表零个或多个字符C•“_”不能与“ %' —同使用D•“_”代表一个字符70、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD中学号(XH)地修改权” 这一功能地是C NrpoJac3v1A.REVOKE UPDATE(XH) ON TABLE FROM ZHAOB.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON STUD FROM ZHAOD.REVOKE UPDATE(XH) ON STUD FROM PUBLIC71、把对关系SC地属性GRAD地修改权授予用户ZHAO地SQL语句是(C)A)GRANT GRADE ON SC TO ZHAOB)GRANT UPDATE ON SC TO ZHAOC)GRANT UPDATE (GRADE) ON SC TO ZHAOD)GRANT UPDATE ON SC (GRADE) TO ZHAO二、填空题1、在SQL查询语句中,用于测试子查询是否为空地谓词是EXISTS .2、在查询操作结果中不出现重复元组,应在Select子句中使用DISTINCT保留字.3、 . SQL地SELECT语句在未使用分组子句但在SELECT子句中使用了聚合函数.此时SELECT子句地语句就不是投影地意思了,而是对查询结果执行聚合操作.1nowfTG4KI4、数据库系统地权限控制方法分为自主存取控制和强制存取控制方法两种5、在SQLServer中,数据库地文件分为主数据文件、辅助数据文件_和事务日志文件三大类;6、SQL地数据操纵功能主要包括INSERT __UPDAT旦禾口_DELETg三个语句.7、在字符匹配查询中,通配符“%'代表任意多个字符—,“_”代表任意单个字符.8、触发器是一种特殊地存储过程,它可以在对一个表上进行插入_、删除和修改__操作中地任一种或几种操作时被自动调用执行• fjnFLDa5Zo9、视图是一个虚表,它是从一个或几个基本表中导出地表•在数据库中,只存放视图地结构定义,不存放视图地对应地数据• tfnNhnE6e5三、判断题1视图是一张虚表,所有地视图中不存储数据(V)2、用户不允许使用视图修改表数据(X)3、数据库中地视图只能使用所属数据库地表,不能访问其它数据库地表(X)4、视图既可以通过表得到,也可以通过其它视图得到(V)5、规则在创建后,并不能直接使用,必须绑定到表中某一列或者用户定义地数据类型上•(V)6、创建规则对象后,必须把它绑定到一个列或用户定义地数据类型上才能起作用•(V)7、触发器就其本质而言是一种特殊地存储过程•存储过程和触发器在数据库地开发中,在维护数据库实体完整性等方面具有不可替代地作用•(X)HbmVN777sL8、现实世界地对象在数据库中用实体描述(X )9、游标是系统为用户地查询结果开辟地数据缓冲区,存放SELECT语句地查询结果•(V)10、在数据库系统中,核心地部分是应用程序.(V ) 11、候选码可以选作主码,但一个主码不总是候选码•( V )12、存储过程是存放在服务器上地预先定义与编译好地SQL语句地命名集合(V)13、视图、表是一样地,都可以进行更新操作地•(14、触发器操作与约束有冲突时,触发器仍会执行.( X )15、删除触发表时,触发器被随之删除•(V)16、Order by子句仅对检索数据地显示有影响,并不改变表中行地内部顺序•(V)17、从一个表中删除元组时,delete和drop table 命令可以起到同样地效果.(X)18、与主键不同,惟一性可以是null值•(V)19、使用having子句是为了限制group by子句返回地行地个数•(V)20、在数据表定义时设置Primary key 是数据库地实体完整性控制•(V )21、在数据表定义时设置主键(Primary key)则不允许插入全为空地记录•(V )22、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重•(X)四、综合题1、设某商业集团关于商店销售商品地数据库中有三个基本表:商店SHOP(S#, SNAME AREA MGR_NAME其属性是商店编号,商店名称,区域名,经理姓名销售SALE (S#, G#, QUANTITY其属性是商店编号,商品编号,销售数量•商品GOODS G#, GNAIME PRICE其属性是商品编号,商品名称,单价•(1)试写出检索销售“冰箱”地商店地编号和商店名称地SELECT语句表达形式(2)试写出下列操作地SQL语句:从SALE表中,把“开开商店”中销售单价高于1000元地商品地销售元组全部删除(3)试写出下列操作地SQL语句:统计区域名为“ EAST地所有商店销售地每一种商品地总数量和总价值•要求显示(G#, GNAM,SUM_QUANTITYSUM_VALl)其属性为商品编号、商品名称、销售数量、销售价值• V7l4jRB8Hs1、答:解:(1)SELECT语句如下:SELECT A.S#, SNAMEFROM SHOP,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND GNAME冰箱';(2)解:DELETE FROM SALEWHERE S# IN(SELECT S#FROM SHOPWHERE SNAME开开商店')AND G# IN (SELECT G#FROM GOODSWHERE PRICE>1000 ;(3)解:SELECT C.G# GNAM,SUM(QUANTITY AS SUM_QUANTITY83lcPA59W9PRICE*SUM( QUANTITY AS SUM_VALUEFROM SHOP,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'GROUP BY C.G# GNAIME(注:SELECT子句中地属性C.G#, GNAM应在分组子句中出现)2、设数据库中有两个基本表:职工表EMP(E#, ENAME AGE SALARY D#),其属性分别表示职工工号、姓名、年龄、工资和工作部门地编号部门表DEPT (D#, DNAMEMGR),其属性分别表示部门编号、部门名称和部门经理地职工工号(1)试指出每个表地主键和外键.并写出每个表创建语句中地外键子句.(2)写出下列查询地关系代数表达式和SQL语句:检索每个部门经理地工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资.(3)建一个年龄大于50岁地职工视图,属性为(D#, DNAM|3E#,ENAMEAGE SALARY. 答:(1)EMP表地主键为E#,外键为D#.DEPT 表地主键为 D#,外键为MGR#在EMP 表地创建语句中,可写一个外键子句:FOREIGN KEY D# REFERENCES DEPT( D# ;在DEPT 表地创建语句中,可写一个外键子句:FOREIGN KEY MGR# REFERENCES EMP E#);n DEPT.D# DNAME MGR# ENAME SALARY (DEPT ? EMP) mZkklkzaaP SELECT 语句为:SELECT DEPT.D#, DNAME MGR# ENAME SALARYFROM DEPT EMPWHERE MGR#=E#(3) CREATE VIEW VIEW5 AS SELECT DEPT.D# DNAME E#, ENAME AGE SALARYFROM DEPT EMPWHERE DEPT.D#=EMP.D# AND AGE>5;3、有图书借阅管理地数据库系统,其数据库关系模式(属性只用英文字母)为:学生(学号,姓名,系别,专业)主码为:学号图书B (图书编号,图书名,出版日期,出版社)主码为:图书编号借阅R (学号,图书编号,借阅日期)主码为: (学号,图书编号)外码有:学号、图书编号请写出完成下列操作地 SQL 语句(1 )创建借阅R 表,要求指定其主码和外码Create table 借阅(学号 char(10) foreign key references学生,AVktR43bpw 图书编号 char(10) foreign key references 图书,借阅日期datetime ‘primary key( 学号,图书编号)(2) 向借阅表增加记录(’20030101 ‘, ‘tp201.01 ' , ‘ 2006/06/12 '). Insert into 借阅 values (' 20030101' , 'tp201.01 ' , ' 2006/06/12 ') ORjBnOwcEd(3) 将图书表地查询权授给 user 用户,并允许其转授给其他人Grant select on 图书 to uset with grant opti on(4) 、查询借阅了“数据库原理”一书地学生信息Select * from 学生 where 学号 in (select 学号 from 借阅Where 图书编号in select 图书编号from 图书where 图书名='数据库原理’(5) 、查询借阅了关于数据库方面书籍地学生地学号、图书名称和出版社(2 )关系表达式为:MGR#=E#Select 学号,图书名,出版社from 借阅A,图书Bwhere A.学号=B.学号and 图书名like ‘ %数据库%(6)查询2006年5月1日到2006年6月1日期间,图书地借阅情况Select * from 借阅where 借阅日期between ' 2006/05/01 ' and ' 2006/06/01 '4、设教学数据库中有四个关系:教师(教师编号,教师姓名,联系电话)课程(课程号,课程名,教师编号)学生(学号,学生姓名,年龄,性别,专业)选课(学号,课程号,成绩)(1)创建学生表和选课表,要求:指定每个表地主关键字、外部关键字和check约束. (2 )将所有学生地“高等数学”课程地成绩增加10分•Update选课set成绩=成绩+10 where课程号in (select课程号from 课程where课程名='高等数学’(3)将课程表地查询和修改权限授给teacher用户,同时允许转授给其它用户. Grant select,update on 课程to teacher with grant opti on 2MiJTy0dTT(4 )查询男生所学课程地课程号和课程名.Selec 课程号,课程名FROM 学生,选课,课程Where学生.学号=选课.学号and 选课.课程号=课程.课程号and性别='男’或Selec 课程号,课程名FROM 课程where课程号in (Select 课程号from 选课where 学号in (Select 学号from 学生where 性别='男’))(5)查询所有姓王地教师所授课程地课程号和成绩(按课程号排序)Select 选课.课程号,成绩from 教师,课程,选课where 教师姓名like '王% gliSpiue7AAnd教师.教师编号=课程.教师编号and课程.课程号=选课.课程号order by 课程号(6)统计每门课程地学生选修人数(超过10人地课程才统计).要求显示课程号和人数,查询结果按人数降序排列.Select 课程号,count(学号)人数from选课group by 课程号having count(*)>10 order by 人数desc(7)检索所有姓“李”地学生地姓名和年龄Select 学生姓名,年龄from 学生where 学生姓名like '李%(8)求男生地最高成绩Select max(成绩)from 选课where 学号in (select 学号from 学生uEh0U1Yfmh Where性别='男’)5、已知有关系:仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)(1)创建订购单表,要求:数据类型及长度自定义,并指定其主码和外码Create table 订购单表(职工号char(10) foreig n key referen ces 职工,供应商号char(10) foreig n key refere nces 供应商,iAg9qLsgBX订购单号char(10) primary key ,订购日期datetime)(2)修改职工表,增加一个职工名(可变长字符型,最长为20)字段Alter 职工表add 职工名varchar(20)⑶向订购单表中增加一条记录,记录值为:('ZG0001,'GY0001 , 'DD0001 , ' 2006/06/12 ')Insert into 订购单表values (' ZG0001 'GY0001 , 'DD0001 , ' 2006/06/12 ') WwghWvVhPE(4)给低于所有职工平均工资地职工提高10%地工资.UPDATE职工SET 工资=工资*1.1 WHERE工资< (SELECT AVG工资)FROM职工)asfpsfpi4k (5)删除所有目前没有任何订购单地供应商DELETE FROM供应商WHERE供应商号NOT IN(SELECT供应商号FROM订购单)(6 )将职工表地查询权授给USER用户,并允许其转授给其他人Grant select 职工表to USER with grant option(7)检索出向供应商S3发过订购单地职工地职工号和仓库号.SELECT职工号,仓库号FROM职工WHERE职工号IN(SELECT职工号FROM订购单WHERE供应商号='S3')(8)检索出目前没有任何订购单地供应商信息SELECT * FROM供应商WHERE NOT EXISTS(SELECT * FROM 订购单WHERE供应商号=供应商.供应商号)(9)检索出和职工E1、E3都有联系地北京地供应商信息.SELECT * FROM供应商WHERE供应商号IN(SELECT供应商号FROM订购单WHERE职工号='E1')AND供应商号IN(SELECT供应商号FROM订购单WHERE职工号='E3')(10 )检索出目前和华通电子公司有业务联系地每个职工地工资•SELECT职工号,工资FROM职工WHERE职工号IN(SELECT职工号FROM订购单WHERE供应商号IN(SELECT供应商号FROM供应商WHERE供应商名=华通电子公司’))(11)检索出与工资在1220元以下地职工没有联系地供应商地名称.SELECT供应商名FROM供应商WHERE供应商号IN(SELECT供应商号FROM订购单WHERE职工号NOT IN(SELECT 职工号FROM 职工WHERE工资< 1220))(12)检索出向S4供应商发出订购单地仓库所在地城市.SELECT城市FROM仓库WHERE仓库号IN(SELECT仓库号FROM职工WHERE职工号IN(SELECT职工号FROM订购单WHERE供应商号='S4'))(13)检索出在上海工作并且向S6供应商发出了订购单地职工号.SELECT职工号FROM职工WHERE仓库号IN(SELECT 仓库号FROM 仓库WHERE城市='上海’)AND 职工号IN (SELECT职工号FROM订购单WHERE供应商号='S6'))(14)检索出在广州工作并且只向S6供应商发出了订购单地职工号.SELECT职工号FROM职工WHERE仓库号IN(SELECT 仓库号FROM 仓库WHERE城市='广州’)AND 职工号IN (SELECT职工号FROM订购单WHERE供应商号='S6' ) AND职工号NOT IN (SELECT 职工号FROM 订购单WHERE供应商号!= ' S6' )ooeyYZTjj1(15)检索出由工资多于1230元地职工向北京地供应商发出地订购单号SELECT订购单号FROM订购单WHERE职工号IN(SELECT职工号FROM职工WHERE工资>1230) AND 供应商号IN (SELECT供应商号FROM供应商WHERE地址=北京’)(16 )检索出有最大面积地仓库信息.SELECT * FROM仓库WHERE面积=(SELECT MAX面积)FROM 仓库)(17 )检索出向S4供应商发出订购单地那些仓库地平均面积SELECT AVG面积)FROM仓库WHERE仓库号IN(SELECT仓库号FROM职工WHERE职工号IN(SELECT职工号FROM订购单WHERE供应商号='S4'))(18 )检索出每个城市地供应商个数.SELECT地址,COUNT(*) FROM 供应商GROUP BY 地址(19)检索出和面积最小地仓库有联系地供应商地个数SELECT COUNT(*) FROM供应商WHERE供应商号IN(SELECT供应商号FROM订购单WHERE职工号IN(SELECT职工号FROM职工WHERE仓库号IN(SELECT仓库号FROM仓库WHERE面积=(SELECT MIN(面积)FROM 仓库))))(20)插入一个新地供应商元组(S9,智通公司,沈阳).INSERT INTO 供应商VALUES(‘ S9','智通公司','沈阳')(21)删除由在上海仓库工作地职工发出地所有订购单DELETE FROM订购单WHERE职工号IN(SELECT职工号FROM职工WHERE仓库号IN(SELECT仓库号FROM仓库WHERE城市='上海’)版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理•版权为个人所有This article in eludes someparts, in cludi ng text, pictures, and desig n. Copyright is pers onal own ership. BkeGumm用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.PgdOOsRIMoUsers may use the contents or services of this articlefor pers onal study, research or appreciati on, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisi ons of copyright law and other releva nt laws, and shall n ot infringe upon the legitimate rights of this website and its releva nt obligees. In addition, whe n any content or service of this article is used for other purposes, writte n permissi on and remun erati on shall be obta ined from the pers on concerned and the releva nt obligee. 3cdXwckm15转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.h8c52WOngMReproducti on or quotatio n of the content of this articlemust be reas on able and good-faith citati on for the use of n ews or in formative public free in formatio n. It shall notmisinterpret or modify the original intention of the contentof this article, and shall bear legal liability such ascopyright. v4bdyGious。
数据库题库及答案精选全文完整版
可编辑修改精选全文完整版数据库题库及答案数据库技术是计算机科学中重要的一部分,广泛应用于各个领域。
为了更好地学习和理解数据库知识,题库是一个非常有用的资源。
本文提供一些常见的数据库题目及其答案,希望对读者的学习和实践有所帮助。
一、选择题1. 在关系数据库中,用于描述记录之间的关系的是:a) 表格b) 行c) 列d) 键答案:a) 表格2. 数据库管理系统(DBMS)的主要功能包括:a) 数据的存储和管理b) 数据的查询和分析c) 数据的备份和恢复d) 数据的安全性控制答案:a) 数据的存储和管理、b) 数据的查询和分析、c) 数据的备份和恢复、d) 数据的安全性控制3. 关系数据库中,用于唯一标识一条记录的属性被称为:a) 主键b) 外键c) 候选键d) 索引答案:a) 主键4. 数据库的范式用于描述数据库的结构是否符合某种规范。
以下哪一项不是数据库的范式:a) 一范式b) 二范式c) 三范式d) 四范式答案:d) 四范式5. 在SQL语句中,用于插入新记录的关键字是:a) SELECTb) UPDATEc) INSERTd) DELETE答案:c) INSERT二、填空题1. 在关系数据库中,每一行都代表一个________。
答案:记录2. 数据库中具有相同属性的记录集合被称为____________。
答案:表3. 在关系数据库中,用于检索某一部分记录的语句是________。
答案:SELECT4. 数据库设计中常用的三个范式依次是一范式、二范式和__________。
答案:三范式5. 数据库表中,用于唯一标识一条记录的属性被称为________。
答案:主键三、应用题1. 请列举至少三种数据库管理系统(DBMS)的类型,并简要描述它们的特点。
答案:关系型数据库管理系统(RDBMS):采用表格的形式组织数据,具有高度结构化和强一致性的特点。
常见的关系型数据库管理系统有MySQL、Oracle、SQL Server等。
数据库习题(含参考答案)
数据库习题(含参考答案)习题1一、问答题1. 什么是数据?数据有什么特征?数据和信息有什么关系?答:答:数据是用于载荷信息的物理符号。
数据的特征是:①数据有“型”和“值’之分;②数据受数据类型和取值范围的约束;③数据有定性表示和定量表示之分;④数据应具有载体和多种表现形式。
数据与信息的关系为:数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。
信息有多种表现形式,它通过手势、眼神、声音或图形等方式表达,但是数据是信息的最佳表现形式。
由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深层的信息。
但是,数据不等于信息,数据只是信息表达方式中的一种。
正确的数据可表达信息,而虚假、错误的数据所表达的是谬误,不是信息。
2. 什么是数据库?数据库中的数据有什么特点。
答:答:数据库是数据管理的新方法和技术,它是一个按数据结构来存储和管理数据的计算机软件系统。
数据库中的数据具有的特点是:①数据库中的数据具有数据整体性,即数据库中的数据要保持自身完整的数据结构;②数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。
3. 什么是数据库管理系统?它的主要功能是什么?答:答:数据库管理系统简称DBMS(Database Management System),它是专门用于管理数据库的计算机系统软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
数据库管理系统的主要功能是数据存储、数据操作和数据控制功能。
其数据存储和数据操作是:数据库的定义功能,指为说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指将大批数据录入到数据库的操作,它使得库中含有需要保存的数据记录;数据库维护功能,指对数据的插入、删除和修改操作,其操作能满足库中信息变化或更新的需求;数据查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。
数据库范式练习题
1.求以下关系模式的键
(1)R(A,B,C,D),函数依赖为:F={D→B,B→D,AD→B,AC→D}。
(2)R(A,B,C,D,E,P),函数依赖为:F={A→D,E→D,D→B,BC→D,DC→A}。
(3)R(A,B,C,D,E),函数依赖为:F={A→BC,CD→E,B→D,E→A}。
2.试问下列关系模式最高属于第几范式,并解释其原因。
(1)R(A,B,C,D,E),函数依赖为:AB→CE,E→AB,C→D。
(2)R(A,B,C,D),函数依赖为:B→D,D→B,AB→C。
3.设有关系模式R(O,I,S,Q,D,B),其函数依赖集合为S→D,I→B,IS→Q,B→O。
试求:
(1)R的候选键。
(2)R所属的最高范式。
(3)如果R不属于3NF,将R分解为3NF(具有无损连接性和依赖保持性)。
4.某单位有一销售利润登记表,记录个部门年代、季度销售利润。
该表随着年代的增加,表的栏目也增加,如图所示。
现在要使用数据库进行管理,请设计关系模型。
要求关系模式必须属于BCNF 范式,指出主键和函数依赖。
5.某图书馆图书馆为每本图书作了一个借阅情况登记表,如图所示。
现在要使用数据库进行管理,请设计关系模型。
要求关系模式必须属于3NF范式,指出主键和函数依赖。
图书号:JSJ0001。
数据库练习题
【例10】设F={A→BC,B→AC,C→A},对F进行 极小化处理。
判断A→C是否冗余。
设:G2={ A→B,B→A,B→C,C→A},
得:AG2+=ABC
∵ CAG2+
∴ A→C冗余。
判断B→A是否冗余。
设:G3={ A→B,B→C,C→A},
得:BG3+=BCA
∵ ABG3+
∴ B→A冗余
【例10】设F={A→BC,B→AC,C→A},对F进行 极小化处理。
例8.教材P234,18:现有一局部应用,包括两个实 体:“出版社”和“作者”,这两个实体是多对多 的联系,请设计适当的属性,画出E-R图,再将其 转换为关系模型(包括关系名、属性名、码和完整 性约束条件)。
解答: E-R图如下页图所示:
E-R图如下:
地址
出版社名称
联系电话
出版社号
作者号
出版社 n
要求:
1)给出该图书馆数据库的E-R图。
2)将E-R图转换为关系模型。
1)该图书馆数据库的E-R图如下:
姓名 读者号
地址 性别
读者 1
借阅 m
年龄 单位
借出日期 应还日期
书号 书名
图书 作者
出版社
2)转换后的关系模型为:
读者(读者号,姓名,地址,性别,年龄,单位) 图书(书号,书名,作者,出版社) 借阅(读者号,书号,借出日期,应还日期)
3)给出一个可串行化的调度如下:
T1 Slock B ,Y=B=2 Unlock B Xlock A
A=B+1, 写回A = 3 Unlock A
T2
Slock A 等待 等待 X=A=3 Unlock A Xlock B ,B=A+1 写回B = 4 Unlock B
数据库试题及答案
数据库试题及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能是______。
A. 数据存储B. 数据管理C. 数据保护D. 数据备份答案:B2. 在关系数据库中,数据是按照______存储的。
A. 记录B. 表格C. 索引D. 视图答案:B3. SQL语言中的“SELECT”语句用于执行______。
A. 数据更新B. 数据查询C. 数据删除D. 数据插入答案:B4. 以下哪个不是数据库设计中的范式?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)答案:D5. 在数据库中,事务的ACID属性不包括以下哪一项?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 可扩展性(Scalability)答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述数据库的三级模式结构是什么?答案:数据库的三级模式结构包括外模式(用户模式)、概念模式(逻辑模式)和内模式(存储模式)。
外模式是用户与数据库交互的视图,概念模式是数据库的全局逻辑结构,内模式是数据库的物理存储结构。
2. 解释什么是数据库的规范化,并说明其目的是什么?答案:数据库的规范化是将数据库设计成一种逻辑上更简单、更一致的形式的过程。
其目的是减少数据冗余,提高数据完整性,以及简化数据的维护。
3. 描述什么是数据库的并发控制,并举例说明其重要性。
答案:数据库的并发控制是指在多用户环境中,数据库管理系统(DBMS)用来确保多个事务可以安全地同时执行的机制。
例如,在银行系统中,多个用户可能同时进行转账操作,正确的并发控制可以确保每笔交易的准确性和一致性。
三、计算题(每题15分,共30分)1. 假设有一个学生表Student,包含字段:学号(S#),姓名(Sname),性别(Sex),年龄(Age)。
数据库试题及答案
数据库试题及答案一、选择题(每题2分,共20分)1. 在关系数据库中,用于确保数据完整性的机制是()。
A. 索引B. 触发器C. 视图D. 存储过程答案:B2. SQL语言中的“SELECT”语句用于()。
A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C3. 数据库管理系统(DBMS)的主要功能是()。
A. 存储数据B. 管理数据C. 访问数据D. 所有以上选项答案:D4. 在数据库设计中,将一个表的列引用另一个表的主键,这种关系称为()。
A. 一对一关系B. 一对多关系C. 多对多关系D. 无关系答案:B5. 下列哪个不是数据库的三大范式之一?()A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)答案:D二、填空题(每空2分,共20分)6. 在SQL中,用于删除表中数据的命令是________。
答案:DELETE7. 数据库事务具有四个重要的属性,通常被称为ACID属性,其中“D”代表________。
答案:Durability(持久性)8. 在数据库中,一个_______可以包含多个表。
答案:Schema9. 索引用于提高数据库查询的效率,但是过多的索引会降低_______的性能。
答案:INSERT和UPDATE10. 数据库备份是为了防止数据丢失,常见的备份类型包括全备份和________。
答案:增量备份三、简答题(每题10分,共30分)11. 请简述数据库规范化的目的和好处。
答案:数据库规范化的目的是为了减少数据冗余,提高数据的一致性和完整性。
规范化通过分解表来消除数据的重复存储,确保数据的逻辑结构清晰。
这样做的好处包括:减少数据维护成本,提高数据的一致性,避免更新异常,以及提高查询效率。
12. 解释什么是数据库的事务,并说明事务的四个基本特性。
答案:数据库事务是一系列操作,这些操作作为一个整体被执行,以确保数据库的完整性。
事务的四个基本特性是:- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。
数据库练习题库(含答案)
数据库练习题库(含答案)一、单选题(共98题,每题1分,共98分)1.在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是()。
A、可避免过早陷入具体细节B、从局部或子系统开始分析问题,便于建模人员了解业务模型C、图形对象不涉及太多技术术语,便于用户理解模型D、用图形化的模型能直观表示系统功能正确答案:B2.DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS提供的()。
A、数据定义功能B、数据操纵功能C、数据库运行管理与控制功能D、数据库建立与维护功能正确答案:C3.关于数据划分策略,下述说法错误的是()。
A、散列划分釆用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号B、范围划分根据某个属性的取值,将数据划分为n个部分,分别存储到不同磁盘上C、范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题D、轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询正确答案:D4.存取方法设计属于数据库设计的()阶段的设计任务。
A、逻辑结构设计B、概念结构设计C、系统需求分析D、物理结构设计正确答案:D5.将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是()。
A、散列文件B、堆文件C、索引文件D、聚集文件正确答案:B6.关于"死锁”,下列说法中正确的是()。
A、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库B、只有出现并发操作时,才有可能出现死锁C、当两个用户竞争相同资源时不会发生死锁D、死锁是操作系统中的问题,数据库操作中不存在正确答案:B7.关于数据库应用系统的需求分析工作,下列说法正确的是()。
A、在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图B、通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明C、数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标D、数据需求分析的主要工作是要辩识出数据处理中的数据处理流程正确答案:C8.如果一个系统定义为关系系统,则它必须( )oA、支持关系数据库B、支持选择、投影和连接运算C、A和B均成立D、A、B都不需要正确答案:C9.联机分析处理包括以下()基本分析功能。
数据库练习题(标准标准答案)
数据库练习题(标准标准答案)第四章练习题一、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价地关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B (σC≠'C56'(R?S))2、嵌入式SQL地预处理方式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌入地SQL语句处理成函数调用形式C.对源程序进行格式化处理D.把嵌入地SQL语句编译成目标程序3、SQL中,“DELETE FROM 表名”表示 [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)用于[ C]A.计算元组个数B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数5、在传统SQL技术中,使用“ORDER BY”子句地SELECT语句查询地结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提高查询速度地是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中地全部记录B. 删除基本表scC. 删除基本表sc中地列数据D. 删除基本表sc中地部分行8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现.A. 指针B. 游标C. 数组D. 栈9、在下列基本表地定义中,数值5表示( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 地长度D. 表格地大小10、在视图上不能完成地操作是( C )A. 更新视图B. 查询C. 在视图上定义新地基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 地是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL地查询语句地where子句中,对空值地操作,不正确地是( C )A、where AGE IS NULLB、whereAGE IS NOT NULLC、whereAGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL地扩展主要表现为( A ).A. 加入了程序控制结构和变量B. 加入了建库和建表语句C. 提供了分组(Group By)查询功能D. 提供了Min、Max待统计函数14、以下哪种情况应尽量创建索引( A ).A.在Where子句中出现频率较高地列B.具有很多NULL值地列C.记录较少地基本表D.需要更新频繁地基本表15、下列SQL Server语句中出现语法错误地是( D ).A.DECLARE @Myvar INTB.SELECT * FROM [AAA]C.CREATE DATABASE AAAD.DELETE * FROM AAA16、属于事务控制地语句是( A ).A. Begin Tran、Commit、RollBackB. Begin、Continue、EndC. Create Tran、Commit、RollBackD. Begin Tran、Continue、End17、在SQL语言地SELECT语句中,实现投影操作地是哪个子句?(A )A)selectB)fromC)where D)grou by18、用二维表结构表示实体以及实体间联系地数据模型称为(C )A)网状模型 B)层次模型 C)关系模型 D)面向对象模型第(19)至(21)题是基于如下两个关系,其中雇员信息表关系EMP地主键是雇员号,部门信息表关系DEPT地主键是部门号EMP DEPT19、若执行下面列出地操作,哪个操作不能成功执行?(D )A) 从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)B)在EMP中插入行(‘102’,‘赵敏’,‘01’,1500)C) 将EMP中雇员号=‘056’地工资改为1600元D) 将EMP中雇员号=‘101’地部门号改为‘05’20、若执行下面列出地操作,哪个操作不能成功执行?(C )A) 从DEPT 中删除部门号=‘03’地行B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)C) 将DEPT中部门号=‘02’地部门号改为‘10’D) 将DEPT中部门号=‘01’地地址改为‘5号楼’21、在雇员信息表关系EMP中,哪个属性是外键(foreign key)?(C )A) 雇员号B) 雇员名C) 部门号D) 工资22、设关系R和关系S地元数分别是3和4,关系T是R与S地广义笛卡尔积,即:T=R×S,则关系T地元数是(A )A) 7 B) 9 C) 12 D) 123、设属性A是关系R地主属性,则属性A不能取空值(NULL).这是(A )A) 实体完整性规则 B) 参照完整性规则C) 用户定义完整性规则 D) 域完整性规则24、下面列出地关于“视图(View)”地条目中,哪一条是不正确地?( B)A) 视图是外模式B)使用视图可以加快查询语句地执行速度C) 视图是虚表 D) 使用视图可以简化查询语句地编写25、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?(B )A) 数据查询B) 数据操纵C) 数据定义D) 数据控制26、在数据库管理系统中,下面哪个模块不是数据库存取地功能模块?( A)A) 事务管理程序模块B) 数据更新程序模块C) 交互式程序查询模块D) 查询处理程序模块27、SQL查询语句中,用于测试子查询是否为空地谓词是(A).A、EXISTSB、UNIQUEC、SOMED、ALL28、下列SQL语句中,插入数据地是(D ).A、CREATEB、ALTERC、UPDATED、INSERT29、在下面所列出地条目中,哪些是数据库管理系统地基本功能?(D )Ⅰ.数据库定义Ⅱ.数据库地建立和维护Ⅲ.数据库存取Ⅳ.数据库和网络中其他软件系统地通信A) Ⅰ和ⅡB) Ⅰ、Ⅱ和ⅢC) Ⅱ和ⅢD) 都是30、当修改基本数据时,下列关系视图地说法正确地是(B )A、需要重建B、查以看到修改结果C、无法看到修改结果式D、不许修改带视图地基表31、在数据库管理系统地层次结构中,由高级到低级地层次排列顺序为(D )A) 应用层、数据存取层、数据存储层、语言翻译处理层B) 应用层、数据存储层、数据存取层、语言翻译处理层C) 应用层、数据存储层、语言翻译处理层、数据存取层D) 应用层、语言翻译处理层、数据存取层、数据存储层32、在SQL语言地SELECT语句中,实现投影操作地是( A )子句.A、selectB、fromC、whereD、grou by33、SQL中,“AGE IN(20,22)”地语义是( D ).A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =2234 SQL中,聚合函数COUNT(列名)用于( C )A.计算元组个数B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数35、Transact-SQL对标准SQL地扩展主要表现为(A ).A. 加入了程序控制结构和变量B. 加入了建库和建表语句C. 提供了分组(Group By)查询功能D. 提供了Min、Max统计函数36、已知关系:厂商(厂商号,厂名)PK=厂商号产品(产品号,颜色,厂商号)PK=产品号,FK=厂商号假设两个关系中已经存在如图所示元组:厂商产品若再往产品关系中插入如下元组:I(P03,红,C02)II(P01,蓝,C01)III(P04,白,C04)IV(P05,黑,null)能够插入地元组是( D )A I,II,IVB I,IIIC I,IID I,IV37、设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母地DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B )A ‘_ _ W _ %’B ‘_ % W _ _’C ‘_ W _ _’D ‘_ W _ %’38、下列SQL语句中,修改表结构地是(D).A、CREATEB、INSERTC、UPDATED、ALTER39、SQL语句通常称为( A).A、结构化查询语言B、结构化控制语言C、结构化定义语言D、结构化操纵语言40、SQL语言地一体化特点主要是与( B)相比较而言地.A、操作系统命令B、非关系模型地数据语言C、高级语言D、自然语言41、SQL语言中,删除一个表地命令是( B )A、 DELETE tableB、DROP tableC、 CLEAR tableD、 REMORE table42、在基表S中查询所有姓名中有“国”地学生,在WHERE子句中应使用( A)通配符.A. LIKE ’%国%’B. LIKE ‘%国_’C. LIKE ’_国%’D. LIKE ‘_国_’43、下列哪个不属于数据库对象(B )A、默认B、SELECT语句C、存储过程D、视图44、下列那一个不属于SQL SERVER工具(A )A数据库管理器 B、事件探查器 C、导入和导出数据 D、查询分析器45、下列那一个不属于企业管理器地功能(D )A、注册服务器B、配置本地和远程服务器C、引入和导出数据D、为WINDOWS创建操作系统用户46、关于SQL Server文件组地叙述正确地是:( A ).A、一个数据库文件不能存在于两个或两个以上地文件组里B、日志文件可以属于某个文件组C、文件组可以包含不同数据库地数据文件D、一个文件组只能放在同一个存储设备中47、下面关于外码地描述中,不正确地是(C ).A. 外码体现了关系间地联系手段B. 外码是某个关系地码C. 外码不是任何关系地码D. 外码是一个关系地码同时是另一个关系地属性48、在SQL Server 中关于索引叙述正确地是:( B ).A、每个数据库表可以建立多个聚集索引B、每个表可以定义多个非聚集索引C、索引地数据保存在同一个表中D、索引不会改变表中地数据49、关于索引描述错误地是以下地哪一个?( A)A、表中地任何数据列都可以添加索引B、创建索引地列最好不要含有许多重复地值C、一般不给很少使用地列添加索引D、并不是数据库中聚集索引越多搜索效率就越高50、关于存储过程地描述正确地一项是:( C ).A、存储过程地存在独立于表,它存放在客户端,供客户使用B、存储过程只是一些T-SQL语句地集合,不能看作SQL Server 地对象C、存储过程可以使用控制流语句和变量,大大增强了SQL地功能D、存储过程在调用时会自动编译,因此使用方便51、关于触发器叙述正确地是( A ).A、触发器是自动执行地,可以在一定条件下触发B、触发器不可以同步数据库地相关表进行级联更改C、SQL Server 不支持DDL触发器D、触发器不属于存储过程52、在基表S中删除电话号码(PHONE)属性使用( B)命令.A. ALTER S DROP PHONEB. ALTER TABLE S DROP PHONEC. UPDATE TABLE S PHONED. DROP TABLE S PHONE54、描述事物性质地最小数据单位是( C ).A. 记录B. 文件C. 数据项D. 数据库55.在SQL数据库中,视图(view)是从一个或几个基表(或视图)导出地表,它本身不独立存储在数据库中,即数据库中只存放视图地定义而不存放视图对应地数据,这些数据仍然存放在对应地基表中.因此视图( B ).A. 也是一个表B. 是一个虚表C. 是一个数据库D. 是一个文件56.当前DBMS所支持地数据模型地主流是(C).A. 网状模型B. 层次模型C. 关系模型D. 面向对象模型57. 能唯一地标识实体属性地( C)称为主码.A. 组和B. 排列C. 集合D. 元组58下述关于数据库系统地正确叙述是( B).A. 数据库中只存在数据项之间地联系B. 数据库地数据项之间和记录之间都存在联系C. 数据库地数据项之间无联系,记录之间存在联系D. 数据库地数据项之间和记录之间都不存在联系59.授权定义经过编译和存储在( D)中.A. DBMDB. 视图C. 基表D. 数据库60.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),要查找选修“COMPUTER”课程地女学生地姓名,将涉及到关系(D).A. SB. SC,CD. S,C,SC61.数据库技术地奠基人之一,E.F.Codd于1970年发表过多篇论文,主要论述地是(C) .A. 层次数据模型B. 网络数据模型C. 关系数据模型D. 面向对象数据模型62.数据库管理系统通常提供授权功能来控制不同用户访问数据地权限,这主要是为了实现数据库地( D).A. 可靠性B. 一致性C. 完整性D. 安全性63、SQL语言地GRANT和REVOKE语句主要用来维护数据库地(A ).A. 安全性B. 完整性C. 可靠性D. 一致性64、在关系数据库中,实现“表中任意二行不能相同”地约束是靠(C ) .A. 外码B. 属性C. 主码D. 列65、对表进行垂直方向地分割用地运算是(B ).A. 交B. 投影D. 连接66、关系数据库中,实现表与表之间地联系是通过_(B).A. 实体完整性规则B. 参照完整性规则C. 用户自定义完整性D. 值域67、关系数据库中,实现主码标识元组地作用是通过(A) .A. 实体完整性规则B. 参照完整性规则C. 用户自定义完整性D. 属性地值域68、如果有n个事务串行调度,那么不同地有效调度有[ D]A.n2 B.2n C.4n D.n!69、部分匹配查询中有关通配符“_”地正确地叙述是 ( D)A.“_”代表多个字符B.“_”可以代表零个或多个字符C.“_”不能与“%”一同使用D.“_”代表一个字符70、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)地修改权”这一功能地是CA.REVOKE UPDATE(XH) ON TABLE FROM ZHAOB.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON STUD FROM ZHAOD.REVOKE UPDATE(XH) ON STUD FROM PUBLIC71、把对关系SC地属性GRADE地修改权授予用户ZHAO地SQL 语句是(C)A)GRANT GRADE ON SC TO ZHAOB)GRANT UPDATE ON SC TO ZHAOC)GRANT UPDATE (GRADE) ON SC TO ZHAOD)GRANT UPDATE ON SC (GRADE) TO ZHAO二、填空题1、在SQL查询语句中,用于测试子查询是否为空地谓词是_ EXISTS __.2、在查询操作结果中不出现重复元组,应在Select子句中使用_ DISTINCT_保留字.3、.SQL地SELECT语句在未使用分组子句但在SELECT子句中使用了聚合函数.此时SELECT 子句地语句就不是投影地意思了,而是对查询结果执行聚合操作.4、数据库系统地权限控制方法分为自主存取控制和强制存取控制方法两种5、在SQL Server 中,数据库地文件分为主数据文件_、辅助数据文件_和_事务日志文件三大类;6、SQL地数据操纵功能主要包括INSERT、__UPDATE__和__DELETE_三个语句.7、在字符匹配查询中,通配符“%”代表_任意多个字符___,“_”代表__任意单个字符.8、触发器是一种特殊地存储过程,它可以在对一个表上进行__插入__、_删除_和___修改__操作中地任一种或几种操作时被自动调用执行.9、视图是一个虚表,它是从一个或几个基本表中导出地表.在数据库中,只存放视图地结构定义,不存放视图地对应地数据.三、判断题1、视图是一张虚表,所有地视图中不存储数据(√)2、用户不允许使用视图修改表数据(×)3、数据库中地视图只能使用所属数据库地表,不能访问其它数据库地表(×)4、视图既可以通过表得到,也可以通过其它视图得到(√)5、规则在创建后,并不能直接使用,必须绑定到表中某一列或者用户定义地数据类型上.(√)6、创建规则对象后,必须把它绑定到一个列或用户定义地数据类型上才能起作用.(√)触发器就其本质而言是一种特殊地存储过程.存储过程和触发器在数据库地开发中,在维护数据库实体完整性等方面具有不可替代地作用.(×)8、现实世界地对象在数据库中用实体描述(╳)9、游标是系统为用户地查询结果开辟地数据缓冲区,存放SELECT语句地查询结果.(√)10、在数据库系统中,核心地部分是应用程序.(√ )11、候选码可以选作主码,但一个主码不总是候选码. (√ )12、存储过程是存放在服务器上地预先定义与编译好地SQL语句地命名集合(√)13.视图、表是一样地,都可以进行更新操作地. ( ╳ )14、触发器操作与约束有冲突时,触发器仍会执行.( ╳ )15、删除触发表时,触发器被随之删除.(√)16、Order by子句仅对检索数据地显示有影响,并不改变表中行地内部顺序.(√)17、从一个表中删除元组时,delete和drop table命令可以起到同样地效果.(×)18、与主键不同,惟一性可以是null值.(√)19、使用having子句是为了限制group by子句返回地行地个数.(√)20、在数据表定义时设置Primary key是数据库地实体完整性控制. (√)21、在数据表定义时设置主键(Primary key)则不允许插入全为空地记录.(√)22、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重.(×)四、综合题1、设某商业集团关于商店销售商品地数据库中有三个基本表:商店SHOP(S#,SNAME,AREA,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名.销售SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量.商品GOODS(G#,GNAME,PRICE)其属性是商品编号,商品名称,单价.(1)试写出检索销售“冰箱”地商店地编号和商店名称地SELECT语句表达形式.(2)试写出下列操作地SQL语句:从SALE表中,把“开开商店”中销售单价高于1000元地商品地销售元组全部删除. (3)试写出下列操作地SQL语句:统计区域名为“EAST”地所有商店销售地每一种商品地总数量和总价值.要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值.1、答:解:(1)SELECT语句如下:SELECT A.S#,SNAMEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';(2)解:DELETE FROM SALEWHERE S# IN(SELECT S#FROM SHOPWHERE SNAME='开开商店')AND G# IN(SELECT G#FROM GOODSWHERE PRICE>1000);(3)解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,PRICE*SUM(QUANTITY)AS SUM_VALUEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'GROUP BY C.G#,GNAME;(注:SELECT子句中地属性C.G#,GNAME应在分组子句中出现)2、设数据库中有两个基本表:职工表 EMP(E#,ENAME,AGE,SALARY,D#),其属性分别表示职工工号、姓名、年龄、工资和工作部门地编号.部门表 DEPT(D#,DNAME,MGR#),其属性分别表示部门编号、部门名称和部门经理地职工工号.(1)试指出每个表地主键和外键.并写出每个表创建语句中地外键子句.(2)写出下列查询地关系代数表达式和SQL语句:检索每个部门经理地工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资.(3)建一个年龄大于50岁地职工视图,属性为(D#,DNAME,E#,ENAME,AGE,SALARY). 答:(1)EMP表地主键为E#,外键为D#.DEPT表地主键为D#,外键为MGR#在EMP表地创建语句中,可写一个外键子句:FOREIGN KEY D# REFERENCES DEPT(D#);在DEPT表地创建语句中,可写一个外键子句:FOREIGN KEY MGR# REFERENCES EMP(E#);(2)关系表达式为:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT ? EMP)MGR#=E# SELECT语句为:SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARYFROM DEPT,EMPWHERE MGR#=E#;(3)CREATE VIEW VIEW5AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARY FROM DEPT,EMPWHERE DEPT.D#=EMP.D# AND AGE>50;3、有图书借阅管理地数据库系统,其数据库关系模式(属性只用英文字母)为:学生(学号,姓名,系别,专业)主码为:学号图书B(图书编号,图书名,出版日期,出版社)主码为:图书编号借阅R(学号,图书编号,借阅日期)主码为:(学号,图书编号)外码有:学号、图书编号请写出完成下列操作地SQL语句(1)创建借阅R表,要求指定其主码和外码Create table 借阅(学号 char(10) foreign key references 学生, 图书编号 char(10) foreign key references 图书,借阅日期 datetime ,primary key(学号, 图书编号)(2)向借阅表增加记录(’20030101‘,‘tp201.01’, ‘2006/06/12‘).Insert into 借阅values (’20030101’, ‘tp201.01’, ‘2006/06/12‘)(3)将图书表地查询权授给user用户,并允许其转授给其他人Grant select on 图书 to uset with grant option(4)、查询借阅了“数据库原理”一书地学生信息.Select * from 学生 where学号 in (select学号 from 借阅Where 图书编号 in select 图书编号 from 图书where 图书名=’数据库原理’(5)、查询借阅了关于数据库方面书籍地学生地学号、图书名称和出版社.Select 学号,图书名,出版社 from 借阅 A, 图书 Bwhere A. 学号=B. 学号 and 图书名like ‘%数据库%’(6)查询2006年5月1日到2006年6月1日期间,图书地借阅情况Select * from 借阅 where 借阅日期between ‘2006/05/01’ and ‘2006/06/01’4、设教学数据库中有四个关系:教师(教师编号,教师姓名,联系电话)课程(课程号,课程名,教师编号)学生(学号,学生姓名,年龄,性别,专业)选课(学号,课程号,成绩)(1)创建学生表和选课表,要求:指定每个表地主关键字、外部关键字和check约束. (2)将所有学生地“高等数学”课程地成绩增加10分.Update选课 set成绩=成绩+10 where课程号in (select课程号 from 课程 where课程名=’高等数学’(3)将课程表地查询和修改权限授给teacher用户,同时允许转授给其它用户.Grant select,update on 课程 to teacher with grant option(4)查询男生所学课程地课程号和课程名.Selec 课程号,课程名 FROM 学生,选课,课程Where学生.学号=选课.学号 and 选课.课程号=课程.课程号and 性别=’男’或Selec 课程号,课程名 FROM 课程 where课程号 in (Select 课程号 from 选课 where 学号 in (Select学号 from 学生 where 性别=’男’))(5)查询所有姓王地教师所授课程地课程号和成绩(按课程号排序).Select 选课.课程号, 成绩 from 教师,课程,选课 where 教师姓名like ‘王%’And 教师.教师编号=课程.教师编号and 课程.课程号=选课.课程号order by 课程号(6)统计每门课程地学生选修人数(超过10人地课程才统计).要求显示课程号和人数,查询结果按人数降序排列.Select 课程号 ,count(学号) 人数 from 选课group by课程号 having count(*)>10 order by 人数 desc(7)检索所有姓“李”地学生地姓名和年龄Select 学生姓名,年龄 from 学生 where 学生姓名like ‘李%’(8)求男生地最高成绩Select max(成绩) from 选课 where 学号 in (select 学号 from 学生Where 性别=’男’)5、已知有关系:仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)(1)创建订购单表,要求:数据类型及长度自定义,并指定其主码和外码Create table 订购单表(职工号 char(10) foreign key references 职工,供应商号 char(10) foreign key references供应商,订购单号 char(10) primary key,订购日期 datetime)(2)修改职工表,增加一个职工名(可变长字符型,最长为20)字段Alter 职工表 add 职工名 varchar(20)(3)向订购单表中增加一条记录,记录值为:(’ZG0001’,‘GY0001’, ‘DD0001’,‘2006/06/12’)Insert into 订购单表values (’ZG0001‘,‘GY0001’, ‘DD0001’,‘2006/06/12’)(4)给低于所有职工平均工资地职工提高10%地工资.UPDATE 职工SET 工资=工资*1.1 WHERE 工资< (SELECT AVG(工资) FROM 职工)(5)删除所有目前没有任何订购单地供应商.DELETE FROM 供应商 WHERE 供应商号 NOT IN(SELECT 供应商号 FROM 订购单)(6)将职工表地查询权授给USER用户,并允许其转授给其他人Grant select on职工表 to USER with grant option(7)检索出向供应商S3发过订购单地职工地职工号和仓库号.SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ )(8)检索出目前没有任何订购单地供应商信息.SELECT * FROM 供应商 WHERE NOT EXISTS( SELECT * FROM 订购单 WHERE 供应商号=供应商.供应商号 ) (9)检索出和职工E1、E3都有联系地北京地供应商信息.SELECT * FROM 供应商 WHERE 供应商号 IN( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E1’ )AND 供应商号 IN( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ )(10)检索出目前和华通电子公司有业务联系地每个职工地工资.SELECT 职工号,工资 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号 IN(SELECT 供应商号 FROM 供应商 WHERE 供应商名=’华通电子公司’)) (11)检索出与工资在1220元以下地职工没有联系地供应商地名称.SELECT 供应商名 FROM 供应商 WHERE 供应商号 IN(SELECT 供应商号 FROM 订购单 WHERE 职工号 NOT IN(SELECT 职工号 FROM 职工 WHERE 工资 < 1220))(12)检索出向S4供应商发出订购单地仓库所在地城市.SELECT 城市 FROM 仓库 WHERE 仓库号 IN(SELECT 仓库号 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))(13)检索出在上海工作并且向S6供应商发出了订购单地职工号.(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’) AND 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’))(14)检索出在广州工作并且只向S6供应商发出了订购单地职工号.SELECT 职工号 FROM 职工 WHERE 仓库号 IN(SELECT 仓库号 FROM 仓库 WHERE 城市=’广州’) AND 职工号 IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’) AND 职工号NOT IN (SELECT 职工号FROM 订购单WHERE 供应商号!=’S6’)(15)检索出由工资多于1230元地职工向北京地供应商发出地订购单号.SELECT 订购单号 FROM 订购单 WHERE 职工号 IN(SELECT 职工号 FROM 职工 WHERE 工资>1230) AND 供应商号IN(SELECT 供应商号 FROM 供应商 WHERE 地址=’北京’)(16)检索出有最大面积地仓库信息.SELECT * FROM 仓库 WHERE 面积=(SELECT MAX(面积) FROM 仓库)(17)检索出向S4供应商发出订购单地那些仓库地平均面积.SELECT AVG(面积) FROM 仓库 WHERE 仓库号 IN(SELECT 仓库号 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))(18)检索出每个城市地供应商个数.SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址(19)检索出和面积最小地仓库有联系地供应商地个数.SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN(SELECT 供应商号 FROM 订购单 WHERE 职工号 IN(SELECT 仓库号 FROM 仓库 WHERE 面积=(SELECT MIN(面积) FROM 仓库))))(20)插入一个新地供应商元组(S9,智通公司,沈阳).INSERT INTO 供应商VALUES(‘S9’,’智通公司’,’沈阳’)(21)删除由在上海仓库工作地职工发出地所有订购单.DELETE FROM 订购单 WHERE 职工号 IN(SELECT 职工号 FROM 职工 WHERE 仓库号 IN(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’)版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.BkeGuInkxI 用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.PgdO0sRlMoUsers may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.3cdXwckm15转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.h8c52WOngMReproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.v4bdyGious。
数据库习题及答案(五套)
《数据库》课程模拟试题(一)一、填空题(30分)1.数据的独立性包括数据的物理独立性和数据的逻辑独立性。
2.数据的物理独立性是指当数据的存储结构(或内模式)改变时,通过系统内部的自动映象功能或转换功能,保持了数据的全局逻辑结构(或模式)不变。
3.数据模型由三部分组成:数据结构数据操作完整性约束4.一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为1:n(一对多)的联系。
5.一个关系模型由若干个关系模式组成。
6.在选择运算所得到的结果关系中,所含的元组数不多于原关系中的元组数。
7.SQL语言具有对数据的定义查询操纵控制等四个方面的功能。
8.设X→Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是平凡函数依赖。
9.在一个关系模式中,若一个属性或属性组K完全函数决定整个元组,则称K为该关系的一个候选关键字。
10.如果一个关系R中的所有非主属性都不传递依赖于任何候选关键字,则称关系R属于第三范式,记作R∈3NF。
11.一个关系模式为Y(X1,X2,X3,X4),假定该关系存在如下函数依赖:X1←→X2,X1→X3,X1→X4,则该关系属于BCNF。
12.假定一个E-R图包含有A实体和B实体,并且从A到B存在着1∶n的联系,则转换成关系模型后,包含有3个关系模式。
13.实现系统案例,防止非法破坏数据,所采用的数据保护措施有:用户标识和鉴定、存取控制定义视图审计数据加密14.恢复的实现技术有:数据转储和登录日志文件。
13、15.____分布式数据库___________是一个逻辑上统一、地域上分布的数据集合。
16.关系中能唯一标识元组,且又不含多余属性称为___候选键_____________。
17.在概念结构设计中先,定义全局概念结构的框架,然后逐步细化。
这种方法称为_____________自顶向下方法___________。
18.分布式数据库系统中透明性层次越高,应用程序的编写越简单。
(完整)数据库范式理解例题
范式分解主属性:包含在任一候选关键字中的属性称主属性。
非主属性:不包含在主码中的属性称为非主属性。
函数依赖:是指关系中一个或一组属性的值可以决定其它属性的值.函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。
如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。
属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant).例:身份证号→姓名。
部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
完全函数依赖:在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y 不函数依赖于X',则称Y对X完全函数依赖.否则称Y对X部分函数依赖。
【例】;举个例子就明白了。
假设一个学生有几个属性SNO 学号 SNAME 姓名 SDEPT系SAGE 年龄 CNO 班级号 G 成绩对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO, CNO), 因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。
而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。
传递函数依赖:设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
如果X-〉Y, Y—〉Z, 则称Z对X传递函数依赖。
计算X+ (属性的闭包)算法:a.初始化,令X+ = X;b。
在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令X+ = X+∪“右边属性集”,并为访问过的函数依赖设置标记。
c。
反复执行b直到X+不改变为止。
数据库范式练习题
1、请简述满足1NF、2NF和3NF的基本条件。
并完成下题:某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。
(本小题第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。
第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。
第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字.考生情况(考生编号,姓名,性别,考生学校)考场情况(考场号,考场地点)考场分配(考生编号,考场号)成绩(考生编号,考试成绩,学分)2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的配件关系:(配件编号,配件名称,型号规格)供应商关系(供应商名称,供应商地址)配件库存关系(配件编号,供应商名称,单价,库存量)3、简述满足1NF、2NF和3NF的基本条件。
并完成下题:已知教学关系,教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF.4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。
例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案:仓库号+零件号;1NF;仓库(仓库号,面积,电话号码)零件(零件号,零件名称,规格)保存(仓库号,零件号,库存数量)例2。
报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。
例2答案:学员编号+培训编号;1NF;学员(学员编号,学员姓名)培训(培训编号,培训名称,培训费)报名(学员编号,培训编号,报名日期)5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。
(部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)[注]职务指某员工在某项目中的职务。
数据库练习题(含参考答案)
数据库练习题(含参考答案)一、单选题(共88题,每题1分,共88分)1.( )是存储在磁盘上的唯一标识。
A、表B、查询C、窗体D、报表正确答案:A答案解析:表是存储在磁盘上的唯一标识。
2.数据库是在计算机系统中按照一定的实际模型组织、存储和应用的( )A、程序的集合B、数据的集合C、文件的集合D、命令的集合正确答案:B3.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A、课号,成绩B、学号,成绩C、学号,课号D、学号,姓名,成绩正确答案:C答案解析:选课SC表的关键字必须是由学生表S和课程表S的关键字共同组成,如果使用任意一个建立,都不能确定SC表中每一行数据的唯一性。
4. 下面有关E-R模型向关系模型转换的叙述中,不正确的是( )。
A、一个1:1联系可以转换为一个独立的关系模式合并的关系模式,也可以与联系的任意一端实体所对应B、一个实体类型转换为一个关系模式C、一个1:n联系可以转换为一个独立的关系模式合并的关系模式,也可以与联系的任意一端实体所对应D、一个m:n联系转换为一个关系模式正确答案:C5. 下列关于OLE对象的叙述中,正确的是( )。
A、用于输入文本数据B、用于处理超级链接数据C、用于生成自动编号数据D、用于链接或内嵌WINDOWS支持的对象正确答案:D答案解析:OLE对象属性是指字段允许单独地“链接”或“嵌入”OLE对象,如WORD文当、EXCEL表格、图像、声音或其他二进制数据。
6. 退出Access数据库管理系统可以使用的快捷键是 ( )A、Alt+F4B、Alt+XC、Ctrl+CD、Ctrl+O正确答案:A答案解析:除了Alt+F4以外,也可以采用Alt+ F +X 退出Access。
7.存储在某一种媒体上能够识别的物理符号是( )A、数据B、数据处理C、数据管理D、信息处理正确答案:A答案解析:数据是存储在某一种媒体上能够识别的物理符号。
数据库练习题(含答案)
数据库练习题(含答案)一、单选题(共80题,每题1分,共80分)1、同一个数据模型的任意两个元组值()A、不能全同B、可全同C、必须全同D、以上都不是正确答案:A2、在创建主/子窗体之前,要确定主窗体与子窗体之间的数据源之间存在着的关系。
A、多对一B、多对多C、一对一D、一对多正确答案:D3、Access不能对数据类型进行排序和索引。
( )A、文本B、数字C、备注D、自动编号正确答案:D4、任何一个满足2NF但不满足3NF的关系模式都存在( )A、非主属性对候选码的传递依赖B、主属性对候选码的部分依赖C、非主属性对候选码的部分依赖D、主属性对候选码的传递依赖正确答案:A5、以下哪一条属于关系数据库的规范化理论要解决的问题?( )A、如何构造合适的应用程序界面B、如何构造合适的数据库逻辑结构C、如何控制不同用户的数据操作权限D、如何构造合适的数据库物理结构正确答案:B6、在数据管理技术发展的三个阶段中,数据独立性最好的是( )。
A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同正确答案:C答案解析:数据库系统管理阶段的独立性最高,是因为采用了数据库管理系统来管理数据,将应用程序和数据分开存储。
7、在设计表时,若输人掩码属性设置为“LL”,则能接收的输人是( )A、abBdB、aBC、AB+CD、ABa9正确答案:B答案解析:在输入掩码的格式符号中,“L”表示在该位置必须输入一个字母。
B送选项中少了一个字母,C选项中不能接受“+”,D 选项中不能接受“9”8、在下列SQL语句中,修改表结构的语句是( )。
A、ALTERB、CREATEC、UPDATED、INSERT正确答案:A9、空数据库是指()A、没有基本表的数据库B、没有任何数据库对象的数据库C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库正确答案:B答案解析:Access由六大对象组成,因此空数据库必须是没有任何对象的数据库。
数据库练习题及答案解析
数据库练习题及答案解析The manuscript was revised on the evening of 2021第一章习题一、单项选择题1.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和 IIB. 只有 IIC. II 和 IIID. 只有 I3. 下列四项中,不属于数据库系统特点的是(C)。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C)。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是( A)。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式8. 下述(B)不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计9. 常见的数据模型有三种,它们是(B)A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R图中,用来表示属性的图形是(B)A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是_____模式______。
数据库规范化习题
数据库规范化习题篇一:数据库规范化练习答案规范化习题1、涉及到学生、教师和课程关系模式STC(SNO,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。
假设学生有重名,课程名也可能有重名。
又假设教师无重名,且每个教师只教一门课程,但一门课程可有几个教师同时开设。
某个学生选定某门课后,其上课教师就固定了。
要求:(1)写出键码和函数依赖(2)分解关系模式使之属于BC范式候选码:(SNO,CN)和(SNO,TN)SNO->SN, SNO->SA , TN->CN, (SNO,CN)->TN, (SNO,CN)->G, (SNO,TN)->GSTC(SNO, TN,G) S(SNO,SN,SA) T(TN,CN)2、有关系模式:Student(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任。
指出此关系模式的候选码。
判断此关系模式是第几范式,若不是三范式,将其规范为三范式。
函数依赖有:学号→ 姓名学号→ 所在系,学号→班号,班号→班主任,所在系→系主任候选码:学号是2NF不是3NFStudent(学号,姓名,所在系,班号)Student1(班号,班主任)Student2(所在系,系主任)3、假设某商业集团数据库中有关系模式如下:R(商店编号,商品编号,商品库存数量,部门编号,负责人)如果规定:每个商店的每中商品只在该商店的一个部门中销售。
每个商店的每个部门只有一位负责人。
每个商店的每种商品只有一个库存数量。
试回答下列问题:(1)根据上述规定,写出关系模式R的基本函数依赖。
(2)找出关系模式R的候选码。
(3)试问关系模式R最高已经达到第几范式,为什么?(4)如果关系模式不属于3NF,试将R分解成3NF。
函数依赖:(商店编号,商品编号)→部门编号,(商店编号,部门编号)→负责人(商店编号,商品编号)→商品库存数量候选码:(商店编号,商品编号)不是3NF: R1(商店编号,商品编号,商品库存数量,部门编号)R2(商店编号,部门编号,负责人)4、假设我们有关系模式:管理(仓库号,设备号,职工号),它所包含的语义是:一个仓库可以有多个职工;一名职工仅在一个仓库工作;在每个仓库一种设备仅由一名职工保管,但每名职工可以保管多种设备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库范式练习题
1、请简述满足1NF、2NF和3NF的基本条件。
并完成下题:某信息一览表
如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。
(本小题12分)
第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。
第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。
第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。
考生情况(考生编号,姓名,性别,考生学校)
考场情况(考场号,考场地点)
考场分配(考生编号,考场号)
成绩(考生编号,考试成绩,学分)
2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。
(12分)
配件关系:(配件编号,配件名称,型号规格)
供应商关系(供应商名称,供应商地址)
配件库存关系(配件编号,供应商名称,单价,库存量)
3、简述满足1NF、2NF和3NF的基本条件。
并完成下题:已知教学关系,
教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。
4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。
例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案:
仓库号+零件号;1NF;
仓库(仓库号,面积,电话号码)
零件(零件号,零件名称,规格)
保存(仓库号,零件号,库存数量)
例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。
例2答案:
学员编号+培训编号;1NF;
学员(学员编号,学员姓名)
培训(培训编号,培训名称,培训费)
报名(学员编号,培训编号,报名日期)
5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。
(部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)
[注]职务指某员工在某项目中的职务。
部门(部门编号,部门名称,所在城市)
员工(员工编号,员工姓名,部门编号)
项目(项目编号,项目名称,预算)
工作(员工编号,项目编号,职务,加入项目的日期)。