数据库原理例题及解答
数据库原理习题及答案

数据库原理1、如果关系模式R满足2NF,且每个非主属性都不传递依赖于R的每个关系键,则称关系模式R属于()。
A、3NF2、下列选项中可以用来做时间戳的是()。
A、逻辑计数器3、运行在单台计算机上,不与其他计算机系统交互的数据库系统是指()。
A、集中式系统4、数据库系统并发控制主要采用的技术手段是时间戳、()等。
A、封锁5、PowerBuilder中,如果要将用户对数据窗口中数据的操作更新到数据库,必须调用数据窗口控件对象的函数()。
D、update()6、PowerBuilder中如果要将数据窗口中数据从数据库检索出来,必须调用数据窗口控件对象的函数()。
C、retrieve()7、三层系统架构的优点不包括()D、结构更加的明确8、在PowerBuilder自带的ASA中建立新数据库时,ASA完成的工作不包括()。
D、打开应用主窗口9、如果SQL查询需要去掉查询结果中的重复组,应使用( )。
C、DISTINCT10、关系数据库的规范化理论中起着核心的作用、作为模式分解和模式设计的基础的是()。
B、函数依赖11、为了提高磁盘数据的存储和访问速度,出现了很多存取技术,但不包括()。
D、高速硬盘12、用于保证数据库字段取值合理性的完整性约束是()。
A、域完整性13、如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于()。
A、1NF14、对R(U,F)有:若X→Y,X→Z为F所蕴涵,则X→YZ为F所蕴涵,这种性质是()。
C、合成性15、事务的最后一条语句被执行后,事务处于()。
A、部分提交状态16、事务的()意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。
B、持久性17、在静态散列中,如果我们插入一条记录,而桶没有足够的空间,就会发生()。
D、桶溢出18、数据库中的数据一般只部分更新,很少全部更新,如果全部备份,效率较低,可采用()解决。
B、增量备份19、某关系模式R,属性集U=ABCD,函数依赖集F={A→B, C→B,B→D},属性子集U1=CD,则F在U1上的投影为()。
数据库原理习题及答案

1.从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系。
区别:文件系统:用文件将数据长期保存在外存上,程序和数据有一定的联系,用操作系统中的存取方法对数据进行管理,实现以文件为单位的数据共享。
数据库系统:用数据库统一存储数据,程序和数据分离,用DBMS统一管理和控制数据,实现以记录和字段为单位的数据共享。
联系:均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展而来的。
2.什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余?在文件管理系统中,数据被组织在一个个独立的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。
数据文件之间没有联系,数据文件是面向应用程序的。
每个应用都拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。
数据库系统以数据库方式管理大量共享的数据。
数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。
数据库系统中的数据具有共享性。
数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。
4.使用数据库系统有什么好处?查询迅速、准确,而且可以节约大量纸面文件;数据结构化,并由DBMS统一管理;数据冗余度小;具有较高的数据独立性;数据的共享性好;DBMS还提供了数据的控制功能。
5.什么是数据库的数据独立性?数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
数据库系统原理习题解答

1.12 外部模型使数据库系统有哪些优点? 答:简化了用户的观点; 有助于数据库的安全保护; 外部模型是对概念模型的支持,如果用户使用外部模型得心应手,那 么说明当初根据用户需求综合成的概念模型是正确的、完善的。 答:在用户到数据库间,DB 的数据结构有三个层次:外部模型、逻 辑模型、内部模型。这三个层次用 DB 的 DDL 定义后的内容分别是外模式、 逻辑模式、内模式。 (叙述三个模式的概念) 内模式并不涉及物理设备的约束,那一部分由操作系统完成。如从磁 盘读写数据的操作。 1.15 试述 DBMS 的工作模式和主要功能。 答:DBMS 工作模式: 1)接受应用程序的数据请求和处理请求; 2)将用户的数据请求(高级指令)转换成复杂的机器代码(低级指 令);3)实现对数据库的操作; 4)从对数据库的操作中接受查询结果;5)对查询结果进行处理(格式 转换);6)将处理结果返回给用户。 DBMS 主要功能: 1)数据库的定义功能;2)数据库的操纵功能;3)数据库的保护功能; 4)数据库的维护功能;5)数据字典。
物理数据独立性——对内模式修改时,对逻辑模式/内模式像作相应 修改,可以尽量不影响逻辑模式。
逻辑数据独立性——逻辑模式修改时,对外模式/逻辑模式映像作相 应修改,可以使外模式和应用程序保持不变。
主语言——在数据库技术中,用于编写应用程序的高级程序设计语言。 DDL——数据定义语言。DBMS 提供 DDL 定义数据库的三级结构、两级 映像,定义数据的完整性约束、保密限制等约束。 DML——数据操纵语言。DBMS 提供 DML 实现对数据的操作。基本的数 据操作有两类:检索(查询)、更新(插入、删除、修改)。分为过程性 DML 和非过程 DML 两种。 过程性 DML——是指用户编程时,不仅需要指出“做什么”(需要什 么样的数据),还需要指出“怎么做”(怎样获得这些数据)。如层次、 网状的 DML。 非过程性 DML——用户编程时,只需要指出“做什么”,不需要提出 “怎么做”。如关系型 DML。
数据库原理与应用试题及答案

