数据库工程师考点全包含.docx
- 文档编号:5311861
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:15
- 大小:25.83KB
数据库工程师考点全包含.docx
《数据库工程师考点全包含.docx》由会员分享,可在线阅读,更多相关《数据库工程师考点全包含.docx(15页珍藏版)》请在冰豆网上搜索。
数据库工程师考点全包含
数据库工程师概念要点冯宗宝2012-9-5始
数据库(DB):
长期存储在计算机中有组织的、大量的、共享的数据集合。
数据库管理系统(DBMS)是计算机系统中位于用户与操作系统之间的数据管理系统软件,是数据库系统的核心。
数据库系统的定义与层次结构
数据库系统(DBS)是指在计算机系统中引入数据库后的软硬件系统构成。
数据库系统的层次结构包括硬件、软件、用户。
数据模型
DATAMODEL是数据库系统的形式框架,是用来描述数据的一组概念和定义。
数据模型应满足三方面要求:
●能够比较真实地模拟现实世界;
●容易为人们所理解;
●便于在计算机上实现。
目前,还没有一种数据模型能够很好地同时满足这三方面的要求。
数据模型三要素
⏹数据结构:
精确地描述了系统的静态特征
⏹数据操作:
动态特征各种数据对象允许执行的操作和操作规则
⏹完整性约束:
一组完整性规则的集合,它定义了数据模型必须遵守的语义约束。
数据模型的分类
概念模型:
数据结构模型包含关系模式、网状模式、层次模式
物理数据模型
概念数据模型;也可简称为概念模型,是按用户的观点对数据和信息进行建模。
是现实世界到信息世界的第一层抽象,强调起语义表达功能,易于用户理解。
数据结构模型也称为表示型或者实现型的数据结构模型是机器世界中与DBMS相关的数据模型。
数据结构模型提供的概念能够被最终用户所理解,同时也不会与数据在计算机中实际的组织形式相差太远。
物理数据模式属于底层数据模式,通过诸如记录格式、记录顺序和存取路径等表示信息,描述数据在数据库系统中的实际存储方式。
数据视图和模式结构
数据库系统的两种机构形式
数据库系统是一类复杂数据管理系统,数据库系统结构按考虑的层次和角度不同,分为如下两种形式:
1、从数据库管理系统角度看,数据库系统采用三级模式结构,包括外模式、模式、内模式。
2、从数据库最终用户角度看,数据库系统的结构分分为集中式结构、分布式结构、客户/服务器结构和并行结构。
数据视图与数据抽象
数据视图(DataView)是指从某一个角度看到的客观世界数据对象的特征。
数据抽象(DataAbstrct)是一种数据描述和数据库设计原则,是指专注于数据对象的某个方面特征。
三级模式结构
数据库的模式结构分为外部级、概念级和内部级3个层次在这三个层次的基础上分别定义了外模式、模式、内模式
外模式:
也称子模式、用户模式活用户视图,是数据库用户能够看见和使用的局部数据的逻辑机构和特征的描述。
模式(Schema):
也称为逻辑模式或概念模式,是对数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图,一个数据库只有一个模式。
‘
内模式:
也称为物理模式或者存储模式是对数据库中数据物理结构和存储方式的描述,代表了数据在数据库内部的表示方式和物理组织结构。
例1下列模式中能够给出数据库物理存储结构与物理存取方法的是。
A内模式B外模式C概念模式D逻辑模式
二级映像与数据独立性
两层映像机制
数据库系统中的DBMS为三级模式结构提供了两层映像(mapping)机制,外模式/模式机制映像、模式/内模式映像机制。
这两层映像机制保证了数据库中数据逻辑独立性和物理独立性。
1、外模式/模式映像机制保证了数据的逻辑独立性
外模式/模式映像机制定义了数据库中不同用户的外模式与数据库逻辑模式之间的对应关系。
2、模式/内模式映像机制保证了数据的物理独立性
数据独立性的作用
数据库中数据的逻辑独立性和物理独立性使得数据定义和描述与应用程序相分离,而且由于DBMS负责数据的存取和管理,用户不必要考虑存取路径等细节,从而简化了数据库应用程序开发,保证了应用程序的相对稳定性,降低了应用程序的维护代价。
数据库系统体系结构
数据库系统体系结构类型
集中式结构、分布式结构、客户服务器结构、并行结构、WEB结构
1、集中式DBS全部数据和管理功能集中在一台计算机上的数据库系统
2、分布式DBS分布式计算机系统与数据库技术结合的产物满足地理上不同用户的需求
3、客户服务器DBS将DBMS与数据库应用分开较为开放式的一种网络数据库系统
4、并行DBS处理大型复杂数据管理应用领域中海量数据
5、WebDBS与网络技术结合的产物由客户端、WEB服务器、数据库服务器组成.
数据库管理系统(DBMS)
数据库管理系统的功能
1)数据定义功能定义数据库的三级模式结构
2)数据操纵功能查询\插入\删除\更新
3)数据库运行管理和控制功能统一管理和控制数据库的建立运行\维护
4)数据库的建立和维护功能数据的备份恢复功能
数据库系统的全局结构
数据库系统自上而下分为用户、人机交互界面、DBMS、磁盘4个层次。
DBMS可分为两部分,面向用户的请求查询处理器和面向数据存储访问的存储管理器
用户类型
Ø数据库管理员
Ø专业用户
Ø应用程序员
Ø终端用户
查询处理器类型
●DML编译器
●嵌入式DML的预编译器
●DDL编译器
●查询执行引擎
存储处理器类型
权限和完整性管理器
事务管理器
文件管理器
缓冲区管理器
磁盘存储的数据类型
✓以数据文件方式存储的应用数据
✓数据字典
✓为提高数据库查询速度而设置的数据库索引
✓记录DBS运行时用户对DB的操作情况的日志信息
数据库技术的发展和应用
数据管理的三个阶段
人工管理
文件管理
数据库管理
数据库应用系统生命周期2012-9-8
软件生命周期的概念
软件生命周期是指软件产品从考虑起概念开始,到该产品不再使用的整个时期。
一般包括概念阶段、设计阶段、实现阶段、测试阶段、测试阶段、安装部署与交付阶段、运行阶段和维护阶段。
这些阶段可以重复,也可以迭代。
软件开发模型
瀑布模型(也称软件生命周期模型)、快速原型模型、增量模型、螺旋模型
将DBMS设计阶段细分为概念设计、逻辑阶段、物理设计三个步骤,每一步的设计内容又涵盖了3条设计主线。
规划与分析
系统规划与定义的具体内容包括:
✓任务陈述
✓确定任务目标
✓确定系统范围和边界
✓确定用户视图
可行性分析
可行性分析的目的
在明确了DBMS的任务目标和系统范围之后需要从技术、经济、操作等方面进行项目的可行性分析、评估判断DBMS开发项目在现有技术和经济条件下是否可行,是否能够达到预期目标……
可行性分析的内容
经济可行性:
成本效益分析
技术可行性:
系统功能、性能以及实现系统的各项约束条件
操作可行性:
论证
开发方案选择:
最佳方案
项目规划
项目规划的内容:
确定项目规划的目标和范围
根据DBMS软件开发模型,分解和定义整个项目包括的工作活动和任务。
估算完成该项目的规模及所需各种资源
制订合理的DBMS项目计划,包括进度、成本和质量等方面的预测和控制方案
项目规划的成果
项目规划的成果应形成数据库应用系统项目计划文档、也就是项目计划书
需求分析2012-9-9
需求的概念
数据库应用系统需求指用户对DBMS在功能、性能、行为、设计约束等方面的期望和要求。
需求分析的概念
DBMS需求分析是在已经明确的DBMS系统范围基础上,通过对应用问题的理解和分析,采用合适的工具和符号,系统地描述DBMS的功能特征、性能、特征和约束,并形成需求规范说明文档。
需求分析过程由需求获取、需求分析、需求描述与规范说明、需求验证等步骤组成。
需求分析的具体内容:
✓数据需求分析
✓数据处理需求分析
✓业务需求分析
✓分析数据库系统绝对性能、存储、安全、备份与恢复等方面的要求.
数据字典的内容
✓数据项
✓数据结构
✓数据流
✓数据存储
✓数据处理
数据项是数据的最小组成单位.
事务规范的内容:
数据处理需求分析结果也可以表示为事务规范.事务规范包括以下几个方面事务描述信息:
事务名称
事务描述
事务所访问的数据项
事务用户
性能需求分析
性能需求分析主要内容
✓数据操作响应时间活数据项访问时间
✓系统吞吐量:
系统单位时间内完成的事务数.每秒事务数(TPS)
✓允许并发访问的最大用户数,指在保证单个用户查询响应时间的前提下,系统最多允许多少用户同时访问数据库
✓每TPS代价值,用于衡量系统性价比的指标.。
对商业数据库应用系统,既要有好的系统性能,又要有好的使用成本。
影响DBMS性能的主要因素
✓系统硬件资源
✓网络通讯设备性能
✓操作系统环境
✓数据库逻辑设计和物理设计质量
✓DBMS的配置和性能。
如DBMS所采用的查询优化策略、索引优化策略、数据库管理配置策略参数
数据库应用程序本身
软件生存期
从应用系统规划、需求分析、设计、实现、维护直到最后被新的系统取代而停止使用的整个期间
其中设计又包括概念设计、逻辑设计、物理设计
问答题:
数据库应用系统功能设计包括哪两个方面?
每个方面主要由哪些设计步骤组成?
2009.4
数据库应用系统功能设计包括数据库事务设计和应用程序设计。
与数据库应用系统概念设计、逻辑设计、物理设计相对应,应用程序设计分为总体设计、概要设计、详细设计,数据库事务设计则由事务概要设计和事务详细设计组成。
试述数据库设计过程中各个阶段上的设计描述。
Ø需求分析:
准确了解与分析用户需求(包括数据处理)
Ø概念结构设计:
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
Ø逻辑结构设计:
将概念结构转换为某个DBMS所支持地方数据模型,并对其进行优化。
Ø数据库物理设计:
为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和方式)
Ø数据库实施:
Ø数据库运行与维护
数据库的实施主要包括以下工作:
Ø用DDL定义数据库结构
Ø数据装载,4步:
筛选数据,转换数据格式,输入数据,校验数据
Ø编写与调试应用程序
Ø数据库试运行
其中,数据库的试运行和应用程序的编写调试是同时进行的。
数据库的维护工作主要包括:
Ø数据库的转储和恢复
Ø数据库安全性和完整性控制
Ø数据库性能的监控分析和改造
Ø数据库的重组和重构
对数据库的监控分析分为:
自动监控机制和管理员实现的手动监控机制
对数据库架构体系的监控:
空间信息,空间使用率,剩余大小,空间是否具有自动扩充能力,那些表的扩充能力将引起空间的扩展,段的使用空间与区间数。
对数据库数据性能的监控:
数据缓冲区的命中率,库缓冲、用户锁、锁与等待、回滚数、临时段使用情况、索引使用情况、等待时间和共享池
数据库空间管理:
无论使用何种数据库,对空间的管理主要包括创建数据库空间,更改空间大小,删除空间,修改空间大小,新建、移动、关联数据文件。
分析评价数据库性能主要有数据库吞吐量、数据库用户响应时间
系统吞吐量:
单位时间内系统处理的事务数:
TPS
数据库用户响应时间=系统服务时间+用户等待时间
索引使用的原则包括:
Ø经常在查询中作为条件被使用的列,应为起建立索引
Ø频繁进行排序或分组的列,应为其建立索引
Ø一个列的值域最大时,
Ø如果待排序的列有多个,应在这些列上建立符合索引
Ø可以使用系统工具来检查索引的完整性,必要时进行修复。
故障管理
事务:
作为单个逻辑工作单元执行的一系列操作。
一个逻辑工作单元要成为一个事务,必须要满足所谓的ACID(原子性、一致性、隔离性、持久性)
原子性:
要么执行,要么都不执行
一致性:
所有数据都保持一致性状态。
隔离性:
由并发事务所作的修改必须与任何其他并发事务所作的修改隔离
持久性:
事务调度
DBMS是数据库系统中的“操作系统”,他负责人与数据库之间的交互使人能够对数据库进行控制和使用..。
在数据库的控制和使用过程中,用户现象DBMS发送操作指令,DBMS再将所有的操作分解并组织成事务来执行。
在实际的数据库系统中,事务是很频繁的,而且并发的情况是时有发生的,所以必须进行事务调度,并处理好并发机制。
事务的特征:
原子性(atomicty):
事务是相对独立的一个逻辑体,对于一个成功的执行,他必将全部完成;反之将一个操作都不执行。
一致性(Consistency)
隔离性(Isolation):
持久性(Durability):
事务的调度
✓串行调度
✓并发调度
并发执行的正确性问题
✓丢失更新问题(Lostupdate)
✓不可重复读取问题(Non-RepeatableRead)
✓脏数据问题(DirtyRead)
✓不一致分析问题
怎样的并发调度才是好的并发调度?
✓能够做到与串行调度一样的结果
✓保证DBMS每时每刻都在执行某个操作
✓同时进行并发调度的事务保持在一个合理、适合的水平,既不太多,也不太少
使用前趋图可以对是否可以串行化调度进行判断:
构造调度优先图
使用广度优先或者环度优先算法进行环检测….。
如果,检查出有向环,则是不可串行化调度;如果没有检测出环,则是可串行化调度。
制图原则:
事务A对某数据项的读操作在事务B的写操作之前;
事务A对某数据项的写作在事务B的读作之前;
事务A对某数据项的写作在事务B的写操作之前;
一般的,在进行并发调度的时候,如果事务操作并不涉及同一个数据对象,则出现问题的可能性要小。
并发控制技术
✓基于锁的并发控制技术
✓基于时间戳的并发控制技术
✓多版本并发技术
✓确认并发控制技术
✓多粒度锁技术
✓对索引进行锁控制的并发控制技术
基于锁的并发控制:
✓ExclusiveLock排它锁X锁互斥锁独占锁:
其他事务不能对该数据项进行任何操作该事务只能对其进行读取操作
✓SharedLock共享锁S锁读锁只能读取其他事务可以对该事务进行S锁
封锁粒度
在对操作数据对象进行封锁操作时,会涉及数据项的大小问题,这被称为封锁粒度,简称锁粒度。
可将锁粒度大小依次划分为:
属性值、属性值集、记录、表、索引项、整个索引、整个数据库。
大型数据库-----------多粒度加锁协议
小型数据库-----------单粒度加锁协议
封锁协议:
一级封锁协议:
进行写入操作时才加锁,只加互斥锁,没有共享锁。
二级封锁协议:
在一级封锁协议的基础上,要求在读取数据前,必须加上共享锁,读取完成以后在释放。
三级封锁协议:
在一级封锁协议的基础上,要求事务在读取数据钱,必须加上共享锁,知道事务结束才释放。
一级封锁协议
二级封锁协议
三级封锁协议
不一致分析问题
√
√
√
丢失更新问题
√
√
√
不可重复读取问题
√
√
脏数据问题
√
两段锁协议
✓加速阶段
✓解锁阶段
例:
数据库系统处理死锁一般采用哪两类方法?
死锁预防:
主要是通过采用死锁预防机制杜绝死锁产生的可能性。
一种方法是事务一开始就将事务可能会操作的所有数据项和资源进行封锁,但这种方法可行性较差;另一种方法是对事务的加锁申请进行统计,并使用优先级进行排序。
死锁预防机制:
分为死锁的检测和恢复。
检测可以使用超时检测和等待图检测。
处理一般是破坏死锁条件,让处于死锁的某些事务撤销,使其释放数据项或资源,过一段时间,再将撤销的事务进行重新提交。
死锁与活锁的相同点:
死锁和活锁都会使得议一些事务的执行状况处于停止不前的状态。
死锁与活锁的不同点:
形成原因不同:
死锁是以链条死循环的形式等待资源;而活锁中处于等待状态的事务所等待的资源总是被其他事务抢占。
系统状态不同:
死锁会造成多个事务的循环等待;而活锁中大多数事务都在正常进行,只有一个或者少数事务处于等待状态。
预防机制不同:
死锁的预防机制一方面不健全的,另一方面也是比较消耗资源的;而活锁的预防机制相对简单,只需要在调度策略中加上先来先服务机制即可。
排除机制不同:
死锁需要将部分事务撤销,以释放数据项或者资源。
而活锁只需要将长期处于等待状态的事务调度到下一轮执行即可。
恢复和并发控制的基本单位:
事务
数据库系统4大故障:
事务内部故障、系统故障、介质故障、计算机病毒
每种故障需要用不同的方法来处理
事务故障
系统故障(SOFTCrash)
介质故障(HARDCrash)
计算机病毒
数据转储
动态转储
静态转储
常用的三种转储方式:
完全转储、完全转储加增量转储(效率高)、完全转储加差量转储。
(占用较少时间与空间)
数据库镜像的用途:
数据库恢复
提高数据库可用性
关系数据库操作语言
SQL支持的数据类型
Char:
数据类型可用来存储固定长度的普通编码字符型数据。
比如身份证号码等数据。
Varchar:
用来存储变长的普通编码字符型数据。
Text:
用于存储大量变长的普通编码字符型数据
Int:
用于存储之间的整数。
CREATTABLE车辆信息(
车牌号CHAR(7)NOTNULLPRIMARYKEY
CHECK(车牌号LIKE‘京[A-Z][0-9][0-9][0-9][0-9][0-9]’),
车型CHAR(6)DEFULT’轿车’,
发动机号CHAR(6)NOTNULL,
行驶里程INTCHECK(行驶里程>=0),
车辆所有人CHAR(8)NOTNULL,
联系电话CHAR(13)UNIQUE
)
CREATETABLE课表(
课程号INTIDENTITY(1000,1)PRIMARYKEY,
课程名CHAR(20)NOTNULLUNIQUE,
学分TINYINTCHECK(学分>=1AND学分<=6)
)
由于是主码故要有主码约束,要求初始值是1000,且每次递增1,在SQL中,可以使用IDENTITY来创建一个标识符,其格式为IDENTITY(SEED,INCREMENT),其中seed表示初始值,increment表示每次增加的增量;如果定义某列为IDENTITY,则不需要再在该列上定义主码约束。
简述统一建模语言(UML)
统一建模语言是一种绘制软件蓝图的标准语言,可以用UML对软件密集型系统的制品进行可视化详述和文档化,UML是一种定义良好的、易于表达的、功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析和设计,还支持从需求分析开始的软件开发的全过程。
UML的作用就是用很多的图从静态和动态方面来全面描述我们将要开发的系统。
哪种UML图给出了系统的静态视图?
这些UML图提供了系统的静态视图:
类、对象、构件、和部署。
哪种UML图提供了系统的动态部署?
这些UML图提供了系统的动态视图:
用例、状态、顺序、活动和协作。
UML的定义包括UML语义和UML表示法两个部分
UML语义:
描述基于UML的精确元模型定义
UML表示法:
定义UML符号的表示法。
为开发者或者开发工具使用这些图形符号和文本语法为系统建模提供了标准。
这些图形符号和文本所表达的是应用级的模型,在语义上它是UML元模型的实例。
标准建模语言UML可以由下列5类图来定义:
用例图:
用于描述系统与外部系统及用户之间的交互。
静态图(包括类图、对象图)
行为图(包括序列图、协作图、状态图、活动图)
实现图(包括组件图)
环境图(包括部署图)
序列图:
按照时间顺序描述对象间的交互。
包用于把元素组织成组,
构件是系统中遵从一组接口规范且付诸实现物理的、可替换的软件模型。
共5个大类9种图形
UML静态建模机制
用例图
类图和对象图
UML动态建模机制
序列图
协作图
活动图
状态图
Whenyouareoldandgreyandfullofsleep,
Andnoddingbythefire,takedownthisbook,
Andslowlyread,anddreamofthesoftlook
Youreyeshadonce,andoftheirshadowsdeep;
Howmanylovedyourmomentsofgladgrace,
Andlovedyourbeautywithlovefalseortrue,
Butonemanlovedthepilgrimsoulinyou,
Andlovedthesorrowsofyourchangingface;
Andbendingdownbesidetheglowingbars,
Murmur,alittlesadly,howlovefled
Andpaceduponthemountainsoverhead
Andhidhisfaceamidacrowdofstars.
Thefurthestdistanceintheworld
Isnotbetweenlifeanddeath
ButwhenIstandinfrontofyou
Yetyoudon'tknowthat
Iloveyou.
Thefurthestdistanceintheworld
IsnotwhenIstandinfrontofyou
Yetyoucan'tseemylove
Butwhenundoubtedlyknowingthelovefromboth
Yetcannotbetogether.
Thefurthestdistanceintheworld
Isnotbeingapartwhilebeinginlove
ButwhenIplainlycannotresisttheyearning
Yetpretendingyouhaveneverbeeninmyheart.
Thefurthestdistanceintheworld
Isnotstrugglingagainstthetides
Butusingone'sindifferentheart
Todiganuncrossableriver
Fortheonewholovesyou.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 工程师 考点 包含