半小时带你复习数据库三级复习大纲(小结)
Mr_hansir
数据库三级备考指南
我也是今年参加考试,然后根据参考课本及考试大纲把重点都列了一下,均为个人根据课本内容总结。然后希望对大家有些帮助,也在此祝大家考试顺利,金榜题名!以下内容均为课本重点,建议重点阅读。同样列出了往年考过的知识点和填空。
1、数据库应用系统生命周期(选择几乎必考,填空考过几次)
总的来看,(见课本图1.1),分为:项目规划、需求分析、系统设计、实现与部属、运行与维护,几个阶段。其中,系统设计几乎年年考,分为:概念设计、逻辑设计、物理设计。
概念设计:
定义描述涉及数据范围,数据的属性特征,定义联系(实体集之间的关系),数据约束,安全性要求,转换成数据库的逻辑结构(数据库模式),绘制ER模型。
逻辑设计:
把概念设计结果转化为具体数据库系统支持的数据模型。学生表(学号,姓名)即为一个关系模式。
物理设计:
目的是将数据的逻辑描述转换为实现技术规范,设计数据存储方案,需考虑不同操作系统、平台。包含:文件组织,文件结构,文件的存取,索引技术(一种快速访问技术,建立记录域取值到记录的物理地址之间的映射关系,分为:有序索引、(散列技术)哈希索引。有序索引又分为:聚集索引、非聚集索引)
常考概念:
1、数据字典:包含数据项、数据结构、数据流、数据存储和处理过程。数据项是数据存储的最小单位,是一个元数据,来描述数据内容结构的。
2、DFD(Data Flow Diagram)数据流图:核心数据流,抽象出数据处理过程,采用结构化分析方法
3、IDEFO(ICAM DEFinition Method)建模方法,有十多种,十分繁琐。
4、UML用例图:系统、角色、用例三种模型元素构成。Unified Modeling Language,统一建模语言。类图描述系统静态结构,顺序图和通讯图表示系统动态结构。聚集关联,表示整体与部分的关系,共享聚集为菱形,组成聚集为实心菱形。子对象是不是严格属于父对象。继承表示为空心三角。顺序图,目的是说明对象的协作如何达到系统目标。通信图,说明对象的联系及对象间发送和接受信息。
5、ER模型:实体、实体集、属性、码、联系(1:1、1:n、m:n)大题每年都考。
5、函数依赖:某个属性集依赖于另一个属性集。
6、三个范式(1NF、2NF、3NF):第一范式,无重复的列。第二范式,属性完全依赖于主键。若所有非主属性不依赖于一个主键,则不是第二范式。
7、索引建立原则,经常查询连接统计操作且数据量大的可建立,而经常插入删除更新或者小数据量的尽量避免。
8、分布式数据库:水平划分、垂直划分。前者属性全部保留,是基本表中元组的子集。后者是属性是基本表的子集。
9、软件体系,浏览器/服务器(B/S)、客户端/服务器(C/S),了解各自的特点,交互性、负荷、数据处理。
10、DBAS系统四个层次:表示层(看到的,交互)、业务逻辑层(数据处理,中介)、数据访问层(与DBMS进行交互,存入读取)、数据持久层(保存和管理系统数据)
11、模式:内模式(物理数据)、模式(逻辑)、外模式(用户视图),物理独立性、逻辑独立性,分别提供。常考。
12、并发访问:同时接纳多个事务,并且可以同时执行。实现方法:封锁技术(避免产生数据不一致的问题)。有排它锁和共享锁。设计方法:按同一顺序访问资源、避免事务中的用户交互、小事务模式(运行快)、尽量使用记录级别的锁(行锁),少用表锁。
13、死锁:有一个事务抱着数据库资源不放,同时又有锁,导致其他事务堵塞,系统故障。
14、备份与恢复:利用冗余数据(数据备份)来操作。双机热备,服务器同时往两个服务器写。数据转储,系统管理员定期转存到永久介质中。
15、网络环境安全:防火墙、入侵检测系统、网络隔离(近几年考的少)UPS不间断电源。
16、数据装载(常考):组织数据入库是数据库实施阶段的主要工作。可建立大量初始数据测试。
17、原型迭代法(人机界面设计)。
18、状态图:状态之间转换由事件驱动、时间驱动。时间图由时间因子决定(考过)。
19、数据库语句(真枪实弹开始练手了):
- top n:取查询结果的前几行。With ties:包括最后一行,取值并列。
- Top示例:(在mysql中无top n 列名,取而代之的是limit n)
执行结果
Case函数:分情况显示不同类型的数据的目的。分为简单case函数、搜索case函数。
搜索case示例:
执行结果:
搜索数据表中的相关项,每一项都搜索。
Select…into函数:将结果保存在新表(有表则插入,无表则创建)。#局部临时表,##全局临时表。
在mysql中取而代之的是
Union和Join:将两个或者更多的查询产生单一的结果集。Union是添加更多的行,而join是添加更多的列。
Union示例:
执行成功,将两个表拼接在一起
Join示例:
第二个表的数据成功拼接到第一个表中了
Intersect交运算:返回两个查询结果集中各列的值均相同的记录。
子查询:集合式where in、表比较where 比较运算符、存在性where【not】exists。
Where语句及表的重命名
执行成功后,两个表便拼接到了一起
开窗函数:SUM、AVG等,用于分区或者分组进行计算。开窗函数结合Over
子句对数据进行分区。
20、系统的五个数据库:master(记录系统信息)、msdb、model(所有数据库模板,数据库不可低于这个大小)、tempdb、resource
21、三类数据文件:主数据mdf、次要数据ndf、日志文件ldf
22、数据存储单位:数据页(页),一页8KB
23、创建数据库语句
然后就可以看到数据库中多了一个
创建数据表,执行代码
成功建立数据表
提示:在实际操作中,一定要注意编码格式,如果编码格式不统一,无法建立约束。
24、分区表,是将表中的数据按水平方式划分为不同子集。
25、索引(年年考):一个表或视图只允许一个聚集索引,索引视图。Clustered和nonclustered。
索引示例:执行下列语句,成功创建索引。
26、数据库后台编程技术:和程序语言类似,阔以接收输入参数并以返回给调用过程、执行数据库操作、向调用过程返回状态值,表明成功或者失败。好处:减少网络流量,增强安全性,改善性能。
创建存储、执行存储
用户定义函数:分为标量函数和表值函数。标量函数返回单个数据值。表值函数是返回一个数据表。
27、触发器和Check语句:增强了数据完整性,在进行update、delete、insert时自动执行。For/After表明执行顺序,instead of执行触发器。
28、游标:对结果集的每一行或者部分行单独处理。@@Fetch_Status全局变量用来判断游标的最终状态。
29、权限:系统管理员自动具有全部的操作权限。用户分为三类:系统管理员、数据库对象拥有者、普通用户(只有对数据库数据的操作权限)。Windows身份验证模式,根据登录window操作系统时的用户名密码判断是否SQL的合法用户。Guest用户,为匿名访问者。Grant授权语句示例:
拒绝权限示例:
固定服务器角色:dbcreator、diskadmin(管理磁盘文件)、processadmin、securityadmin、serveradmin、sysadmin(系统管理员角色,Windows中的Administrator全部在其中,具有全部权限)
固定数据库角色:db_accessadmin、db_datareader、db_datawriter、db_ddladmin、db_owner、db_securityadmin。
30、故障管理:事务内部故障(事务自身运行错误导致的故障)、系统故障(由于掉电、非正常关机所引起的故障)、介质故障(介质损坏引起的故障)、计算机病毒故障。
数据库恢复:未提交的undo,已提交的redo。
31、存储:静态存储、动态存储。数据转存机制:完全转储、增量存储、差量存储。
32、日志文件:“日志”二字常考。记录所有数据库事务操作及登记。检查点:检查点之前内存数据与介质中数据保持一致。
33、RAID、RAID10:存储数据介质,速度越来越快
34、备份类型:完整数据库备份,差异数据库备份,文件备份,事务日志备份。
35、分布式数据库:系统数据分布在物理位置不同的计算机上。数据分片,数
据分配(集中式、分割式、全复制式、混合式)。分布透明性:分片透明性(全局概念和分片模式之间)、位置透明性、局部数据模型透明性。
36、并行数据库:数据划分有轮转法(平均分到每个磁盘)、散列划分、范围划分(如0-100一组,100-1000一组)
37、数据仓库与数据挖掘:OLAP(联机事务分析,基于大数据,高层可看,分析方法:钻取、卷起、切片、切块、旋转)、OLTP(联机事务处理,处理事务,底层员工使用)。数据仓库特点:面向主题的、集成的、非易失的,且随时间变化的数据集合。粒度,综合程度越小,粒度越小。
38、元数据:描述数据的数据,描述数据的结构、索引、内容、链等内容。
39、insert插入数据
已成功插入数据
40、建立外键参考,表与表之间构成外键约束。
还可进行级联操作cascade,更新一同更新,删除一同删除。
往年考试题目总结
1、数据库升级改造,包括应用系统及其相关的数据库对象,也包括数据库管理系统和所在的操作系统环境。
2、数据库监控与数据库维护要区分,数据库备份属于数据库维护。而空间、流量、CPU使用情况属于数据库监控。
3、散列(哈希)索引,使用中不需要依次比较,通过函数直接定位,比较厉害的一种索引。
4、备份:完整/差异数据库备份,是备份全部的内容(包括日志)。差异/文件备份,只是针对数据库文件,需额外备份日志。
5、分布式数据库,数据传输通信代价大的原因是:各站点分片间的连接和并操作。
6、数据字典,各类数据描述的集合,元数据的集合。
7、数据模型的分类:数据结构,数据操作,完整性约束。
8、Join外连接包括左右连接,保留null值。而内连接inner是取交集。
9、并行数据库中,事务之间要隔离。也就是加共享锁、排它锁。共享锁只能进行读操作。
10、数据库管理系统一般通过检查事务等待图来检测死锁。
11、数据仓库特点:面向主题的,非易失的,集成的,随时间变化的。
12、数据库实现与部属(实现阶段,主要是编码与测试)。针对不足进行升级改善性能,是系统运行维护阶段的工作。
13、数据范围大小:int(2-31—231-1),tinyint(0—255)。
14、Check约束,涉及一列则跟在后面。若两个,则在表最后。
如:…………………………
Check(最高工资 between 最低工资 and 最低工资*2)
15、尽量存地址到数据库,别存照片,空间占用大,降低了并发行。
16、主键上的索引叫主索引,非主键叫辅索引。
17、数据恢复次序,完整数据备份,差异数据备份,日志备份。其中master数据库也特别金贵,只能进行完整数据库备份。
18、UML中组件图提供物理视图,各应用程序之间的组织和依赖关系。
19、聚类函数:Count(distinct|all 列名)统计数量。
20、赋予user系统管理员权限:EXEC XXX ‘user’ sysadmin
21、故障前已commit的做redo处理,而未commit的做undo处理。
22、模式分解,一个关系分解成多个关系,或许会减少数据冗余,也可能会增
加。
23、SQL是非过程化的语言。在执行更新、删除等操作时,不会检查数据完整性。
24、一个用户只能对应一个架构,多个用户可以共享一个架构。
25、SQL Server实例,是后台进程和数据库文件的集合。
26、日志是快速增长的,不见得比数据库文件小,日志备份并不会减少数据库备份空间。
27、数据库发生故障,若日志文件未被损坏,先进行一次结尾日志备份,然后再差异备份。
28、题目分析技巧,“不同部门访问不同数据”强调不对全局进行访问,故使用分割式的分布式数据库。
29、集合操作主要包括,并操作(union),交操作(intersect),差操作(except),查询结果必须列数相同,对应的数据类型也相同。
30、固定服务器角色(sysadmin,db_creator等等),数据库角色(db_owner、db_datareader、db_datawriter)每次考试几乎都有填空。
31、加锁保证数据库事务调度的可串行性。
32、分布数据库中可采用半连接操作,减少数据传输。
33、查询处理器:查询编译器和查询执行器,负责DML的解析和执行。
34、UML类图中,组合比聚合牛逼,关系依赖更强。
35、排它锁降低了数据并发性,限制了数据共享。尽量使用行锁,小事务,降低事务隔离等级,来提供数据并发性。
36、共享内存结构,多个事务可以一起访问对象。若数据传输量大,就会引起数据冲突。
37、DDL、DML、DCL:分别是数据库定义语言,数据库管理语言,数据库控制语言。
38、索引结构是由索引列列值和指向的指针构成。
39、三种自定义函数:标量函数、内嵌表值函数和多语句表值函数。标量函数可以出现在select中,而其他的只能在from子句中。
40、为避免活锁,DBMS采用先来先服务(FIFS)策略。
41、数据库运行管理与维护阶段,优化SQL查询语句。
42、视图定义:视图是一个或几个基本表中导出的虚表,数据库中只存储视图的定义,不存放视图对应的数据。特点:简单(简化了数据查询语句)、安全、提供逻辑独立性。
43、设计视图和关系模式的完整性约束是数据逻辑设计阶段的工作。
44、需求分析的各个阶段:数据库响应时间、系统吞吐量和最大并发数都是性能需求分析的重要指标。数据需求分析,从用户视图出发,分析数据项和数据结构。需求分析阶段,充分沟通,形成需求文档,而不是视图。
45、结构图包括:用例图、组件图、类图、对象图、部署图
46、元组中的每一个属性对应文件记录中的一个域。
47、事务的特性:原子性、一致性、隔离性、持久性。调度就是为了保持事务的特性,串行调度和并发调度。一个事务执行完成才执行下一个,这是串行调度。而事务间交叉执行,这是并发调度。
48、AS定义属性的别名,sno as 学号,在结果集中以别名显示。
49、数据库监控分为:手动监控机制,自动监控机制。
50、表达对象之间传递发送消息的图:通信图(协作图)。
51、聚集索引的键值阔以重复。
52、属性值的取值范围叫做域,如:性别属性,取值男、女。
53、航空售票员,地铁售票员,都是业务人员的子类,具有概括关系。
着重分析一下30分的大体如何做:一定要了解的知识点,有E-R模型的绘制及转换成关系模式。因为每年的第一个大题都是这个!!!可能性很大!
按照题目来分析,希望大家可以举一反三。(题目为《全国计算机等级考试三级教程——数据库技术》后的附录样题大题1)
1、首先,实体要用矩形框表示,属性用圆角框表示,联系用棱形框表示。
2、将E-R图转换为满足3NF的关系模式,并标注每个关系模式的主码和外码。
首先列出每个实体和实体属性:
系(系号、系名、系办公电话)
学生信息(学号、姓名、性别、出生日期)
学籍(异动类型说明、异动时间、异动类型)
课程(课程号、课程名,课程学分)
教材(教材名、教材号)
【在学籍一栏,上图中多了一个属性,做图时有些大意,选修上少了个成绩,课程上少了个课程学分,还请海涵】
然后写出实体间的联系:
管理(系号,学号)
选修(学号,课程号)
使用(课程号,教材号)
学籍_异动(学号,学籍号)
然后根据1:n,n:m,1:1三种模式将联系改写,
1:1,将联系与某一端的实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和联系相关的另一个实体集的码。
1:n,在n端增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增后原关系的码不变。
示例1:
系(系号、系名、系办公电话)
学生信息(学号、姓名、性别、出生日期)
管理(系号,学号)
转换为
系(系号、系名、系办公电话)
学生信息(学号、姓名、性别、出生日期,系号)外码:系号
示例2:
课程(课程号,课程名,课程学分)
教材(教材名,教材号)
使用(课程号,教材号)
转换为
课程(课程号,课程名,课程学分)
教材(教材名,教材号,课程号)外码:课程号
m:n,一个联系转换为一个关系。与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。
示例3:
学生信息(学号、姓名、性别、出生日期)
课程(课程号、课程名)
选修(学号,课程号)
转换为
学生信息(学号、姓名、性别、出生日期)
课程(课程号、课程名,课程学分)
选修(学号,课程号,成绩)外码:学号,课程号
示例4:
学生信息(学号、姓名、性别、出生日期)
学籍(异动类型说明、异动时间、异动类型)
学籍_异动(学号,学籍号,异动时间)外码:学号,学籍号
3、用户自定义函数:
4、创建存储函数:
声明:此复习提纲均来自课本,还请以课本内容为主。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。