杀毒软件病毒库校内更新 360安全卫士漏洞修复校园网版!(080827更新)
南审地带下载工具使用指南: FlashGet - FtpRush
南审地带FTP错误详解 | 南审之韵广播台网上直播
发新话题
打印

[专业] 计算机四级教程--数据库工程师(2)

计算机四级教程--数据库工程师(2)

6
存储技术与数据库物理设计


6.1 物理设计是在具体的硬件环境、OSDBMS约束下,基于逻辑设计,设计具体数据存储结构和存取方式。目的:占用空间少、访问效率高、维护代价低。主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。


6.2 索引技术Indexing)是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法。
索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间。


6.3 文件组织:如何将关系数据库中的关系映射为操作系统中的数据库文件,及管理文件。
文件结构:如何将DB文件中的逻辑记录映射到物理文件的中磁盘块。
文件存取:针对某种结构的DB文件,如何查、添删改其中的逻辑记录


6.4 数据字典:数据库各类对象的描述信息、数据库管理系统的控制信息。包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。


作用DBA用来监视DBMS的使用情况并协助完成管理工作;一般用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储和查询处理功能。


6.5 DBMS三种完整性控制机制CHECK子句、断言、触发器
断言语句:Create assertion 断言约束名 check (…)

6.6 堆文件:数据量少且操作频繁;批量加载数据(先选为堆文件再调整文件结构)
顺序文件:查询条件定义在查找码上;快速的二分查找
散列文件:基于散列域值的等值匹配,特别是访问顺序是随机的。非精确查询;非散列域
B-树和B+-树:大数据量基本表;聚焦文件:多表连接操作


6.7有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。
当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址.根据这个地址访问数据记录。


6.8散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。当需要访问数据文件中查找码值为si的某个或某些文件记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文件记录在数据文件中的物理地址。


6.9 权限:允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)。
小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

7
数据库应用系统功能设计


7.1软件体系结构:软件架构={构件,连接件,约束}

7.2 软件设计包括系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、详细设计


7.3 应用软件分为数据库事务和应用程序。后者一方面可以与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互。


7.4 事务:具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则。


7.5 事务概要设计的核心是辨识和设计事务自身的事务处理逻辑,采用面向数据流的程序设计方法设计事务内部的数据处理流程和结构。


7.6 C/S结构特点:数据管理和数据处理被分在客户端和服务器上;服务器可支持多个客户端;客户端也可访问多个服务器;客户端=人机交互+数据处理


B/S结构特点:表示层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务
优点:实现人面交互、应用业务逻辑处理、数据管理三层分离,提高了系统的可维护性;用WEB浏览器可访问多个异构应用平台,解决了跨平台数据管理问题。
小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

8 SQL

8.1 SQLStructured Query Language,结构化查询语言


8.2 二进制字符串是用十六进制表示的,0x前缀


8.3 创建表:CREATE TABLE Table_Card

(CardID varchar(8) NOT NULL,


StartDate datetime NOT NULL,


EndDate datetime NOT NULL,


Score int NOT NULL CHECK(Score >=0) DEFAULT 0,


State char(1) NOT NULL CHECK(State in (0,1,2)),


Sex char(1) CHECK(Sex in(‘
’)),

Age int CHECK( Age between[16,85]),


CustomerID varchar(8),


CHECK(EndDate > StartDate),


PRIMARY KEY (CardID),



FOREIGN KEY (CustomerID)
REFERENCES Table_Customer (CustomerID) )
删除表:DROP TABLE Table_Card
修改表:ALTER TABLE Table_Card
ADD CardType char(4) NULL


ALTER TABLE Table_Card
ALTER COLUMN CardType char(8)


ALTER TABLE Table_Card
DROP COLUMN CardType


8.4 SELECT Cname FROM Tablb_Customer WHERE

Address IN (‘
海淀区’,’朝阳区’) AND
age BETWEEN 40 AND 50 AND
Cname LIKE ‘[王张李]%’
(‘
_ _’)
ORDER BY StartDate ASC, EndDate DESC


小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

8.5 COUNT*)不忽略空值外,其他函数COUNTDISTINCT 列名)、SUM()、AVG()、MAX()、MIN()均忽略空值。均返回单值。
SELECT SUM (Score),MAX(Age),MIN(Age),AVG(Age),COUNT (DISTINCT ..)FROM Table

8.6 分组GROUP BY)依据列不能是text,ntext,imagebit类型的列。先分组后计算
统计每种类别商品的商品数,只列出商品数大于4个的商品类别编号和商品数:
SELECT GoodClassID as 商品类别编号,COUNT*as
商品数 FROM Table_Goods

GROUP BY GoodClassID HAVING COUNT(*)>4


8.7 自连接:查询与王晓在同一个区的顾客的姓名及地址:
SELECT T2.Name,T2.Address FROM Table_Customer as T1 JION Table_Customer as T2