数据库原理与应用试题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 执行程序D. 以上都是答案:D2. 关系数据库中,表之间的关系有几种?A. 1种B. 2种C. 3种D. 4种答案:C3. SQL语言中的“SELECT”语句用于执行什么操作?A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C4. 在数据库中,主键的作用是什么?A. 唯一标识表中的每条记录B. 存储数据C. 用于排序D. 用于分组答案:A5. 数据库的完整性约束包括哪些类型?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 所有上述类型答案:D二、填空题6. 数据库设计通常分为三个阶段:需求分析、______、物理设计。
答案:概念设计7. 在关系数据库中,一个表的______是指表中数据的逻辑结构。
答案:模式8. 数据库的并发控制主要解决______、更新丢失和不一致的异常问题。
答案:数据竞态9. 数据库的______是指数据库中数据的独立性。
答案:规范化10. 在SQL中,使用______语句可以实现数据的删除。
答案:DELETE三、简答题11. 简述数据库的三级模式结构。
答案:数据库的三级模式结构包括外模式、概念模式和内模式。
外模式是用户与数据库交互的接口,概念模式是数据库的全局逻辑结构,内模式是数据库的物理存储结构。
12. 解释什么是事务的ACID属性。
答案:事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性指事务中的操作要么全部完成,要么全部不完成;一致性指事务执行的结果必须使数据库从一个一致的状态转移到另一个一致的状态;隔离性指并发执行的事务之间不会互相影响;持久性指一旦事务提交,其结果将永久保存在数据库中。
四、论述题13. 论述数据库备份与恢复的重要性及其常用方法。
数据库原理试题及答案

数据库原理试题及答案一、选择题1. 数据库的主要特点是什么?A. 数据独立性B. 冗余性C. 数据共享性D. 数据保密性答案:A. 数据独立性2. 关系数据库中,主键的作用是什么?A. 用于建立实体之间的联系B. 用于唯一标识关系表中的每一条记录C. 用于排序和索引D. 用于限制实体的属性取值范围答案:B. 用于唯一标识关系表中的每一条记录3. 下面哪个不是SQL的基本操作?A. SELECTB. UPDATEC. DELETED. INSERT答案:C. DELETE4. 数据库ACID特性中的一致性指的是什么?A. 事务执行前后数据的一致性B. 并发操作下的数据一致性C. 数据库内部元数据的一致性D. 数据备份和恢复的一致性答案:A. 事务执行前后数据的一致性5. 数据库索引的作用是什么?A. 提高数据查询的效率B. 加快数据的插入和更新操作C. 保证数据的一致性D. 限制数据的访问权限答案:A. 提高数据查询的效率二、填空题1. 数据库中,用于描述数据之间的关系的形式称为________。
答案:表2. 数据库中,用于存储数据的基本单位称为________。
答案:字段3. 数据库中,用于组织和管理数据的软件系统称为________。
答案:数据库管理系统(DBMS)4. 关系数据库中,用于连接不同表之间的数据的字段称为________。
答案:外键5. 关系数据库中,用于限制字段取值范围的规则称为________。
答案:约束三、简答题1. 请简要描述数据库的三级模式结构。
答:数据库的三级模式结构包括外模式(视图层)、概念模式(逻辑层)和内模式(物理层)。
外模式是用户对数据库的部分数据的逻辑表达方式,用户可以通过外模式对所需数据进行查询和操作。
概念模式是数据库的全局逻辑结构,它定义了数据库中各个实体及其之间的关系,并给出了对数据进行操作的完整规则。
内模式是数据库在物理存储上的表示,它描述了数据在磁盘上的存储方式和组织结构。
数据库系统原理练习题+答案

