数据库概论
一、考试题型
- 选择题(2*12=24):
绪论(1-2)、关系模式(关系代数1、其他1)、SQL(1-2)、安全性(1)、完整性(1)、关系数据理论(1-2)、数据库设计(1-2)、并发控制(1-2)、数据恢复(1) - 简答题(16):
数据库术语翻译 * 5、简答 * 2 - SQL语句(10 * 3=30): SQL(完整性约束(1题)、SELECT(6题,覆盖模糊查询、统计函数、排序、子查询、连接)、更新(2题)、视图或索引(1题))
- 关系理论(16):
闭包判断候选码 、范式 - 数据库设计(14):
ER图、关系模式、识别主码/外码
二、简答题(汇总)
- 简述数据库系统的构成
数据库系统是指引入数据库后的计算机系统,一般是指由数据库DB、数据库管理系统DBMS、应用系统和数据库管理员DBA组成的存储、管理、处理和维护数据的系统。
- 简述数据库管理员(DBA)的主要职责
数据库管理员负责数据库管理系统的运行
- 试述数据库管理系统的主要功能? 列举你所知道的DBMS
数据库管理系统是位于用于与操作系统之间的数据管理软件
主要功能包含了:数据定义;数据组织、存储和管理功能;数据操纵功能;数据库的事务管理和运行管理;数据库的建立和维护
常见的DBMS有: MySQL、 SQL Server、 Oracle、 DB2、 Access等。
- 简述数据库系统的特点, 分别例举适合数据库系统和文件系统的例子
数据库系统的特点:
整体数据的结构化
数据的共享性强、冗余度低且易于扩充
数据的独立性强
数据由数据库管理系统统一管理和控制
适用于文件系统的应用例子:
数据的备份; 软件或应用程序使用过程中的临时数据存储; 早期功能比较简单、比较固定的应用系统
适用于数据库系统的应用例子:
目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。 如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。
- 如何理解SQL语句的“非过程化”?
用SQL进行数据操纵时只要提出“做什么”,无须指明“怎么做”,因此不需要了解存取路径,存取路径的选择以及SQL的操作过程由系统自动完成。
- 什么是视图? 和基本表的区别是什么?
视图是从一个或几个基本表导出的表, 它与基本表不同, 是一个虚表, 数据库中只存放视图的定义, 而不存放视图对应的数据, 这些数据存放在原来的基本表中, 当基本表中的数据发生变化, 从视图中查询出的数据也就随之改变。
视图一经定义就可以像基本表一样被查询、 删除, 也可以在一个视图之上再定义新的视图, 但是对视图的更新操作有限制。
- 什么是数据库的完整性? 数据有哪三类完整性约束。
数据库的完整性是指数据库数据的正确性和相容性。
数据的正确性是指数据库数据符合现实语义且反应当前的实际状况。
数据库的相容性是指数据库同一对象在不同关系表中的数据是相同的,一致的
- 试述实体完整性约束的含义, 并举例说明。
关系中的每个实体必须具有一个唯一标识符,称为主键。主键不能为NULL或重复。这样可以确保每个实体都能够被唯一地标识并且在关系中存在。举例略
- 试述参照完整性约束的含义, 并举例说明。
关系之间可能会存在依赖关系,如果一个关系中的属性引用了另一个关系中的属性,那么在引用属性之前必须先保证被引用的属性存在。这就是参照完整性。举例略
- 试述用户自定义完整性约束的含义, 并举例说明。
这种完整性是由用户定义的,在关系模型中没有特定的规则。它允许用户定义任何其他的完整性限制,以确保数据的正确性和完整性。例如,某些业务规则可能要求特定属性的值必须大于零或小于某个特定值。举例略
- 简述数据库设计的六个阶段以及各个阶段的主要成果。
1.需求分析:准确了解与分析用户需求(包括数据与处理)。
2.概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3.逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4.数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5.数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
- 举例说明数据的独立性。
数据的独立性强是数据库数据的一个显著优点。数据独立性已成为数据库领域的一个常用术语和重要概念,其目标是应用程序与数据(定义)相分离。数据的独立性包括数据的物理独立性和数据的逻辑独立性。
数据的物理独立性,是指用户的应用程序与数据库中数据的物理存储是相互独立的。也就是说,数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,这样当数据的物理存储改变时应用程序不用改变。 数据的逻辑独立性,是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说数据的逻辑结构改变时用户程序也可以不变。
- 什么是数据库安全性? 数据库的安全性措施有哪些?
数据库的安全性是指保护数据库,以及不合法使用所造成的数据泄露、篡改或破坏。
- 登记日志文件时为什么先写日志文件, 后写数据库?
写数据库和写日志文件是两个不同的操作, 在这两个操作之间可能发生故障。
如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了
如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。
- 请列举数据库故障的种类及恢复的策略和方法。
事务内部的故障(银行转账:A-20元,B+20元)
强行回滚事务
撤销该事务已经作出的任何对数据库的修改
系统故障(断电、操作系统故障)
所有非正常终止的事务回滚,强行撤销(UNDO)所有未完成事务
重做(REDO)所有已提交的事务,以将数据库真正恢复到一致状态
介质故障(磁盘损坏)
需要借助存储在其他地方的数据备份来恢复数据库
- 什么是事务? 简述事务的四个特性。
事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。ACID特性
原子性(atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做
一致性(consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
隔离性(isolation):一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性(durability ):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的接下来的其他操作或故障不应该对其执行结果有任何影响。
三、英译中
数据库基础概念(Translation 1)
-
Database (DB):数据库
-
Database System (DBS):数据库系统
-
Database Management System (DBMS):数据库管理系统
-
Database Backup:数据库备份
-
Database Integrity:数据库一致性
-
Database Security:数据库安全性
-
Database Administrator (DBA):数据库管理员
-
Database Tuning:数据库调优
-
Database Schema:数据库模式
-
External Schema:外模式
-
Internal Schema:内模式
关系模型与事务控制(Translation 2)
1. 规范化与冗余
- Redundancy:冗余
- Normal Form:范式
2. 键(Key)
- Super Key:超码
- All-Key:全码
- Candidate Key:候选码
- Primary Key:主码
- Foreign Key:外码
- Prime Attribute:主属性
3. 数据与并发控制
- Data Mining:数据挖掘
- Locking:封锁
- Deadlock:死锁
4. 关系数据库基本对象
- Tuple:元组
- Entity:实体
- Attribute:属性
- Relationship:联系
- Index:索引
- View:视图
5. 事务与恢复
- Log File:日志文件
- Rollback:(事务)回滚
- Commit:(事务)提交
- Transaction:事务
6. 数据库程序对象与安全
- Trigger:触发器
- Stored Procedure:存储过程
- Grant:授权
- Revoke:权限回收
- Audit:审计
- Recovery:(数据库)恢复
数据库设计与SQL(Translation 3)
1. E-R 模型与完整性
- E-R Diagram:实体-联系图
- E-R Model:实体-联系模型
- Constraint Type:约束类型
- Entity Integrity:实体完整性约束
- User-defined Integrity:用户自定义完整性约束
- Referential Integrity:参照完整性约束
2. 数据库设计阶段
- Logical Database Design:逻辑数据库设计
- Conceptual Database Design:概念数据库设计
3. 系统分析工具
- Data Flow Diagram (DFD):数据流图
- Data Dictionary (DD):数据字典
4. SQL 与语言分类
- SQL (Structured Query Language):结构化查询语言
- Data Definition Language (DDL):数据定义语言
- Data Manipulation Language (DML):数据操纵语言
- Data Control Language (DCL):数据控制语言