ON T1.Address = T2.Address WHERE T1.Name = ‘
王晓’ AND T2.Name !=’王晓
子查询:一个SELECT语句嵌套在一个SELECTUPDATEINSERTDELETE语句中
SELECT Name,Address FROM Table_Customer WHERE Address IN

(SELECT Address FROM Table_Customer WHERE Name=’
王晓’) AND Name!=’王晓

8.8 外连接LEFT OUTER JOIN 左外连接(左表全输出)RIGHT OUTER JOIN 右外连接


8.9 子查询
[NOT] IN
()集合
不相关子查询,先内后外

WHERE

/</> () 比较
不相关子查询,先内后外

[NOT] EXIST
SELECT *)存在
相关子查询,先外后内




小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

8.10 修改数据INSERT [INTO]表名 [列名表] VALUES(值列表)
UPDATE
表名 SET
列名=表达式 [WHERE子句]/ DELETE [FROM] 表名 [WHERE子句]
分情况修改UPDATE Table_Goods
SET SalePrice= CASE GoodsClassName


WHEN
家用电器’ THEN SalePrice – SalePrice*0.05

WHEN
服装’ THEN SalePrice + SalePrice*0.06

ELSE SalePrice


END


FROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID



8.11 创建索引CREATE [UNIQUE][CLUSTERED][NONCLUSTERED] INDEX 索引名

ON
表名
(列名 [顺序(ASC/DESC)]


8.12 视图:由从数据库基本表中选取出来的数据组成的逻辑窗口,是一个虚表,数据库只存放视图的定义而不存放视图包括的数据。对视图的操作最终都会转换为对基本表的操作。
CREATE VIEW 视图名 [视图列名表]

AS


SELECT
语句

[WITH CHECK OPTION]

作用:简化数据查询语句;使用户从多角度观察同一数据;提高了数据安全性(屏蔽掉敏感数据);提供一定程度的逻辑独立性


8.13 定点数:numeric(p,q)decimal(p,q),p为精度(数字位个数),不大于38q为小数位个数;bit类型:只存储10,不多于8bit列则只用1个字节存储


8.14 Char(n)代表的是普通字符编码按定长存储的字符串,“n”的含义是字符的个数,固定占用n个字节的空间。varchar(n)
代表的是普通字符编码按不定长存储的字符串,“n”的含义也是字符的个数,按字符的实际长度占用空间。
小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

9
事务高度与并发控制


9.1 调度:定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序;冲突操作:事务Ti 的操作Ii与事务Tj的操作Ij冲突的,当且仅当Ii Ij访问数据库中同一个数据项Q,并且Ii Ij中至少有一个是写操作write(Q)冲突可串行:一个并发调度冲突等价于某个串行调度(判断一个并行调度是否正确)
死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态。


9.2 ACIDAtomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性


9.3 1级加锁协议要求事务T修改数据项Q之前必须先对QX锁,直到事务结束才释放该锁。事务结束包括正常结束(commit)和非正常结束(rollback)。但事务如果是只读Q而不对其进行修改,是不需要对Q加锁的。


2
级加锁协议是在1级加锁协议基础上,要求事务T读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。


3
级加锁协议则是在1级加锁协议基础上,要求事务T读取数据项Q之前必须先对其加S锁,但是需要等到事务结束时才释放该S锁。


9.4 2阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。每个事务开始执行后就进入了加锁阶段。当第一次释放锁后,即转入解锁阶段。


9.5解决死锁主要采用死锁预防和死锁检测与恢复两类方法。
死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态。
一次性加锁法;顺序加锁法
死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态

9.6活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。


9.7 锁粒度大:被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之


9.8 基于锁的并发控制技术的原理 P166
小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

10
数据库的实施、运行和维护


10.1 试运行:功能测试;性能测试


10.2 数据库维护:数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的检测和改善;数据库的重组和重构


10.3 数据库安全:行政手段制定规范;权限管理、口令等;维护多个数据副本;防及除毒


10.4 数据库重组:按照系统设计要求对数据库存储空间进行全面调整;数据库重构:业务小范围变化需对数据库逻辑结构作必要改变。


10.5 数据库监控分析DBA借助相应工具监测数据库系统的运行情况,对监测数据进行分析,评估整个系统的运行状态,为系统的安全运行和性能优化提供依据。


10.6 数据库空间管理:数据量增加和碎片使性能降低;空间溢出会带来灾难性停机故障。
包括:创建修改删除数据库空间、新建移动关联数据文件等。


10.7 数据库参数调整:外部调整:CPU、网络;调整内存分配(改善程度大);调整磁盘I/O(I/O时间是响应时间的最大组成部分);调整竞争


10.8 数据库查询优化:合理使用索引;避免或简化排序(Order byGroup by,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程
10.9 属于Oracle 但不属于SQL Server的逻辑和物理空间结构:表空间、段、区
小雨技术贴汇总(不断更新)

无忧系统服务
笔记本销售


最专业的技术才能打造最专业的服务,我一直很用心

TOP

发新话题