数据库系统原理练习题+答案一、单选题(共100题,每题1分,共100分)1、下列不属于数据定义语言包括的SQL语句的是A、DELETEB、ALTERC、CREATED、DROP正确答案:A2、下列关于MySQL的说法中,错误的是A、MySQL是一个RDBMSB、MySQL具有客户/服务器体系结构C、MySQL 由美国MySQL AB公司开发D、许多中、小型网站为了降低网站总体拥有成本而选择MySQL作为网站数据库正确答案:C3、下列关于存储函数与存储过程的说法中,错误的是A、存储过程可以拥有输出参数B、可以直接对存储函数进行调用,且不需要使用CALL语句C、存储过程中必须包含一条RETURN语句D、对存储过程的调用,需要使用CALL语句正确答案:C4、数据库设计的重要目标包括A、研究构造数据库B、良好的数据库性能C、数据库行为设计D、数据库结构设计正确答案:B5、在图存储数据库中,【】保存与结点相关的信息。
A、结点B、属性C、边D、联系正确答案:B6、主要反映应用部门原始业务处理的工作流程的是A、数据流程图B、数据操作特征表C、操作过程说明书D、任务分类表正确答案:A7、MySQL的用户账号及相关信息都存储在一个名为【】的MySQL数据库中。
A、rootB、mysqlC、adminD、user正确答案:B8、数据库管理系统是计算机的A、数据库系统B、数据库C、应用软件D、系统软件正确答案:D9、在图存储数据库中,【】用来连接结点。
A、属性B、边C、结点D、联系正确答案:B10、将数据库系统与现实世界进行密切地、有机地、协调一致地结合的过程是A、数据库设计的内容B、数据库设计方法C、数据库生命周期D、数据库设计正确答案:D11、控制数据在一定的范围内有效或要求数据之间满足一定的关系,保证输入到数据库中的数据满足相应的约束条件,以确保数据有效、正确是指A、故障恢复B、并发控制C、数据安全性D、数据完整性正确答案:D12、属于数据库结构设计阶段的是A、程序设计B、逻辑结构设计C、功能设计D、事务设计正确答案:B13、属于数据库实现与操作阶段的是A、概念设计B、数据库的修改与调整C、逻辑设计D、物理设计正确答案:B14、使用存储过程的好处不包括A、高性能B、存储过程可作为一种安全机制来确保数据库的安全性C、良好的封装性D、可增加网络流量正确答案:D15、使用存储过程的好处不包括A、可增强SQL语言的功能和灵活性B、移植性好C、存储过程可作为一种安全机制来确保数据的完整性D、良好的封装性正确答案:B16、下列不属于数据库系统三级模式结构的是A、内模式B、模式C、外模式D、数据模式正确答案:D17、在多表连接查询的连接类型中,最常用的是A、左连接B、内连接C、右连接D、交叉连接正确答案:B18、数据库的核心是A、概念模式B、内部模式C、外部模式D、存储模式正确答案:A19、表中的行,也称作A、分量B、属性C、超码D、记录正确答案:D20、同一数据被反复存储的情况是A、插入异常B、数据冗余C、更新异常D、删除异常正确答案:B21、SQL提供了【】进行数据查询,该功能强大、使用灵活。
数据库原理有答案

二、主观题(共5道小题)35、什么就是数据独立性?参考答案:数据独立性指应用程序独立于数据得表示(逻辑)与存储(物理),通过将数据得定义与存储从程序中独立出来实现。
36、什么就是数据抽象?参考答案:数据抽象:即就是将数据抽象化、逻辑化,使用户不必了解数据库文件得物理存储结构、存储位置与存取方法等细节,即可存取数据库。
在数据库系统中,有三种级别得数据抽象,即:视图级抽象、概念级抽象与物理级抽象。
37、什么就是演绎?参考答案:演绎就是归纳出实体型集合得共同特征,并形成由这些共同特征构成得新实体型。
38、什么就是弱实体?参考答案:弱实体就是管理主体之外得实体型。
没有键属性得实体。
39、假定一个学校得图书馆要建立一个数据库,保存读者、书与读者借书记录。
请用ER图进行概念模型得设计。
读者得属性有:读者号、姓名、年龄、地址与单位书得属性有:书号、书名、作者与出版社对每个读者借得每本书有:借出日期与应还日期参考答案:二、主观题(共11道小题)25、什么就是数据库?参考答案:数据库就是永久存储得、相互关联得与可共享得数据集合。
26、设有一个关系数据库,有三个基本表,表得结构如下:STUDENT(学号,姓名,年龄,性别,系名),其中学号,姓名,性别,系名得数据类型均为字符类型。
年龄得数据类型为整型。
SC(学号,课程号,成绩):其中学号、课程号得数据类型为字符类型,成绩得数据类型为整型。
COURSE(课程号,课程名,学时数):其中课程号、课程名得数据类型得数据类型为字符类型;学时数得数据类型为整型。
1)请用关系代数查询信息系学生得学号、姓名、课程号与成绩。
2)指出以上各关系得键与外键。
3)请用关系代数查询年龄在20以下同学得姓名,年龄。
4)请用SQL语言检索创建STUDENT表,并定义出主键约束,学生性别缺省约束为:“男”5 )请用SQL语言定义SC表,并定义外键约束SC(学号,课程号,成绩):其中学号、课程号得数据类型为字符类型,成绩得数据类型为整型。
数据库原理课后习题及解答(常用版)

