数据库基础知识和试题.docx
- 文档编号:10451854
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:34
- 大小:41.81KB
数据库基础知识和试题.docx
《数据库基础知识和试题.docx》由会员分享,可在线阅读,更多相关《数据库基础知识和试题.docx(34页珍藏版)》请在冰豆网上搜索。
数据库基础知识和试题
引言
1.数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息。
数据是信息的符号表示,是载体;信息是数据的语义解释,是内涵。
2.数据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。
满足三条件:
比较真实地模拟现实世界;易于人们理解;易于计算机实现
三个组成要素:
数据结构(静态,数据对象本身结构及之间的联系)、数据操作(对数据对象操作及操作规则的集合)和完整性约束(语义约束:
数据模型、数据内部及之间联系)
3.模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称为逻辑模式或概念模式。
外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图。
内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。
当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。
当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。
4.数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。
数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库、数据库管理系统和数据库应用程序。
5.DBMS的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护。
DBMS包括查询处理器和存储管理器。
查询处理器实现面向用户的查询分析处理和优化功能。
存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口。
6.关系模型用二维表表示实体及实体之间的联系,现实世界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征。
优缺点:
建立在“集合”“关系”上,严格成熟的理念基础;用关系表示实体及之间联系,简单易懂;存储路径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型。
数据库应用系统生命周期
2.1软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。
一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段。
数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求:
数据及数据处理、业务、性能、其他存储安全备份与恢复等。
2.2数据库应用系统生命周期模型
1.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管理与维护五部分
2.快速原型模型和增量模型原理,允许渐进、迭代地开发DBAS。
3.根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序。
4.设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步涵盖三条设计主线。
需求分析及功能建模方法
3.1数据元素(列)是数据处理中的最小单位。
3.2DFD图:
数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数据源/终点(棱形)
3.3IDEF0图:
更好地理解需求;ICOM(输入、控制、输出、机制)码;至少一个控制和输出箭头。
A-0;A0(顶层图);A1;A11
3.4DFD与IDEF0的比较:
结构化分析思想:
自顶而下逐级细化
1.DFD图用箭头也叫数据流来描述数据移动的方向、数据处理之间的数据依赖关系,IDEF0图也用箭头表示数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富。
2.DFD模型有四种元素,IDEF0图只有两种:
箭头和活动
3.IDEF0图更加规范。
其概念、建模方法、画图规则等均有说明和规定
4.IDEF0模型结构更清楚,便于理解和沟通
3.5结构化分析及建模方法的优点:
1)不过早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。
2)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析员理解和描述系统。
3)模型对象不涉及太多技术术语,便于用户理解模型。
数据库概念设计与数据建模
4.1概念设计的目的和任务:
面向现实世界,理解和描述应用领域中的数据需求,分析确定系统需要存储和处理什么数据。
过程:
确定实体集;确定联系和联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型。
4.2实体集描述具有相同属性特征和性质的事物集合;属性描述实体集具有的某一特征或性质
4.3IDEF1X:
标定型(子依父实例才标定)(确定型);非标定型(确定型);分类;不确定
关系数据库逻辑设计
5.1关系数据库:
按照二维表格组织和存储的相互关联的关系(表)的集合。
关系数据库采用关系模型在计算机中组织、存储、处理和管理数据。
5.2主码约束:
惟一性;最小性,不能取空值,并且取值要唯一
外码约束:
如果两个关系R和S,X是R的属性或属性组,且X不是R的码,但X是S的码,则称X是R的外码。
或者取空值,或者等于S中某个元组的主码的值。
5.3逻辑设计的内容:
定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等
目的:
得到实际数据库管理系统可以处理的数据库模式。
步聚:
ER图转化关系模式;优化关系模式;数据完整性设计;外模式设计
5.4关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关系是一个表中记录的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映。
5.5关系的完整性(完整性约束):
对关系所满足条件的定义。
作用:
限定和检查数据库所含实例的合法性和正确性。
静态:
主码、外码、域(用户定义);动态:
基于业务规则
5.6伪传递规则:
X-Y,YW-Z,则XW-Z成立。
5.7规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南,也是衡量关系模式设计优劣的标准。
目的:
消除数据冗余及避免操作异常,基本过程:
对关系进行分解。
一个低级范式的关系模式通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化。
5.81NF:
R的每一属性均不可再分;
2NF:
是1NF且每个非主属性完全依赖于主码。
在1上消除非主属性对主码的部分函数依赖;
3NF:
是1NF且每个非主属性只依赖于主码。
在2上消除非主属对主码的传递函数依赖。
5.9ER模型转换关系模型:
实体集转为同名关系;联系转为一个关系,各实体集的码及联系的属性转为关系的属性(1:
1均可、1:
n取n、m:
n取集);合并具有相同码的关系。
存储技术与数据库物理设计
6.1物理设计是在具体的硬件环境、OS、DBMS约束下,基于逻辑设计,设计具体数据存储结构和存取方式。
目的:
占用空间少、访问效率高、维护代价低。
主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。
6.2索引技术(Indexing)是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。
索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法。
索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间。
6.3文件组织:
如何将关系数据库中的关系映射为操作系统中的数据库文件,及管理文件。
文件结构:
如何将DB文件中的逻辑记录映射到物理文件的中磁盘块。
文件存取:
针对某种结构的DB文件,如何查、添删改其中的逻辑记录
6.4数据字典:
数据库各类对象的描述信息、数据库管理系统的控制信息。
包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。
作用:
DBA用来监视DBMS的使用情况并协助完成管理工作;一般用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储和查询处理功能。
6.5DBMS的三种完整性控制机制:
CHECK子句、断言、触发器
断言语句:
Createassertion断言约束名check(…)
6.6堆文件:
数据量少且操作频繁;批量加载数据(先选为堆文件再调整文件结构)
顺序文件:
查询条件定义在查找码上;快速的二分查找
散列文件:
基于散列域值的等值匹配,特别是访问顺序是随机的。
非精确查询;非散列域
B-树和B+-树:
大数据量基本表;聚焦文件:
多表连接操作
6.7有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。
索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。
当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址。
根据这个地址访问数据记录。
6.8散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。
当需要访问数据文件中查找码值为si的某个或某些文件记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文件记录在数据文件中的物理地址。
6.9权限:
允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)。
数据库应用系统功能设计
7.1软件体系结构:
软件架构={构件,连接件,约束}
7.2软件设计包括系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、详细设计
7.3应用软件分为数据库事务和应用程序。
后者一方面可以与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互。
7.4事务:
具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则。
7.5事务概要设计的核心是辨识和设计事务自身的事务处理逻辑,采用面向数据流的程序设计方法设计事务内部的数据处理流程和结构。
7.6C/S结构特点:
数据管理和数据处理被分在客户端和服务器上;服务器可支持多个客户端;客户端也可访问多个服务器;客户端=人机交互+数据处理
B/S结构特点:
表示层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务
优点:
实现人面交互、应用业务逻辑处理、数据管理三层分离,提高了系统的可维护性;用WEB浏览器可访问多个异构应用平台,解决了跨平台数据管理问题。
sql
8.1sql=structuredquerylanguage,结构化查询语言
8.2二进制字符串是用十六进制表示的,0x前缀
8.3创建表:
createtabletable_card
事务高度与并发控制
9.1调度:
定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序;冲突操作:
事务Ti的操作Ii与事务Tj的操作Ij是冲突的,当且仅当Ii和Ij访问数据库中同一个数据项Q,并且Ii和Ij中至少有一个是写操作write(Q);冲突可串行:
一个并发调度冲突等价于某个串行调度(判断一个并行调度是否正确)
死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态。
9.2ACID:
Atomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性
9.31级加锁协议要求事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放该锁。
事务结束包括正常结束(commit)和非正常结束(rollback)。
但事务如果是只读Q而不对其进行修改,是不需要对Q加锁的。
2级加锁协议是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。
3级加锁协议则是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,但是需要等到事务结束时才释放该S锁。
9.42阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。
在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。
在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。
每个事务开始执行后就进入了加锁阶段。
当第一次释放锁后,即转入解锁阶段。
9.5解决死锁主要采用死锁预防和死锁检测与恢复两类方法。
死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态。
一次性加锁法;顺序加锁法
死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。
当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态。
9.6活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。
9.7锁粒度大:
被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之
9.8基于锁的并发控制技术的原理
数据库的实施、运行和维护
10.1试运行:
功能测试;性能测试
10.2数据库维护:
数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的检测和改善;数据库的重组和重构
10.3数据库安全:
行政手段制定规范;权限管理、口令等;维护多个数据副本;防及除毒
10.4数据库重组:
按照系统设计要求对数据库存储空间进行全面调整;数据库重构:
业务小范围变化需对数据库逻辑结构作必要改变。
10.5数据库监控分析:
DBA借助相应工具监测数据库系统的运行情况,对监测数据进行分析,评估整个系统的运行状态,为系统的安全运行和性能优化提供依据。
10.6数据库空间管理:
数据量增加和碎片使性能降低;空间溢出会带来灾难性停机故障。
包括:
创建修改删除数据库空间、新建移动关联数据文件等。
10.7数据库参数调整:
外部调整:
CPU、网络;调整内存分配(改善程度大);调整磁盘I/O(I/O时间是响应时间的最大组成部分);调整竞争
10.8数据库查询优化:
合理使用索引;避免或简化排序(Orderby、Groupby,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程
10.9属于Oracle但不属于SQLServer的逻辑和物理空间结构:
表空间、段、区
故障管理
11.1故障种类:
事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质故障(软件容错、硬件容错)、病毒
11.2系统故障对策:
重启,撤消(UNDO)未提交的事务,重做(REDO)已提交的事务
11.3软件容错:
备份、日志文件,利用恢复技术;硬件容错:
双物理存储设备
11.4恢复基本原理:
冗余,即所有数据均可通过存储在别处的冗余数据来重建。
11.5对于经常进行数据操作的数据库:
完全转储+差异转储
11.6以记录为单位的日志文件:
开始标记(TiBEGINTRANSACTION)、结束标记(TiCOMMIT或者TiROLLBACK)、每个事务的所有操作(Ti,A,50,80)
11.7以数据块为单位的日志文件:
存放更新前和更新后的整个数据块。
只有事务标识和被更新的数据块,没有操作类型和操作对象。
11.8日志的作用:
用来进行业务故障和系统故障恢复;协助后备副本进行介质故障恢复(动态转储必用);记录操作监视行为分析问题
登记原则:
登记次序严格按并行事务执行次序;必须先写日志文件再写数据库
11.9检查点:
最大限度减少数据库完全恢复时所必须执行的日志部分(针对系统故障)。
11.10数据库镜像:
提高数据库可用性的解决方案(比如介质故障,两台服务器相互备份)
优点:
提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性。
双机互备援模式(均为主);双机热备份模式(一主一备份机)。
数据库镜像可用于并发操作。
11.11RAID廉价冗余磁盘阵列:
(镜像冗余、)校验冗余:
对成员磁盘上的数据执行异或(XOR)操作得到其校验值并存放在另外的校验磁盘上。
当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值。
sqlserver2000数据库管理系统
12.1四个服务:
sqlserver核心服务;
sqlserveragent:
代理服务,代理定期进行的管理工作;
dtc:
distributedtransactioncoordinator,分布式事务协调器,同一事务访问多个服务器
2.5.1主要知识点
掌握数据库模型、数据库系统结构和关系数据库结构的基础知识,熟练掌握SQL语言的使用关系代数的运算。
2.5.1.1关系数据库的数据体系结构
关系模型遵循数据库的3级体系结构:
(1)关系模式。
数据库的概念模式定义为关系模式的集合。
每个关系模式就是记录类型。
关系模式的定义包括模式名、属性名、值域名和模式的关键。
关系模式仅仅是对数据本身特性的描述。
(2)关系子模式是用户所用到的那部分数据的描述。
除了指出用户用到的数据外,还应指出数据与模式中相应数据的联系,即指出子模式与模式之间的对应性。
(3)关系存储是作为文件看待的,每个元组就是一个记录。
由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现。
2.5.1.2关系模型和关系运算
用二维表格结构表示实体集,关键码表示实体间联系的数据模型称为关系模型。
在关系中,能唯一标识元组的属性集称为关系候选键,被选用的候选键称为关系的主键。
关系中每一个属性对应一个取值范围,称为属性的值域。
关系可以定义为元数(属性个数)相同的元组的组合。
关系是一个集合,集合中的成分是元组,这些元组的属性个数应相同。
关系数据库的数据更新操作必须遵循实体完整性规则、引用完整性规则和用户定义的完整性规则。
关系查询语言根据其理论基础的不同分成两大类:
一类是关系代数语言,其特征是查询操作是以集合操作为基础的运算;另一类是关系演算语言,其特征是查询操作是以谓词演算为基础的运算。
关系代数是以集合代数为基础发展起来的、以关系为运算对象的一组高级运算的集合。
把关系看成集合,集合代数中的运算可以引入到关系运算中来,还有一些运算是针对关系数据库环境专门设计的。
关系代数的5种基本操作:
并、差、笛卡儿积、投影和选择。
关系代数的4种组合操作:
交、联接、自然联接和除法。
扩充的关系代数操作:
外联接(左外联接和右外联接)、外部并(Outunion)和半联接。
2.5.1.3关系数据库SQL语言
结构化查询语言SQL是集DDL、DML和数据控制功能于一体的数据库语言。
SQL的DML是介于关系代数和关系演算之间的一种语言。
SQL语言的组成:
·一个SQL数据库是表的汇集,它用一个或多个SQL模式定义。
·一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。
·一个表或者是一个基本表,或者是一个视图。
基本表是实际存储在数据库中的表,而视图是由若干基本表或其他视图构成的表的定义。
·一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
·用户可以用SQL语句对视图和基本表进行查询等操作。
·SQL用户可以是应用程序,也可以是终端用户。
SQL语句可嵌入在宿主语言的程序中使用,宿主语言可以是常用的高级语言。
SQL用户也能作为独立的用户接口,使交互环境下的终端用户使用。
SQL包括了所有对数据库的操作,主要有数据定义(SQLDDL)、数据操纵(SQLDML)、访问控制和嵌入式SQL。
2.5.1.4关系数据库规范化理论
关系数据库规范化理论主要包括3方面的内容:
(1)函数依赖。
指数据之间存在的各种联系和约束,例如建就是一种依赖。
函数依赖是最基本的一种依赖。
(2)范式。
模式分解的标准形式。
关系模式分解的两个特性实际上涉及到两个数据库模式的等价性问题,包括数据等价和依赖等价两个方面。
数据等价是指两个数据库实例应表示同样的信息内容,用"无损联接"衡量。
依赖等价是指两个数据库模式应有相互逻辑关系的函数依赖集,此时数据的语义是不会出差错的。
(3)模式设计方法。
设计规范的数据库模式的方法。
衡量关系模式的优劣的标准就是模式的范式(NF)。
范式有许多种,与数据依赖有着直接的联系。
①第一范式(INF)
如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(INF)的模式
,r是规范化的关系。
LNF的模式的关系数据库最基本的要求。
②第二范式(2NF)
我们把关系模式R的属性分为两类:
一类是键的属性,称为主属性;另一类是不属于任何键的属性,称为非主属性。
若关系模式R是INF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。
③第三范式(3NF)
若关系模式R是INF,且每个非主属性都不传递依赖于R的候选集,那么称R是3NF模式。
在3NF模式中排除了非主属性的对键的传递依赖。
3NF的模式必定是2NF的模式。
局部依赖和传递依赖是产生冗余和异常的两个重要原因。
由于3NF模式中不存在非主属性对候选键的局部依赖和传递依赖,因此具有较好的性能。
而对于非3NF的INF和2NF,甚至非INF的关系模式,于它们性能上的弱点,一般不宜作为数据库模式,通常需要将它们变换成3NF或更高级的范式
,这种变换过程,称为"关系的规范化处理"。
④BC范式(简称BCNF)
若关系模式R是INF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。
此时排除了任何属性对键的传递依赖。
上述4种范式之间关系:
BCNF3NF2NF1NF。
2.5.2试题解析
高级程序员级考试中,数据库基础试题所占的比重一般,基本上每年一道题。
从历年试题统计(见表2-8)来看,主要考查与关系数据库有关的知识、关系模式、关系模式的范式、关系代数运算等是反复考查的内容,总的来说,难度一般都不大。
试题1(2000年试题7)
从供选择的答案中,选出应填入下面叙述中{}内的最确切的解答,把相应编号写在答卷的对应栏内。
域表达式{ab|R(ab)∧R(ba)}转换为等价的关系代数表达式,所列出的式子中A是正确的.SQL中集合成员资格的比较操作"元组NOTIN(集合)"中的"NOTIN"与B操作符等价。
SQL中涉及属性AGE是否是空值的比较操作,写法C是错误的。
类似于工资在800至5000之间"这种约束,是属于DBS的D功能。
设关系模式Q是3NF模式,那么,E这种提法是不正确的。
供选择的答案
A:
①Л1,2(б1=4∧2=3(R×R))②Л1,2(б1=4())
③Л1,2(б1=4())④R∩Л1,2(R)
B:
①<>SOME②=SOME③<>ALL④=ALL
C:
①AGEISNULL②NOT(AGEISNULL)
③AGE=NULL④AGEISNOTNULL
D:
①完整性②并发控制③安全性④恢复
E:
①Q一定是2NF模式②Q可能不是4NF模式
③Q可能不是BCNF④Q一定不是BCNF
【解析】
问题A涉及域表达式与关系代数表达式的转换。
域表达式{ab|R(ab)∧R(ab)}表示取出二元关系R中有对称关系的二元组的集合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础知识 试题