数据库复习题整理人:KingNa一. 基本概念1、解释数据、数据库、数据库管理系统、数据库系统的概念。
答:数据(Data)是载荷信息的媒体,它包括结构化数据和非结构化数据。
数据库是长期存放在计算机内、有组织、可共享的大量数据的集合。
数据库管理员(DataBase Administrator, DBA)的主要职责是负责数据库的规划、设计、维护和监控。
数据库系统(DataBase System,DBS)是指一个计算机存储记录信息的系统。
从管理层观点来看,数据库系统有4个主要部件构成:硬件、软件、人员和数据。
数据库管理系统(DataBase Management System,DBMS)是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供了访问数据的方法,包括数据库的建立、对数据的操纵、检索和数据控制。
2、文件系统与数据库系统的区别。
答:文件系统的主要特点:1)文件系统利用“按文件名访问,按记录进行存取”的管理技术对数据进行管理。
2)数据可以长期保存在存储设备上供用户使用。
与文件系统相比,数据库系统的特点:◆程序—数据独立性◆提高了数据的共享性◆降低了数据的冗余度,提高了数据的一致性◆采用一定的数据模型实现数据结构化◆数据由DBMS统一管理和控制3、使用数据库系统的有何优点?答:◆程序—数据独立性◆提高了数据的共享性◆降低了数据的冗余度,提高了数据的一致性◆采用一定的数据模型实现数据结构化◆数据由DBMS统一管理和控制4、DBA 的职责是什么?答:数据库管理员(DataBase Administrator, DBA)的主要职责是负责数据库的规划、设计、维护和监控。
DBA需要对各个应用的数据需求做全面的规划、设计和集成,负责对数据库中数据的安全性、完整性以及系统恢复进行实施与维护,并且不断地调整数据库内部结构,保持系统的最佳状态与最高效率。
5、概念模型、数据模型的作用是什么?答:数据模型(Data Model)是对现实世界中数据特征的抽象,它是复杂的现实数据结构的相对简单的表示法,通常用图形方式给出。
模型的主要作用是帮助我们理解现实环境的复杂性。
概念模型:是对信息世界建模,能够方便、准确地表现出上述信息世界中的常用概念。
6、描述概念模型的方法有那些?答:实体-联系方法(常用的),即E-R图7、数据模型的组成要素。
答:数据模型由数据结构、数据操作和数据的约束条件三部分组成。
8、系统分析员、数据库设计人员、应用程序员的职责是什么?答:9、数据挖掘和数据仓库的概念。
答:数据挖掘:是从大量数据中发现并提取隐藏在内的、人们事先不知道的但又可能有用的信息和知识的一种新技术。
数据仓库:一种面向分析的环境;一种把相关的各种数据转换成有商业价值的信息的技术10、数据库系统的事务故障恢复策略。
答:事务故障的恢复;系统故障的恢复;介质故障的恢复补充:数据转储是数据库恢复中采用的基本技术。
日志文件是用来记录事务对数据库的更新操作的文件。
二. 叙述题1、 SQL语言的作用,特点。
答:作用:结构化查询语言,是关系数据库的标准语言,是一种通用的、功能极强的关系数据库语言。
特点:集DDL、DML、DCL于一体;高度非过程化;面向集合的操作方式;一种语法提供两种操作方式;功能强大、语言简洁2、SQL语言的数据定义、数据操纵、数据控制语句有哪些?答:数据定义:①建立CREATE SCHEMA [数据库名] AUTHORIZATION <用户名>;②删除DROP SCHEMA <数据库名> <CASCADE|RESTRICT>;CASCADE表示在删除数据库结构的同时删除数据库中所有的对象(表、视图等);RESTRICT表示只有当数据库中没有任何下属的对象时才能执行DROP SCHEMA语句。
③建立表CREATE TABLE 表名(属性1 数据类型[缺省值,列约束],属性2 数据类型 [缺省值,列约束],…属性n 数据类型[缺省值,列约束][,表级完整性约束条件]);④删除表DROP TABLE 表名 [RESTRICT | CASCADE];⑤修改表a.修改属性的数据类型ALTER TABLE <表名>MODIFY (属性名数据类型名);举例:修改teacher表(教师信息表)的属性列tage(年龄)的数据类型,由原来的integer修改为smallint类型。
ALTER TABLE teacher MODIFY tage SMALLINT;b.增加属性列ALTER TABLE <表名>ADD <新属性名> <数据类型> [完整性约束条件];举例:在paper表(论文信息表)中增加“作者姓名”属性列,数据类型设置为字符型。
ALTER TABLE paper ADD author char(10);c.删除属性列ALTER TABLE <表名> DROP COLUMN <属性名>;举例:删除paper表(论文信息表)中的author属性。
ALTER TABLE paper DROP COLUMN author;d.增加和删除完整性约束条件(PRIMARY KEY FOREIGN KEY UNIQUE)ALTER TABLE <表名> ADD <完整性约束名> ;举例:假设在创建paper表时没有定义主键,现要求将pno(论文编号)设置为主键。
ALTER TABLE paper ADD PRIMARY KEY(pno);⑥建立索引CREATE [UNIQUE/CLUSTER] INDEX <索引名>ON <表名> (<属性名1> [ASC/DESC][,<属性名1> [ASC/DESC]]…);举例:在教师信息表(teacher)上按姓名(tname)降序建立唯一索引。
C REATE UNIQUE INDEX teano ON teacher(tname DESC);⑦删除索引DROP INDEX <索引名>;数据操纵①输入新数据INSERT INTO <表名>[(属性列表)]VALUES(<常量表>);举例:向教师信息表中插入教师“李丽”的信息。
②输入查询结果INSERT INTO <表名>[(<属性列表>)]SELECT查询;③数据更新(UPDATE)UPDATE <表名>SET <属性列>=<表达式>[,<属性列>=<表达式>]…[WHERE <条件表达式>];④数据删除(DELETE)DELETE FROM <表名> [WHERE <条件>];⑤查询数据查询种类比较多,这里只列出简单查询SELECT [DISTINCT|ALL] <*|属性列表>FROM <表名>[WHERE <条件表达式>][GROUP BY <属性列> [HAVING <条件表达式>]][ORDER BY <属性列> [ASC|DESC]];数据控制①授权GRANT <权限列表> ON <表名或视图名>TO <用户列表|角色列表 | PUBLIC >[WITH GRANT OPTION];②创建角色CREATE ROLE <角色名>;举例:创建角色role1和role2。
CREATE ROLE role1;CREATE ROLE role2;③角色权限的修改GRANT DELETE ON teacherTO role1;④授权权限的撤销REVOKE <权限列表|角色> ON <表名或视图名>FROM <用户名列表|角色|PUBLIC>;3、简述视图的概念,并说明在数据库设计时为什么要引入视图。
答:定义:视图是一个或多个基本表中导出的逻辑(虚拟)表。
作用:视图提供了逻辑数据独立性;简化了用户观点;数据的安全保护功能;4、数据库规范化的目的是什么?答:规范化的目的就是构造合适的关系模式。
5、何谓2NF,3NF?答:2NF定义:满足第一范式的关系模式R ,如果它的所有非主属性都完全函数依赖于主码,则称R是第二范式,记为2NF。
即不允许有非主属性对码的部分函数依赖。
示例2:有关系模式:职工(职工号,姓名,职称,项目号,项目名称,项目角色)中,(职工号,项目号)是该关系的码。
3NF定义:如果关系模式R∈2NF,且它的任何一个非主属性都不传递依赖于主码,则称R 满足第三范式,记作R∈3NF。
即属性间不存在传递依赖。
例:S(学号,姓名,性别,学院,院长)。
唯一标识符(Key):学号依赖关系:学号→姓名,学号→性别,学号→学院,学院→院长6、数据库设计的特点、数据库设计过程中各阶段的任务、作用,以及相应要完成那些文档。
答:特点:数据库结构设计和对数据的处理设计密切结合任务:7、需求分析阶段设计的目标(任务)是什么?答:调查分析用户的活动;收集和分析需求数据,确定系统边界;编写需求分析说明书 (系统分析报告)8、规范化理论对数据库设计有什么指导意义?9、概念结构设计、逻辑结构设计的任务是什么?答:概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念(语义)数据模型(简称概念模型)。
数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程。
关系数据库逻辑设计的结果是一组关系模式的定义。
10、数据库设计应用(作业)11、事务的基本特性。
答:特性:原子性、一致性、隔离性、持久性12、数据库恢复的任务是什么?答:恢复是把数据库从错误状态恢复到某一正确状态的功能,从而确保数据库的一致性。
恢复的基本原理是冗余,即数据库中任一部分的数据可以根据存储在系统别处的冗余数据来重建。
13、数据库系统可能发生的故障有那些?答:事务内部的故障;系统故障;介质故障;计算机病毒14、数据库恢复的基本原理及方法。
答:方法:数据转储和登记日志文件15、数据库系统的日志文件所起的作用是什么?登记日志文件时为什么必须先写日志文件,后写数据库?答:作用:1)事务故障恢复和系统故障恢复必须用日志文件;2)在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库;3)在静态转储方式中,也可以建立日志文件。
原因:如果先写了数据修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。
如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。