数据库原理课后习题及解答(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)《数据库原理》课后习题及解答课后习题:第一章第二章第三章第四章第五章第六章第七章第八章第九章习题答案:第一章第二章第三章第四章第五章第六章第七章第八章第九章第一章概论1.试解释下列术语:数据库;数据库管理系统;数据库系统2.试述数据库管理系统的组成内容。
3.试比较文件系统与数据库系统的异同。
4.什么叫数据的物理独立性与逻辑独立性?并说明它的重要性。
5.试述数据库系统的优点。
6.什么叫数据的冗余与数据的不一致性?7.什么叫数据库管理员?他的主要工作是什么?8.试述数据库系统发展的几个阶段。
返回第一章答案第二章数据模型1.什么叫数据库模型,它分哪几种类型?2.试区别数据模型与数据模式。
3.什么叫数据模式,它分哪三级?4.试述数据模型四个世界的基本内容。
5.试介绍E-R模型,EE-R模型及面向对象模型、谓词模型,并各举一例说明之。
6.层次网状模型有什么特点?并各举一例说明之。
7.试比较层次、网状、关系模型之优缺点。
8.试说明关系模型的基本结构与操作。
9.目前流行的关系型数据库管理系统,有哪些你比较熟悉,试介绍其特点。
10.你认为“数据模型”在整个数据库领域中是否有重要作用和地位,试详细说明之。
11.一图书馆借阅书刊,请你画出书刊、读者及借阅三者间的E-R模型。
12.一人事档案中,有干部、职工,干部又有高级干部与一般干部,请用EE-R模型画出他们之间关系。
13.试述物理模型的主要内容。
14.试叙述四个世界的转化关系。
15.请你比较四种数据模型的异同。
返回第二章答案第三章关系数据库系统1.试述关系数据库系统的优点。
2.试述关系型的12条标准,并说明FOXBASE为何是半关系型的。
3.关系代数与关系演算的表示能力是否相同?试证明之。
4.从关系模型的数学表示中,你是否认为网状与层次模型也可以用数学方法表示?试说明理由。
5.设有如图3-1所示的医院组织。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的:1、了解SQL语言的特点和基本概念。
2、能够针对某种具体的DBMS(本实验采用Access2003),熟练地运用单表查询、连接查询、嵌套查询、集合查询等各种SQL查询语句对数据库中的表进行操作。
3、对相同的查询要求,能够采用多种查询方法实现,并能分析各种方法的优劣,从中选择合适的方法。
二、实验过程:1、Print the names of professors who work in departments that have fewer than 50 PhD students.解:(1)分析:本题是查询在博士生人数少于50个人的系工作的教师名字。
查询教授名字可以通过prof 表,而所查询的教授名字是有限制条件的,他所工作的系名要属于特定的集合(所有系名的一个子集),显然这个子集可以通过查询dept表获得,所以带有谓词in的嵌套子查询可以实现题目要求。
(2)语句实现:'SELECT Prof.字段1FROM ProfWHERE Prof.字段2 IN (SELECT Dept.字段1 FROM Dept WHERE Dept.字段2 < 50);****************************************************;(3)查询结果:|2、Print the name(s) of student(s) with the lowest gpa解:(1)分析:本题是查询成绩点最低的学生的名字。
最低的成绩点可以在student表中通过函数min(gpa)获得,而所查询学生的名字的限制为成绩点等于min(gpa), 因此可用如下嵌套子查询实现。
(2)语句实现:>SELECT Student.字段2FROM StudentWHERE Student.字段6 IN(SELECT min(Student.字段6)FROM Student);****************************************************;(3)查询结果:3、For each Computer Sciences class, print the cno, sectno, and the average gpa of the student enrolled in the class.解:(1)分析:本题是查询计算机科学系的所有班的课程号、分班号、班上学生的平均绩点。
计算机科学系的所有班可以通过section表获得, 而通过enroll表可以由section表中的dname, cno,sectno获得班上所有学生的sid,而通过sid可以在student表中查得学生成绩点,最后由cno, sectno进行分组,并用函数avg(gpa),获得每组的平均成绩。
所以可用三个表的连接查询,并适当分组实现查询要求。
(2)语句实现:;SELECT Section.字段2,Section.字段3,avg(Student.字段6) AS avStudent字段6FROM [Section],Enroll,StudentWHERE ((Section.字段1='Computer Sciences')and(Section.字段2=Enroll.字段4)and=)GROUP BY Section.字段2,Section.字段3;****************************************************;(3)查询结果:4、Print the course names, course numbers and section numbers of all classes with less than six students enrolled inthem.解:(1)分析:本题是查询所有班级人数少于6的课程名,课程号,分班号。
通过section表可以查询出所有的班,其中的课程名可由查询所得的dname, cno在course表中确定,因为与班级人数有关,还需将section表和enroll表做连接,并按, , 分组以获取所有班的人数。
所以可用连接查询、嵌套查询,并适当分组来实现查询要求。
{(2)语句实现:SELECT (SELECT Course.字段2 from Coursewhere Course.字段1=Section.字段2 and Course.字段3=Section.字段1)AS Course字段2,Section.字段2,Section.字段3FROM [Section],EnrollWHERE (Section.字段2=Enroll.字段4AND section.字段1=enroll.字段3 AND section.字段3=enroll.字段5)GROUP BY Section.字段2,Section.字段3,Section.字段1HAVING count(*)<6;****************************************************;&(3)查询结果:5、Print the name(s) and sid(s) of student(s) enrolled in the most classes.解:(1)分析:本题是查询加入班级数最多的学生名字、学号。
可采用临时表的方法解决。
建立一个临时表包括字段学生名字、学号和所选课程的数目(num)。
再对这个临时表进行查询(名字、学号),限制条件是所选课程数目等于max(num)。
(2)语句实现:SELECT ,FROM (SELECT ,,count AS numFROM enroll,studentWHERE =GROUP BY , AS TempWHERE = (SELECT max(num) From (SELECT sid,(SELECT sname FROM Student where sid= %AS sname,count(*)As num FROM Enroll group by );****************************************************(3)查询结果:6、Print the names of departments that have one or more majors who are under 18 years old.解:(1)分析:本题是查询所含学生至少有一个年龄小于18岁的系的名称。
在major表中可以得到每个学生所属专业情况,该系存在学生年龄小于18岁的学生(通过student表)则该系满足要求。
因此可用带有exists的嵌套子查询实现要求。
(2)语句实现:SELECT dnameFROM major*WHERE exists(SELECT*FROM Student where <18 and =;****************************************************;(3)查询结果:7、Print the names and majors of students who are taking one of the College Geometry courses.解:(1)分析:本题查询所有选了College Geometry courses的学生的姓名和所在系名。
此题对课程名需要用通配符进行模糊查询。
学生的限制条件是存在一门College Geometry course为他所选。
因此还需用到带有exists的嵌套子查询。
(2)语句实现:SELECT (SELECT sname FROM Student where sid= AS sname, dnameFROM major)WHERE exists(SELECT*from Course,Enroll where ='Mathematics'and in (461,462) and =;****************************************************;(3)查询结果:8、For those departments that have no majors taking a College Geometry course, print the department name and thenumber of PhD students in the department.解:(1)分析:本题是查询所含学生都没有选College Geometry course的系的名称和该系的博士生人数。
本题思路和方法与上题基本一致。
(2)语句实现:SELECT dname, numphdsFROM Dept—WHERE not exists(SELECT*from Course,Enroll where ='Mathematics'and in (461,462) and =;****************************************************;(3)查询结果:9、Print the names of students who are taking both a Computer Sciences course and a Mathematics course.解:(1)分析:本题是查询既选了计算机科学系课程又选了数学系课程的学生姓名是求两个集合交的问题。
因为一般的DBMS没有实现交操作,可以先根据一个条件获取一个集合然后根据第二个条件筛选,即第一个集合要选取也在第二个条件产生的集合元素中。
因此可以用带有in的嵌套子查询完成要求。
(2)语句实现:SELECTFROM Student,Enroll、WHERE = and ='Mathematics' and in(SELECT FROM Student,EnrollWHERE = and ='Computer Sciences');****************************************************;(3)查询结果:10、Print the age difference between the oldest and youngest Computer Sciences major(s).解:(1)分析:本题是查询计算机科学性年龄最大的学生和年龄最小的学生之间的年龄差。
思想还是通过先建立一张临时表,包括字段系名、学号、年龄。