奥鹏浙江大学远程教育学院《数据库技术》课程作业
填空题:
注:空白下划线处为需要填充的部分。带下划线部分为考试时可能出题的部分,需要重点注意。
1. 数据 是信息的符号表示。 数据处理 从某些已知的数据出发,推导加工出新的信息。数据管理及其技术发展的阶段包括:人工管理阶段 、文件系统阶段 、数据库系统阶段 、高级数据库系统阶段 。
2. 人工管理阶段在20世纪50年代中期 以前,其特点是:数据不保存 在计算机中; 没有软件系统 对数据进行统一管理;基本没有文件 的概念;一组数据 对应一个程序, 数据 是面向程序的;程序和程序之间存在着大量的重复数据 。
3. 文件系统阶段在20世纪50年代后期至20世纪60年代中期 ,其特点是:数据长期保留在 外存上,可经常对文件进行查询、修改、插入、删除等操作;有软件(文件系统 )对数据进行管理,程序和数据有了一定的 独立性 ;文件的形式多样化,有顺序文件、索引文件 和 散列文件等;数据的存取基本上以 记录 为单位。
4. 数据库系统阶段在20世纪60年代后期开始,其特点是:面向全组织的 数据结构化;数据的共享性高 、 低冗余、易扩充 ;数据独立性高 。
5. 数据库是长期储存在计算机存储设备上、相互关联的、可以被用户共享 的 数据集合 。
6. 数据独立性 是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。
7. 数据库管理系统――DataBase Management System,简称DBMS ,DBMS运行在操作系统之上对数据库进行统一的管理和控制,并且使数据库能为多个用户共享,同时还能保证数据的安全性、可靠性 、 完整性、一致性 ,还要保证数据的高度独立性等。
数据库管理系统具备如下功能:数据库中数据的 组织 功能;数据库中数据的操纵 功能; 数据库中数据的 维护 功能; 数据库中数据的 查询 功能; 数据库 控制 功能; 数据库 通讯 功能; 数据库的数据 服务 功能。
8. 从事数据库管理工作的人员称之为 数据库管理员(Database Administrator,简称为DBA ),数据库管理员指的是一种角色,是负责数据库管理的人员或部门。数据库管理员从事的工作既有管理方面的、也有技术方面的,数据库管理员负责数据库的 规划、设计 、建设 、运行、维护 、升级 等各个方面的工作。
9. 数据库管理员的职责:在数据库规划阶段要 参与选择和评价 与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库 应用需求 ,要确定数据库的开发计划 ;在数据库设计阶段要负责数据库标准的制定 ,要负责 数据库的设计,负责数据库安全 、可靠方面的设计;在数据库运行阶段首先要负责对用户进行数据库方面的培训 ;负责数据库的备份和恢复 ;负责对数据库中的数据进行维护 ;负责监视数据库的性能 ,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理 ;在运行过程中发现问题、解决问题 。
10. 数据库中不仅存储数据本身,还要存储数据与数据之间的联系,这种数据和联系是需要描述和定义的, 数据模型 正是完成此项任务的。
数据模型的三个阶段:现实世界――概念数据模型、信息世界 --逻辑 数据模型、机器世界 --物理 数据模型 。
11. 现实世界中所管理的对象称作 实体 (Entity),其定义为:客观存在并可以相互区分的客观事物或抽象事件。实体之间联系的基本类型有三种: 一对一 (1 : 1)、 一对多 (1 : n)、多对多 (m : n)。
12. 支持概念模型的最常用方法――E-R方法。E-R方法主要有3个要素:实体 、联系、属性 。
13. 传统的三大数据模型:层次模型 、网状模型、关系模型 。用 关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。
14. 数据库的体系结构是一种 三层 模式结构,即由面向全局逻辑结构的概念层 、和面向全局存储结构的 物理层 以及面向局部应用的外部层构成。
15. 关系通俗的讲就是二维表格,也是人们在日常生活中最常见到的表格数据。
16. 关系数据模型 就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型。
17. 关系数据模型的三要素: 关系数据构 、 关系数据操作 、 关系数据完整性约束 。关系完整性约束:实体完整性、参照完整性 、用户定义完整性 。实体完整性规则:若属性A是关系R的 主属性 ,则属性A不可以为 空值。如果属性(或属性组)F是关系R的 外部关键字 ,它与关系S的 主关键字 K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为:或者取空值 (F的每个属性均为空值); 或者等于S中某个元组的主关键字的值 。
18. 传统的集合运算:并运算、交运算 、差运算、广义笛卡尔积。
19. 专门的关系运算:选择运算、投影运算 、连接运算 、除运算。
20. SQL是Structured Query Language(结构化查询语言)的缩写。
21. 在关系数据库中把独立存在的关系称作基本表;视图是从基本表派生出来的虚拟表 ,视图本身不包含数据 。
22. 用SQL语句创建表,使用语句 CREATE TABLE。对列的约束主要有NOT NULL ,UNIQUE ,PRIMARY KEY ,FOREIGN KEY 等。定义表的删除与更新操作的完整性约束,主要有四种模式:NO ACTION ,CASCADE ,SET NULL,SET DEFAULT。检查列的取值范围可以用CHECK约束。设定列的默认取值,可以用DEFAULT 短语。
23. 用SQL语句进行记录的插入操作,使用 INSERT语句。
24. 用SQL语句进行记录的更新操作,使用 UPDATE语句。
25. 用SQL语句进行记录的删除操作,使用 DELETE 语句。
26. 用SQL语句进行表结构的修改操作,使用 ALTER TABLE 语句。
27. 用SQL语句进行表的删除操作,使用 DROP TABLE 语句。
28. 用SQL语句进行权限授予时,应使用 GRANT语句。在进行权限撤销时,应使用REVOKE语句。
29. 用SQL语句进行表的查询操作,使用 SELECT语句。如果要进行分组查询,应使用 GROUP BY子句;如果要对查询结果进行排序,要使用ORDER BY 子句;查询使用连接操作时,可以使用的外连接方式主要有左连接LEFT JOIN,右连接RIGHT JOIN,全连接 FULL JOIN等几种。
30. 使用游标可以进行更新和删除。此时,与普通的更新和删除的SQL语句比较,增加了子句 WHERE CURRENT OF <游标名。
在SQL SERVER中,从游标中读取记录使用 FETCH 语句
31. 在客户/服务器结构的数据库中,在数据库中还可以存放程序,因为这种程序以数据库对象的形式存储在数据库中,所以称为 存储过程 。存储过程可以避免在网络上传输大量无用的信息或原始数据 ,只需要传输调用存储过程的指令和数据库服务器返回的处理结果 ;把完成某一数据库处理的功能设计为存储过程,则可以在各个程序中反复调用 ,从而减轻程序的编写工作量;可以利用存储过程间接实现一些 安全控制功能 。在存储过程中不可以使用 创建数据库对象 的语句(数据定义语言,如CREATE TABLE等各种CREATE语句)
32. 触发器 是一类特殊的存储过程,它在满足某个特定条件时自动触发执行。分为DML(数据操作语言)触发器 、DDL(数据定义语言)触发器 和LOGIN触发器 。
DML触发器分为插入 触发器、删除 触发器和更新 触发器三类。触发器的三个要素:表、触发的事件、采取的动作 。当在某些表上发生数据操作时可以及时在线提示或发送电子邮件给用户,以引起用户的关注 ;触发器可以通过级联的方式对相关的表进行修改。例如,对父表的修改,可以引起对子孙表的一系列修改,从而保证数据的一致性和完整性(简单的可以通过参照完整性的级联功能完成);触发器可以禁止或撤消 违反数据完整性的修改(一般可以用参照完整性约束完成);触发器可以强制定义比CHECK约束更加复杂的约束,特别是 跨表 的约束则只能使用 触发器 来实现。
33. 安全性措施的层次: 物理层 、人员层 、操作系统层、网络层、数据库系统层。数据库管理系统的身份识别的3个层次: 系统登录 、数据库访问 、数据操作 。数据库用户的分类:系统管理员用户 、数据库管理员用户、数据库对象用户 、一般用户 。
34. 事务(Transaction)是数据库应用的基本性质之一,是管理数据库运作的一个逻辑单位。多个用户的应用要同时正确运行,需要用事务来控制(并发控制 );为了保证不丢失数据,也需要事务来控制(恢复控制)。
事务可以看作是作业或任务,它是完成用户一个特定工作的一组命令 ,是构成 单一逻辑工作 单元的 操作集合 。
35. 事务的性质:原子性(Atomicity)、一致性(Consistency)、隔离性 (Isolation)、持久性(Durability)。
36. 数据库的恢复管理是指由于软故障 (应用程序出错 、系统出错 等使事务中断 的故障)或硬故障 (磁盘损坏 使数据丢失的故障)使数据库中的数据产生不一致后可以恢复到一致性 的过程。
37. 软故障破坏了事务的原子性 和一致性 。解决方法:只需要通过事务控制将数据库恢复到事务修改之前的状态,即通过执行ROLLBACK TRANSACTION命令撤消 未执行完的事务。
38. 硬故障的恢复技术解决的是事务的持久性。 所谓持久性就是当完成对数据库的更新后(当然是事务提交后)使得更新能够永久有效,不会因为任何故障而丢失,即便是硬盘损坏也能够将数据库恢复到最新的、一致的 状态。
39. 简单恢复模式的数据库备份包括全备份 和差异备份 ,简单恢复模式不管理日志,因此不包含日志备份 。
完整恢复模式 通过使用日志备份 在最大范围内防止出现故障时丢失数据,这种模式需要备份和还原事务日志(日志备份)。完整恢复模式下的数据库备份包括 全备份 、差异备份 和日志备份 。需要强调的是当数据库遇到灾难后,不是马上进行恢复工作,而是首先 备份活动日志或称为尾日志。
40. 因为并发用户会产生干扰,使数据库发生错误。并发控制的目的就是避免干扰 ,保证数据库不出错。干扰现象包括:丢失更新、读“脏”数据、不可重复读、幻象读 。丢失更新:多个事务在同一时刻读了相同的数据,随后各自进行了更新,后发生的更新替代了先发生的更新――先发生的更新丢失了 读“脏”数据 :当一个事务读取了另一个事务正在更新、但没有提交的数据时可能产生所谓的读“脏”数据问题,也称作“脏读”(Dirty Read)或未提交读。不可重复读:当一个事务需要校验或再确认数据时,可能会出现再读数据已经不对了。 幻象读:和不可重复读相关,当用相同的条件查询记录时,记录个数忽多忽少,有一种“幻象”的感觉。原因是有事务在对相同的表做插入或删除 操作。
41. 事务的隔离性:按任何一个串行 顺序依次执行多个事务也是正确的。事务的交叉执行过程是正确的,当且仅当其与串行执行过程 等价 ,则称事务是可串行化 的。
42. 并发控制的基本思想是 封锁 。封锁的基本思想是:当需要查询或更新数据时,先对数据进行 封锁 (不允许其他事务使用),以避免来自其他事务的干扰。封锁――不允许其他事务使用,降低了事务执行的效率;为了既保证隔离又保证效率针对不同的干扰问题采取不同的 封锁机制 。封锁机制的目标:保证事务的隔离性,并且允许最大量的 并发 事务。分为3种: 共享 封锁、独占 封锁、 更新 封锁。
43. 避免死锁的主要方法有两种:一是相同顺序法,即在设计阶段规定所有的事务都按相同的顺序来封锁表;一是一次封锁法,即在设计阶段规定为了完成一个事务, 一次性封锁 所需要的全部表。
44. 诊断死锁的方法主要有两种:超时法 、等待图法 。解决死锁的办法就是破坏事务等待图中的 回路 。
45. 在SQL标准中是通过设置 隔离级别 来实现并发控制的。隔离级别由弱到强是:未提交读、提交读 、可重复读 、可串行化。
46. 关系模型设计“不好”导致的问题:数据 冗余 问题、数据更新 问题、数据 插入 问题、数据 删除 问题。
47. 如果X→Y,但Y不包含于X,则称X→Y是 非平凡 的函数依赖。
如果X→Y,则X称作 决定因素。如果K是关系模式R(U,F)的任一候选关键字,X是任一属性或属性集,如果XÎK,则X称为 主属性 ;否则称为 非主属性 。
48. 如果X→Y,并且Y→X,则可记作X←→Y,这时X和Y可以称做函数等价 。
49. 如果X→Y,并且对于X的一个任意真子集X/,Y都不函数依赖于X/,则称Y完全函数依赖于X;如果存在X/ →Y,则称Y部分函数依赖于X。
50. 如果 X→Y(非平凡函数依赖,并且X不函数依赖于Y)、 Y→Z,则称Z 传递函数依赖 于X。
51. 设有关系模式R(U,F),X包含于U、Y包含于U,如果从F中的函数依赖能够推导出X→Y,则称F逻辑蕴涵X→Y,或称X→Y是F的逻辑蕴涵。
52. 关系模式中,函数依赖的推理规则主要有:自反律、增广律、传递律。这三条规则还可以有3条推论:合并 规则、分解 规则、伪传递 规则。
53. 在关系模式R(U,F)中,被F所逻辑蕴涵的函数依赖的全体称作F的闭包等价,记为 F+ 设F和G是两个函数依赖集,如果F+包含于G+和G+包含于F+同时成立,即F+=G+,则称F和G 等价 。
54. 模式分解的准则:模式分解具有无损连接性 ,模式分解能够保持函数依赖。无损连接是指分解后的关系通过 自然连接 可以恢复成原来的关系;保持函数依赖分解是指在模式的分解过程中,函数依赖不能丢失的特性,即模式分解不能破坏原来的语义 。
55. 如果R(U,F) ∈1NF,并且R中的每个非主属性 都 完全 函数依赖于关键字,则R(U,F) ∈2NF 。
56. 如果R(U,F) ∈2NF,并且所有 非主属性 都不传递依赖 于关键字,则R(U,F) ∈3NF 。
57. 关系模式R(U,F) ∈1NF,X→Y是F上的任意函数依赖,并且Y不属于X, U 完全函数 依赖于X,则R(U,F) ∈ BCNF 。如果要求分解 保持函数依赖 ,那么模式分解总可以达到3NF ,但是不一定能达到BCNF ;如果要求分解具有 无损连接 的特性,那么一定可以达到BCNF ;
如果要求分解既保持函数依赖、又具有无损连接的特性,那么分解可以达到3NF ,但是不一定能达到 BCNF 。
58. 数据库设计有广义和狭义两个定义。广义的定义是指基于数据库的应用系统或管理信息系统的设计,它包括应用设计 和数据库结构设计 两部分内容。 狭义的定义则专指 信息需求 数据库模式或结构处理需求 的设计。
数据库设计的基本任务就是根据用户的信息需求,处理需求和数据库的支撑环境(包括DBMS、操作系统、硬件),设计一个结构合理、使用方便、效率较高的数据库。信息需求是指在数据库中应该存储和管理哪些数据对象;处理需求 是指需要进行哪些业务处理和操作,如对数据对象的查询、增加、删除、修改、统计等操作。
59. 数据库设计步骤:需求分析 阶段、 概念结构设计 阶段、 逻辑结构设计阶段、物理结构 设计阶段、数据库实施 阶段、数据库运行和维护阶段。
60. 概念模型设计的结果是得到数据库的概念结构,或称概念数据模型。(1)先设计面向全局应用的全局概念结构 的初步框架,即先建立起整个系统的总体框架;
(2)然后根据部门或功能划分成局部应用 ;
(3)依据划分后的局部应用完成局部E-R图的设计;
(4)最后将局部E-R图合并、转换成全局E-R图 ,完成概念模型的设计。
各局部E-R图之间的冲突主要有:属性冲突、命名 冲突、结构 冲突。
61. 在物理数据库设计阶段主要包括的内容有:估算数据库的数据存储量 、安排数据库的存储、设计备份策略 。
62. 数据库的实施包括:建立数据库及其对象、组织 数据入库 、编制与调试应用程序、数据库试运行。
63. 数据库的运行和维护工作主要是由 数据库管理员 或系统管理员负责,主要工作包括:备份 数据库;数据库的 安全性控制;完整性 控制;数据库性能 的监督、分析和改进;数据库的重组织 ;数据库的 重构造
64. 结构化生命周期法 划分为5个阶段:系统规划 、系统分析、系统设计 、系统实施 、系统的运行与维护 。
65. 系统规划阶段的主要任务是对组织的环境、目标、现行系统的状况进行初步调查,研究建立新系统的必要性和可行性 ,给出拟建系统的备选方案。对这些方案进行可行性分析 ,写出可行性分析报告。
66. 系统分析阶段根据系统设计任务书所确定的范围,对现行系统进行详细调查 ,分析用户的各种需求,确定新系统的目标和功能,收集用户的数据需求和处理需求。
67. 系统设计阶段根据系统分析 说明书中规定的功能要求,考虑实际条件,设计出一个易于实现、易于维护的系统。
68. 系统实施阶段的任务包括程序的编写和调试,人员培训,数据文件 的准备和转换,计算机等设备的购置、安装和调试,系统调试与转换等。
系统的运行与维护阶段是负责保证系统的正常运行,并在出现问题时予以解决。系统投入运行后,可能还会出现新的问题,甚至提出新的需求 ,所以需要经常进行系统评价和维护 ,记录系统运行状况,对系统进行必要的修改,评价系统的工作质量和取得的效益。
69. 数据库系统的维护不是一朝一夕的事,只要数据库系统存在,就要不断进行评价、调整、修改,直至数据库生命周期结束,或完全重新设计为止。
70. 快速原型法的基本思想是:在投入大量的人力、物力之前,在限定的时间内,用比较经济的方法构造一个能反映用户需求的原型系统 (基本反映了新系统的基本功能和基本特征,依此快速开发的一个演示系统),让用户在计算机上运行,试用这个原型系统,通过实践,了解未来系统的概貌。用户通过实际使用原型系统,提出修改意见,根据这些意见,快速修改原型系统。经过对原型系统的反复试用和改进,最终建立起完全符合用户需要的新系统。
71. 面向对象方法 是从客观世界中的对象出发来构造整个软件系统。它的实质是一种系统建模技术,是从系统的组成上对问题进行自然分解,以接近人类自然思维的方式来建立问题域模型。统一建模语言UML (Unified Modeling Language)是面向对象开发方法中的重要工具。
72. 客户/服务器 结构是在客户端和服务器端都需要部署程序的一种应用架构,这种结构允许应用程序分别放在客户工作站和服务器上执行,可以合理划分应用逻辑 ,充分发挥客户工作站和服务器两方面的性能。
C/S架构的特点是: 应用程序或应用逻辑 可以根据需要划分在服务器和客户机中。客户端的应用程序主要处理包括提供用户界面、采集数据、输出结果、及向后台服务器发出处理请求等。服务器端的程序则完成数据管理、数据处理、业务处理等。
C/S架构可以传统的两层结构,也可以是多层结构(三层或者三层以上)。在传统的两层结构中,一层为客户层 ,另一层为服务器层。 在三层客户/服务器结构中,将服务器端分为 应用服务器和数据库 服务器,应用服务器主要用来 部署和封装业务处理程序,而数据库服务器主要支持数据库的存储和数据处理。客户端通过应用服务器递交业务请求和数据请求,应用服务器完成对数据库的访问及其相关处理,并最终将处理结果 返回给客户端。
73. 浏览器/服务器模式基于三层结构。 在客户端的计算机上不需要安装专门的软件,只要有上网用的浏览器软件 (如Internet Explorer)即可。所有的业务处理程序都部署在服务器上 。
浏览器接受用户的请求,然后通过页面将请求提交给Web服务器 ;Web服务器将页面请求解析后向 应用服务器 提出处理请求,应用服务器访问 数据库服务器 并进行相关处理;最后再由Web服务器将处理结果格式化成页面形式(HTML)呈现在客户端。
B/S架构的优势:无须开发客户端软件 ,维护和升级方便;可跨平台 操作,任何一台计算机只要装有浏览器软件,均可作为客户机来访问系统;具有良好的开放性和可扩充性 ;具有良好的 可重用性 ,提高了系统的开发效率;另外通过Internet成熟的防火墙、代理服务、加密等技术,还大大提高了系统的安全性 。
74. ODBC(Open Database Connectivity, 开放数据库互联 )是Microsoft公司开发的一套开放的数据库系统 应用程序接口规范 ,它为应用程序提供了一组对数据库访问的标准API 和基于动态链接库 的运行支撑环境。
75. ADO.NET是微软为解决WEB和分布式 应用程序的问题而设计的一种新的数据库访问技术。它由.NET Framework中的一组数据类型组成,这些类型可分为以下三部分: 数据结构类、数据提供类、其他辅助 类。
76. JDBC是由SUN公司推出的第一个标准的、用于执行SQL语句 的Java API。JDBC是完全用JAVA语言编写的,是Java程序访问数据库的接口技术 ,编程人员能够用纯JAVA API来编写数据库应用程序,利用Java语言的跨平台特点,就可以做到只须写一遍数据库应用程序就能在任何平台、各种数据库系统上运行(数据库改变,驱动程序跟着改变,但应用程序不变),以减少不必要的重复代码。
77. 分布式 数据库是一个物理上 分布于计算机网络的不同地点、而; 逻辑上又属于同一系统的数据集合。网络上每个地点的数据库都有自治能力,能够完成局部应用;同时每个地点的数据库又属于整个系统,通过网络也可以完成全局应用。
对象关系数据库是对 关系数据库的扩充和发展,它仍然基于关系数据模型,仍然使用SQL 完成数据查询和操作(在SQL99中增加了对面向对象 概念的支持)。
78. 知识库是人工智能技术 与数据库技术相结合的产物,研究如何在数据库中加入推理规则 或知识,以使数据库具有推理能力或知识。
79. 数据仓库是支持管理决策过程的、面向主题的、集成 的、随时间而增长的持久的数据集合 。
80. XML是英文eXtended Markup Language的缩写,称之为扩展标记语言 。研究纯XML数据库,称作NDX (Native XML DBMS。依托于关系数据库来实现XML数据库的功能,称作XED (XML-Enabled DBMS)。类似SQL Server这样的数据库管理系统目前均支持XML数据类型 及其相关的操作。更重要的是在SQL的新标准中(SQL 2003)也增加了有关XML的描述,也就是说支持 XML功能 已经成为关系数据库的标准。
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!