大家好,又见面了,我是你们的朋友全栈君。
计算机三级(数据库)备考题目知识点总结
- 刷题所遇到的知识点总结
- 考后总结
刷题所遇到的知识点总结
以下都是我在刷题时遇到的常考的知识点,供复习时做参考。
1.DBAS需求分析阶段的一项重要工作是分析DBAS应具有的性能指标,主要包括:①数据操作响应时间,或数据访问响应时间;②系统吞吐量,即指系统在单位时间内可以完成的数据库事务或查询的数量;③允许并发访问最大用户数;④每TPS(Price per TPS)代价值。
2.聚集索引的键值可以重复。
3.索引适合使用的条件:
代码语言:javascript复制①在经常需要搜索的列上,可以加快搜索的速度;
②在经常使用连接的列上(这些列主要是一些外键)可以加快连接的速度,在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
③在经常使盘【用WHERE子句中的列上面创建索引,加快条件的判断速度。
不适合使用的条件:
代码语言:javascript复制①对于那些在查询中很少使用或者参考的列不应该创建索引;
②对于那些只有很少数据值的列也不应该创建索引;
③经常进行更新的列不适宜创建索引。
4.SQL Server 2008中GRANT的用法为(先on后to):
代码语言:javascript复制GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
5.数据库物理设计并不包括文件和数据库的具体实现细节(例如如何创建文件、建立数据库以及如何加载数据等)。
6.一个数据库只对应一种内模式。一个数据库中可以定义多个外模式数据库系统三级模式和两层映像的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。
7.分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。
8.SQL Server 2008的数据恢复模式有三种:
代码语言:javascript复制①简单恢复模式,此方法可以最大幅度减少事务日志的管理开销,因为恢复模式不备份事务日志。但是如果数据库损坏,则简单恢复模式将面临极大的数据丢失风险。在这种恢复模式下,数据只能恢复到最新备份状态。因此对于用户数据库,简单恢复模式只适用于测试和开发数据库,或用于主要包含只读数据的数据库。
②完整恢复模式,此方法可以完整的记录所有事务,并将事务日志记录保留到对其备份完毕为止。此方法相对简单恢复模式来说,更占用时间。
③大容量日志恢复模式,此方法只对大容量操作进行最小记录,使事务日志不会被大容量加载操作所填充。
在数据导入过程中,所有的业务都是暂停的,因此可以采用简单恢复模式提高数据导入速度。且只在数据导入的过程中暂时的修改恢复模式,因此数据并不会丢失。
9.物化视图是预先计算并保存表连接或聚集等耗时较多的操作结果,这样,在执行查询时大大提高了读取速度。
10.第一类ODS数据更新频率是秒级,第二类ODS的数据更新频率是小时级,第三类ODS的数据更新频率是天级,上述三类是根据数据更新的速度划分的,ODSⅣ:第四类ODS是根据数据来源方向和类型划分的。
11.事务的隔离性保护了数据的完整性。Ⅲ中数字签名是用于数据防篡改,定义主码是用于实体的完整性。
12.聚集文件是一种具有多种记录类型的文件,它存储了来自多个关系表的数据,每个关系表对应文件中的一种记录类型。聚集文件将不同关系表中有关联的记录存储在同一磁盘块内,从而减少数据库多表查询操作时的磁盘访问次数,提高系统I/O速度和查找处理速度。
13.数据库管理员的职责有:
代码语言:javascript复制①数据库的转储和恢复;
②数据库安全性、完整性控制;
③数据库性能的检测和改善;
④数据库的重组和重构。
14.每个游标都有一个当前行指针,当游标打开后,当前行指针自动指向结果集的第一行数据,INSENSITIVE关键字用以创建由该游标使用的数据的临时副本。对游标的所有请求都从 tempdb 中的该临时表中得到应答。因此,在对该游标进行提取操作时,返回的数据中不反映对基表所做的修改,并且该游标不允许修改。使用 SQL-92 语法时,如果省略 INSENSITIVE,任何用户对基表提交的删除和更新都反映在后面的提取中。
代码语言:javascript复制"@@FETCH_STATUS= 0"时,表示的含义是FETCH语句成功;
"@@FETCH_STATUS=-1"时,FETCH 语句失败或行不在结果集中;
"@@FETCH_STATUS=-2"时,提取的行不存在;
关闭游标之后,可以通过OPEN语句再次打开该游标。
15.文件结构优缺点:
代码语言:javascript复制堆文件:查找很麻烦,但插入很方便,适合批量加载数据。
顺序文件:对于主键的查找很方便。顺序文件特别适用于磁带存储器,也适用于磁盘存储器。顺序文件的随机存取(即按随机给出的关键码存取一条记录)效率很低。缺点还有文件不能动态增长,不利于文件插入和删除。
散列文件:具有随机存放、记录不需进行排序、插入删除方便、存取速度快、不需要索引区和节省存储空间等优点。
聚集文件:适用于范围筛选,自带排序。不同关系表中有关联关系的记录存储在一起。如果某些重要而频繁的用户查询经常需要进行多表连接操作,可以考虑聚集文件,来改善查询效率
16.T-SQL语言总结: 创建数据库:
代码语言:javascript复制CREATE DATABASE Students
ON PRIMARY 主文件组文件1
(
NAME = Student_data1,
FILENAME ='F:DATAMDF',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
( 主文件组文件2
NAME = Student_data1,
FILENAME ='F:DATANDF',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
LOG OPTION 日志文件1
(
NAME = Student_data1,
FILENAME ='F:DATAldf',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
( 日志文件2
NAME = Student_data1,
FILENAME ='F:DATAldf',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
修改数据库:
代码语言:javascript复制ALTER DATABASE RShDb
ADD FILE(
)
ALTER DATABASE RShDb
MODIFY FILE(
)
ALTER DATABASE RShDb
ADD LOG FILE(
)
收缩数据库空间:
代码语言:javascript复制DBCC SHRINKDATABASE(Students,20)
收缩文件空间:
代码语言:javascript复制DBCC SHRINKFILE(Students,4)
删除数据库文件:
代码语言:javascript复制ALTER DATABASE student REMOVE FILE Student_data1
分离和附加数据库:
代码语言:javascript复制分离:EXEC sp_detach_db 'Students','true'
附加:CREATE DATABSE Students ON(FILENAME='F:DATA.MDF') FOR ATTACH
数据库架构:
代码语言:javascript复制CREATE SCHEMA TEST AUTHORIZATION ZHANG
CREATE TABLE T1(
C1 INT
C2 CHAR(10))
DROP SCHEMA TEST CASCADE(连架构对象一起删除)/RESTRICT(如果架构中包含架构对象,不删除)
分区表:
代码语言:javascript复制 创建分区函数:CREATE PARTITION FUNCTION myRangePF1(int)
AS RANGE LEFT(小于等于和大于)/RIGHT(大于等于和小于) FOR VALUES(1,100,1000)
创建分区方案:CREATE PARTITION FUNCTION myRangePF1(int)
AS RANGE LEFT FOR VALUES(1,100,1000)
GO
CREATE PARTITION SCHEME myRangePS
AS PARTITION myRangePF1
TO(test1fg,test2fg,test3fg,test4fg)
GO
CREATE TABLE ParititonTable(
col1 int,
col2 char(10))
ON myRangePS(col1)
索引:
代码语言:javascript复制创建索引:CREATE NONCLUSTERED/CLUSTERED/UNIQUE INDEX IX_TransactionHistory
ON Transaction(TransactionDate)
删除索引:DROP INDEX INDEXNAME;
索引视图:
适合使用索引视图的场景:很少更新基础数据或者基础数据以批处理的形式定期更新,可以提高连接和聚合操作的性能。
创建索引视图:CREATE VIEW Sales.vOrders
With SCHEMABINDING
AS
SELECT 。。。。。
GO
CREATE UNIQUE CLUSTERED INDEX IDX_V1 必须是唯一聚集索引
ON Sales.vOrders(字段名)
GO
后面直接使用视图
17.SQL SERVER将数据库分为两大类:系统数据库和用户数据库。 系统会自动安装五个系统数据库:
代码语言:javascript复制master(所有系统级信息)
msdb(调度报警和作业以及记录操作员时使用)
model(所有数据库模板)
tempdb(临时对象和中间结果集)
Resourse(只读数据库,包含了所有系统的对象)
19.操作系统文件包括数据文件(数据和对象)和日志文件(恢复数据库中所有事务需要的信息)。
20.数据文件包括主要数据文件(mdf)(一个数据库只有一个)和次要数据文件(ndf)。日志文件(ldf)。
21.数据库文件组:主文件组和用户定义的文件组。
22.数据库文件的属性:文件名及其位置,初始大小,增长方式,最大大小
23.存取控制又可以分为自主存取控制(DAC)和强制存取控制(MAC)两类。
自主存取控制方法中,拥有数据对象的用户即拥有对数据的所有存取权限,而且用户可以将其所拥有的存取权限转授予其他用户。自主存取控制很灵活,但在采用自主存取控制策略的数据库中,这种由授权定义的存取限制很容易被旁路,使系统无法对抗对数据库的恶意攻击。因此,在要求保证更高程度的安全性系统中采用了强制存取控制的方法。
在强制存取控制方法中,将用户和客体分为多种安全级别,对数据库中每个存取对象指派一个密级,对每个用户授予一个存取级,由系统提供基于标识的高级安全认证。对任意一个对象,只有具有合法存取级的用户才可以存取。
当主体的许可证级别大于或等于客体的密级时,主体才能读相应的客体。
当主体的许可证级别小于或等于客体的密级时,主体才能写相应的客体。
24.开窗函数:
代码语言:javascript复制开窗函数必须放在over前面,分别应用于每个分区。
聚合开窗函数:
SELECT Cno,Cname,Semester,Credit,SUM(Credit)OVER(PARTITION BY Semester)AS'Total',
AVG(Credit) OVER(PARTITION BY Semester)AS 'Avg' FROM Course;
聚合排名函数:
RANK(可以有并列),DENSE_RANK(不可以有并列),NTILE(分组函数),ROW_NUMBER(每个分区内行的序列号,从1开始)
例子:
SELECT OrderID,ProductID,OrderQty,
RANK() OVER
(PARTITION BY OrderID ORDER BY OrderQty DESC)AS RANK
FROM OrderDetail
ORDER BY OrderID;
25.公用表表达式:
代码语言:javascript复制WITH BuyCount(CardID,Counts)AS (
SELECT CardID,COUNT(*)FROM Table_SaleBill
GROUP BY CardID)
SELECT CardID,Counts FROM BuyCount ORDER BY Counts
26.相关子查询:
代码语言:javascript复制1、使用子查询进行基于集合的测试: WHERE IN/NOT IN (先执行内层再执行外层)
2、使用子查询进行比较测试:where 语句中不能出现聚合函数,因此需要先用SELECT先得到聚合函数的结果。
3、使用子查询进行存在性测试:where EXISTS/NOT EXISTS(先执行外层,又执行内层)
27.多属性索引按照其区分度进行排序
29.在数据库应用系统中,可以通过以下几个原则来预防死锁:
代码语言:javascript复制①各个事务应顺序访问共享资源,将复杂的、大的事务分解成多个简单、小的事务;
②按同一顺序访问对象;
③事务隔离性级别;
④使用绑定连接;
⑤灵活使用显示加锁技术等。
30.对于一张表上某个操作可以建立多个后触发器,但只能建立一个前触发器。
31.(大致有个印象)根据监控对象的不同,数据库的监控分析可以分为:
代码语言:javascript复制对数据库架构体系的监控
主要内容:空间基本信息、空间使用率与剩余空间大小,空间是否具有自动扩展的能力、哪些表的扩展将引起空间的扩展,以及段的占用空间与区间数等。
对数据库性能的监控
主要包括:数据缓冲区的命中率、库缓冲、用户锁、锁与等待、回滚段、临时段使用情况、索引的使用情况、等待事件和共享池。
32.(常考)OLTP(online transaction processing):联机事务处理环境(基本操作) OLAP(online analytical processing):联机分析处理用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。多维分析操作:1.钻取与卷起2.切片3.旋转 33. 游标(常考选择题和填空):
代码语言:javascript复制声明游标:DECLARE cursor_name 【INSENSITIVE】【SCROLL】CRUSOR
FOR。。。
例子说明一切:
DECLARE @CN VARCHAR(10), @Email VARCHAR(50)
DECLARE Cname_cursor CURSOR FOR
SELECT CName, Email From Table_Customer
WHERE CName LIKE ‘王%’AND Address LIKE ‘’
OPEN Cname_cursor
FETCH NEXT FROM Cname_cursor INTO @cn,@Email
WHILE @@FETCH_STATUS=0
BEGIN
PRINT’顾客姓名:’ @cn ’邮箱’ @Email
FETCH NEXT FROM Cname_cursor INTO @cn,@Email
END
CLOSE Cname_cursor
DEALLOCATE Cname_cursor
游标的一些关键字注释:
ABSOLUTE:从开始第几个
RELATIVE:从当前位置起始第几个
INSENSITIVE:敏感和不敏感。加上就不敏感,提取操作读取的是tempdb中的临时副本中的数据,不加的话读的是原表中的数据。
SCROLL:加上可以使用所有操作,不加只能使用next
34.UML图总结概述:所有系统均由静态结构和动态行为组成。
代码语言:javascript复制UML支持动态建模的四类图:状态图,顺序图,协作图,活动图
UML四个层次:元元模型,元模型,用户模型,模型
业务流程-活动图:可以并行描述逻辑流程的先后执行次序。------
系统需求-用例图:用例,角色和系统
系统结构-类图:关联(共享聚集:空心菱形,组合:实心菱形),通用化继承:空心三角形实线,依赖:,精化:空心三角形虚线
系统结构-顺序图:说明对象的协作如何达到系统的目标要求。纵向表示时间的持续过程,横向表示对象。对象之间的通信用水平消息线表示。强调时间------
系统结构-通信图:描述对象彼此间的联系。强调空间----
微观设计-对象图:某一个特定时间点上系统所有对象的一个快照。
微观设计-状态图:陈述系统有关时间或状态转移。椭圆框内是状态----
微观设计-时间图:利用时间的推移,让时间因子呈现一个可视化状态。
宏观设计-包图:高内聚,低耦合
宏观设计-交互概述图:将流程(活动图)进行整合。
宏观设计-复合结构图:用于系统的整合。
系统实现-组件图:
系统实现-部署图:
35.强制存取控制(填空题常考):D类:最小保护。C类:自主保护。B类:强制保护。A类:验证保护。
36.数据库物理设计并不包括文件和数据库的具体实现细节(例如如何创建文件、建立数据库以及如何加载数据等)。
37.dbcreator角色具有创建、删除、修改和还原数据库对象的权限,所以可以使ACCT只在dbcreator角色中。
38.分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。
41.事务的ACID(常考选择题填空题)
代码语言:javascript复制⑴ 原子性(Atomicity)
原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务 功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
⑵ 一致性(Consistency)
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。
⑶ 隔离性(Isolation)
隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。
关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。
⑷ 持久性(Durability)
持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。 例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。
42.元数据:描述表结构,表间关系的数据为元数据;建立统计分析时的数据集成等也是元数据。
43.系统规划和定义的具体内容包括:任务陈述、确定任务目标、确定系统范围和边界、确定用户视图。
44.DFD中的箭头表示的数据的流向,不能表示控制流和约束。
45.表示层的主要任务是进行人机界面设计;业务逻辑层的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统构件(如类、模块、组件等);数据访问层的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务;数据持久层主要任务进行应用系统的存储结构设计。
46.对数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则称该索引文件为聚集索引。聚集索引可以是主索引,也可以是辅索引。在数据文件的主码属性集上建立的索引称为主索引。主索引可以是聚集索引,也可以是非聚集索引。聚集索引的键值可以重复。稀疏索引属于有序索引,所以所指向的数据文件一定是有序的。
47.散列文件组织不适合下述情况:
代码语言:javascript复制①基于散列域值的非精确查询(如模糊查询、范围查询);
②基于非散列域进行的查询。
48.WITH DIFFERENTIAL,NOINIT中DIFFERENTIAL表示进行数据库差异备份,没有该选项表示进行完整数据库备份,NOINIT表示将该次备份内容追加到指定的媒体集上,以保留原有的备份集。
47.轮转法对于点查询和范围查询的处理较复杂,由于不知道所要查找的元组具体分布在哪个磁盘上,必须对所有磁盘进行查找,明显降低了查询效率,不适合点查询。散列划分和范围划分方法均利于点查询。
48.决策支持系统一般是指企业中以数据为基础对重要业务或事务实施辅助决策的信息系统。
49.K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
50.UML四层建模框架:元元模型(组成UML最基本的元素),元模型(组成基本元素,包括面向对象和面向组件),模型(这一层每个概念都包含元模型的一个实例),用户模型(都是模型层的一个实例)
51.常见的RAID级别有:
代码语言:javascript复制RAID0(优点是采用数据分块、并行传送的技术,能过提高读写速度)
RAID1(安全,采用镜像的方式,提高了读的速度,没有提高写的速度,提高了系统的容错能力,硬盘的利用率低)
RAID5(在RAID0的基础上加入奇偶校验信息,读取速度和RAID0相似,但写入速度稍慢,但磁盘利用率比RAID1高)
RAID10(RAID0和RAID1的结合体,提高了读写速度)。
52.备份数据库的T-SQL语法:
代码语言:javascript复制BACKUP DATABASE/LOG database_name TO MyBK_1 WITH DIFFERENTIAL,NOINIT;
DIFFERENTIAL 差异备份
默认是完整备份
NOINT 追加,并保留原有的集合
53.并行数据库的划分策略:
代码语言:javascript复制分为共享内存结构,共享磁盘结构,无共享结构和层次结构。
一维数据划分: 轮转法:不适用于点查询和范围查询,但充分发挥了并行性。
散列划分:适合点查询,对于顺序查询也是非常高效的,如果选择散列函数不合理会导致数据划分的不均衡。
范围划分:适用于点查询和范围查询。
54.数据挖掘
代码语言:javascript复制数据挖掘的步骤:数据准备,数据挖掘,结果解释与评估。
数据挖掘的分类:
关联规则挖掘:发现数据间的某种联系。支持度,置信度
分类挖掘:建立分类函数,构造分类器。
聚类挖掘:组内具有较高的相似度,而在不同组内的相似度有很大差异。
时间序列分析:数据演变分析。
55.DFD数据流图:分为四部门:
代码语言:javascript复制数据流(箭头,描述数据的流向),处理(矩形框,对数据进行加工和变换),数据存储,外部项(平行四边形框,数据的提供者和使用者)自顶向下逐步细化的结构化分析方法。
56.IDEFO(ICAM DEFinition Method):矩形框(功能活动)和箭头。上方箭头控制,下方箭头机制,左方箭头条件,右方箭头输出。
57.云计算通常包括软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(Iaas)。
58.创建分区表有一下几个步骤:创建分区函数,创建分区方案和使用分区方案创建表。
59.从功能角度可以将数据库应用系统划分为4个层次即表示层、业务逻辑层、数据访问层、数据持久层。其中表示层概要设计的主要任务是进行人机界面设计;业务逻层概要设计的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统架构;数据访问层概要设计的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务;数据持久层概要设计的主要任务进行应用系统的存储结构设计。
60.对象间的通信用对象生命线之间的水平消息线表示,箭头说明消息的类型,如同步、异步或简单。 顺序图可以表示递归过程,当一个操作调用它本身时,消息总是同步的。 在顺序图中可以描述如何创建和销毁对象,创建或销毁一个对象的消息一般是同步的。 顺序图中的消息可以有条件,并规定只有条件为真时才可以发送和接收消息,如果条件之间不互相排斥,则消息可能会并行发出。
61.不能在视图上定义AFTER型触发器
62.标量函数是返回单个数据值的函数。标量函数中不适用SET语句.
63.将数据文件和索引文件放置在同一磁盘上不能提高查询效率,这是因为同一磁盘读取数据没有在不同磁盘上并行读取数据快。
64.建立数据仓库的主要目的在于根据决策需求对企业的数据采取适当的手段进行集成,形成一个综合的、面向分析的数据环境,用于支持企业的信息性、决策性的分析应用。
65.如果要使某用户可以将授予他的权限再转授给其他用户,那么在授权语句中需要加上WITH GRANT OPTION 选项。
66.需求分析过程包括标识问题、建立需求模型、描述需求、确认需求。其中DFD和IDEF0可用于建立需求模型;而IDEF2用于系统模拟,建立动态模型。
67.在UML中,用例用椭圆形表示,用例位于系统边界的内部。
68.无共享结构被认为是支持并行数据库系统的最好并行结构,它通过最小化共享资源来降低资源竞争的概率,具有极高的可扩展性,并可在复杂数据库查询处理和联机事务处理过程中达到近线性的加速比,因此,无共享结构比较适合OLTP之类的应用。
69.XML数据库适合管理复杂数据结构的数据集,当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特性,因此XML数据库便于对层次化的数据进行操作。
70.聚类方法包括统计方法、机器学习方法、神经网络方法和面向数据库的方法等。在机器学习中,聚类称作无监督(或无教师)归纳。与分类相比,分类的例子或数据对象均有类别标记,而聚类的例子则没有标记,需要由聚类算法来自动确定。聚类的核心就是将一个数据集中的数据进行分组,使得每一组内的数据尽可能的相似而不同组见的数据尽可能不同。
71.在IDEF1X数据建模方法中,直角矩形框用于表示独立实体集,圆角矩形框用于表示从属实体集。
72.在分类预测任务中,需要用到的数据一般包括训练集、测试集和验证集。 73.SQL Server 2008数据库中主要数据文件大小最小不能小于3MB。 74.Guest是SQL Server中的一个特殊的数据库用户,在实际中经常作为数据库的匿名访问者使用。sa是系统定义的一个数据库登录账户。一个登录账户可以映射为多个数据库中的用户。当登录账户成为数据库中的合法用户之后,该账户除了具有一些系统视图的查询权限之外,并不对数据库中的用户数据和对象具有任何操作权限。 75.数据集成是将源自不同数据源的数据经过抽取、转换、清理、装载等操作载入数据仓库的过程,用户只有从数据源中抽取出所需数据,再经过数据清洗,并加载到按照先前所设计的数据仓库中以后,才能对数据仓库中的数据进行报表分析、多维分析和数据挖掘等,而并不是把企业里的所有数据集成到数据仓库中 76.创建用户定义函数: 标量函数: CREATE FUCNTION function_name(参数) RETURNS int AS BEGIN RETURN(返回值) END
代码语言:javascript复制 内联表值函数:
单语句表值函数:
CREATE FUNCTION function_name(参数)
RETURNS table
AS
BEGIN
RETURN(SELECT语句)
END
多语句表值函数:
CREATE FUNCTION function_name(参数)
RETURNS 表名 table()
AS
BEGIN
INSERT INTO 表名
SELECT 语句
RETURN
END
77.触发器的定义规则:触发器分为DML(数据操作语言),DDL(数据定义语言)和登录触发器(LOGON)。
代码语言:javascript复制创建触发器:CREATE TRIGGER trigger_name ON table_name FOR/AFTER/INSTEAD OF
AS
BEGIN
END;
触发器注意事项: 对于AFTER型触发器,同一种操作能建立多个触发器。
对于INSTEAD OF型触发器,在同一种操作上只能建立一个触发器。
触发器主体中不允许使用建立和更改数据库及数据库对象的语句。
IF UPDATE 来判断是否对指定字段有影响。
产生INSERTED和DELETED表,DELETED表中存储DELETE和UPDATE语句所影响的行的副本。
INSERTED表中存储INSERT和UPDATE语句所影响的行的副本。
78.事务内部的故障分为预期的事务内部故障和非预期的事务内部故障。预期的事务内部指的是事务程序本身发现的事务内部故障(校园卡余额出现不一致的情况,由于事务的一致性得不到保障)。而非预期的事务内部故障是不能由事务程序来处理的,比如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障。(看是否能通过事务程序去处理)
79.分布式数据库的三大特点:非集中式管理,高可用性,本地自治
80.数据仓库的特点:面向主题的、集成的、非易失的、随时间变化的。(面向主题性,集成性,不可更新性,时间特性)
81.在IDEF1X数据建模方法中,直角矩形框用于表示独立实体集,圆角矩形框用于表示从属实体集。 IDEF1X用矩形框来表示实体集,用加了圆形的矩形框来表示从属实体集。 联系:标定型联系(由双亲的联系确定,实线连接单点)、非标定型联系(无需了解双亲的实体集,虚线连接单点)、分类联系(月薪职工和计时职工,单点实线两杠)、非确定联系(多对多关系,两点实线)
82.账户只能连接到SQL Server数据库服务器上,但是不具有访问任何使用数据库的权限。让数据库账户成为数据库用户的操作成为“映射”。一个登陆账户可以映射多个数据库的用户。新建立的数据库只有一个用户:dbo。它是数据库的拥有者。其中,还有guest用户可以匿名访问数据库(不需要账户)。
83.XML(Extensible Markup Language):可扩展标识语言。 XML数据库的优势:
代码语言:javascript复制1.XML数据库能够对半结构化数据进行有效的存取和管理。
2.提供对标签和路径的操作。
3.便于对层次化的数据进行操作。
84.事务规范包括了事务名称、事务描述、事务所访问的数据项、事务用户
85.事务日志备份仅用于完整恢复模式和大容量日志恢复模式,它并不备份数据库本身,只备份日志记录,而且只备份从上次备份之后到当前备份时间发生变化的日志内容。但是不允许对大容量操作日志备份进行时点恢复。结尾日志备份在出现故障时进行,用于防止丢失数据,可以包含纯日志记录或者大容量操作日志记录。
86.聚集函数的并行化计算可以采取“先分后合”的方法。
87.位置独立性、数据分片独立性和数据复制独立性是使分布式数据库具有分布式透明性的主要因素。
88.两阶段的提交协议将场地的事务管理器分为协调者和参与者,通过协调者在第一阶段询问所有参与者事务是否可以提交,参与者做出应答,在第二阶段协调者根据参与者的回答决定事务是否提交。
89.在制定备份策略时,除考虑使用备份恢复时丢失的数据量外,还需考虑数据库备份所需的时间。检查点技术大幅度减少了数据库完全恢复时所必须执行的日志部分。静态转储虽然保证了数据的有效性,但是却是以降低数据库的可用性为代价;动态转储虽然提高了数据库的可用性,但数据的有效性却可能得不到保障。差量转储和增量转储相比,速度慢,占用空间较多,但恢复速度比增量转储快。
90.SQL Server支持两种备份方式,一种是先建立备份设备,然后再将数据库备份到备份设备上,这样的备份设备称为永久备份设备;另一种是直接将数据库备份到物理文件上,这样的备份设备称为临时备份设备。创建备份设备的T-SQL存储过程为sp_addumpdevice
91.快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。它反映的是某个时间点内的数据,该数据具有不可以改变性。而商场商品销售表、电信公司通话详单属于动态数据,不适合用快照的方式获取数据。
92.在UML的状态机图中,状态之间的转移是由事件驱动的。
93.日志备份知识点:
代码语言:javascript复制备份内容:用户数据和系统数据。
备份时间:系统数据库一定要在修改之后立即做备份。
对用户数据库采取周期性的备份方法。
需要立刻对用户数据库进行备份的情况:
创建数据库或者在数据库中批量加载数据之后。
创建索引之后。
执行了清理事务日志的操作之后。
执行了大容量数据操作之后。
备份方式:永久备份设备:先建立备份,然后再将数据库备份到备份设备上。
临时备份设备:直接将数据库备份到物理文件上。
创建备份设备的SQL语句为:sp_addumpdevice
备份类型:数据库备份:
完整数据库备份:备份特定数据库中的所有数据以及可以恢复这些数据的足够日志。(备份并不影响用户的操作,还能把备份过程中所发生的操作也全都备份下来)
差异数据库:备份从最近的完整备份后数据库的全部变化内容。占用的空间小,执行速度快
文件备份:可以只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。
文件备份:一个或多个文件或文件组。
差异文件备份
事务日志备份:可以将数据库恢复到故障点或特定的某个时间点。事务日志使用的资源少。
事务日志的三种类型:纯日志备份(仅包含一定量的事务日志备份),大容量操作日志备份(包含日志记录和大容量操作更改的数据页的备份,不允许对大容量操作日志备份进行时点恢复),结尾日志备份。
常用的备份策略: 设计有效的备份策略需要仔细规划、实现和测试。其中测试是必须的环节。
完整数据库备份。
完整数据库备份加日志备份。
完整数据库备份加差异备份再加日志备份。
94.客户服务器架构(C/S):客户端负责用户界面和应用业务规则。数据库服务器负责事务逻辑,数据存储,数据存取。胖客户端 浏览器服务器架构(B/S):浏览器负责显示逻辑,Web应用服务器负责应用业务规则,数据库服务器负责事务逻辑,数据存储,数据存取。瘦客户端
95.检查点: 事务在故障发生时未完成,也就是未提交,应该予以撤销; 如果事务在检查点之后才提交,它们对数据库所做的修改在故障发生时仍在缓冲区,尚未写入数据库,所以要REDO操作; 如果事务在检查点之前已经提交,所以不必执行REDO操作。
96.为了避免活锁,采用先来先服务的策略处理事务。
97.元数据主要分为技术元数据和业务元数据两类.
98.数据库镜像分为高可用操作模式、高保护操作模式和高性能操作模式。
99.数据处理需求分析结果也可以表示为事务规范。事务规范包括事务名称、事务描述、事务所访问的数据项、事务用户
100.tempdb是临时数据库,用于保存临时对象或中间结果集,并为数据的排序等操作提供一个临时工作空间。每次启动SQL Server时都会重新创建tempdb数据库。tempdb用于存放临时信息,用户创建的局部和全局临时表均被自动放置在该数据库中。
100.SQL Server 2008支持数据库、数据文件两个级别的数据恢复。
101.数据库完整性约束条件的作用对象分为列、元组和关系三种级别。元组对应于行,关系对应于表。
102.SELECT基本语法格式是
代码语言:javascript复制SELECT 查询内容
FROM 表名
WHERE 条件表达式
GROUP BY 待分组的列名
HAVING 列名
ORDER BY 待排序的列名。
103.在数据仓库的导出数据或物化视图(实视图)的维护策略中,只在用户查询时发现数据已经过期才进行更新的策略称为延时维护策略. 维护策略包括:实时维护,延时维护和快照维护。
104.在调用存储过程时,只需要声明参数的类型,不能指明参数为输出参数。只有再执行时才能指明参数为输出参数。
105.分离数据库时需要停用被分离的数据库,但是不需要停用SQL Server服务
106.Oracle的安全控制机制可分为数据库级的安全控制、表级、行级和列级的安全控制。数据库级的安全性通过用户身份认证和授予用户相应系统权限来保证,而表级、行级、列级的安全性是通过授予或回收对象特权保证的。Oracle数据库中的用户按其操作权限大小可分DBA用户和普通用户
107.数据库运行维护工作主要包括数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。其中新建数据库用户属于数据库的安全性和完整性控制的一项功能。
108.数据库系统运行需要依赖服务器、操作系统、存储、网络等多种因素。单纯地增加数据库CPU数量并不一定会提高数据库查询速度。RAID1提高了读速度,加强了系统的可靠性,但是磁盘的利用率低,冗余度高,写的速度并未提高。数据库管理员进行优化时需要对数据库系统有深入了解,对业务系统也要深入了解。
109.分离和附加数据库:
代码语言:javascript复制分离数据库会将数据库从SQL Server实例中删除,但不删除数据库的数据文件和日志文件。分离数据库的目的是让数据库文件和日志不受数据库系统的管理,而是复制到另一台计算机上或同一台计算机的其它地方。sp_detach_db
附加数据库就是讲分离的数据库重新附加到数据库管理系统中,可以附加到一个实例上,也可以附加到另一台数据库服务器上。
110.系统设计细分为概念设计、逻辑设计、物理设计3个步骤。事务详细编码设计采用高级程序语言设计或DBMS提供的事务实现机制,涵盖于系统设计的物理设计模块。
111.角色是与系统进行交互的外部实体,可以是系统用户也可以是其他系统或者硬件设备。
112.完整数据库备份(也称为完全存储)将备份特定数据库中的所有数据,以及可以恢复这些数据的足够日志。完整数据库备份是所有备份方法中最基本也是最重要的备份,是备份的基础。完整数据库备份备份了数据库中的全部信息,是恢复的基线。由于数据库备份是一个在线的操作,一个大的完整数据库备份可能需要一个小时甚至更长的时间,数据库在这段时间里还会发生变化,所以完整数据库备份还要对部分事务日志进行备份,以便能够恢复数据库到一个事务一致的状态。在利用“完整数据库备份 日志备份”时,需要有序并逐个还原所有日志备份。如果有差异备份,则“完整数据库备份 差异备份 日志备份”比“完整数据库备份 日志备份”还原起来方便快捷,节省时间成本。仅有差异备份是无法恢复数据库数据的
113.层次结构综合了共享内存、共享磁盘和无共享结构的特点。
114.RANK():返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。
DENSE_RANK():返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。如果有两个或多个行受同一个分区中排名的约束,则每个约束行将接收相同的排名。
ROW_NUMBER():返回结果集分区内行的序列号,每个分区的第一行从开始。ORDER BY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序。
NTILE():将有序分区中的行分发到指定数目的组中。各个组有编号,编号从一开始。对于每一个行,NTILE 将返回此行所属的组的编号。
115.操作可行性研究是论证是否具备DBAS开发所需的各类人员资源(项目管理人员、数据库系统分析员、应用编程人员等)、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。
116.①确定数据的存储结构;②设计数据的存取路径;③确定数据的存放位置;④确定系统配置。
117.用例模型描述的是外部执行者(Actor)所理解的系统功能,它是从系统外部看系统功能,并不描述系统内部对功能的具体实现。
118.设计良好的备份策略,除了要考虑特定业务要求外,同时还应尽量提高数据的可用性并尽量减少数据的丢失。备份策略的制定包括定义备份的类型和频率、备份所需硬件的特性和速度、备份的测试方法以及备份媒体的存储位置和方法。一般应将数据库和备份放置在不同的设备上,因此备份策略应考虑备份的存放位置和存放设备。
119.BigTable表的索引是行关键字、列关键字和时间戳,每个单元由行关键字、列关键字和时间戳共同定位。BigTable数据模型的特点是:①表中的关键字可以是任意的字符串;②列族是由列关键字组成的集合,是访问控制的基本单位;③时间戳记录了BigTable是每一个数据项所包含的不同版本的数据的时间标识。在BigTable中,不仅可以随意地增减行的数量,在一定的约束条件下,还可以对列的数量进行扩展。
图表类型 | 功能描述 |
---|---|
活动图 | 主要描述系统、用例和程序模块中逻辑流程的先后执行次序,并行次序 |
用例图 | 用例模型是把满足用户需求的所有功能表示出来的工具。用例模型描述的是外部执行者(Actor)所理解的系统功能,它是从系统外部看系统功能,并不描述系统内部对功能的具体实现。 |
类图(静态结构) | 类图展现了一组类、结构和协作以及它们之间的关系;关联(共享聚集:空心菱形,组合:实心菱形),通用化继承:空心三角形实线,依赖:,精化:空心三角形虚线 |
顺序图(动态结构) | 说明对象的协作如何达到系统的目标 |
通信图(动态结构) | 显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接 |
对象图 | 对象图是某一个特定时间点上,系统所存在的所有对象的一个快照 |
状态机图 | 状态图主要目的在于陈述系统中有关事件或对象的状态转移 |
时间图 | 主要利用时间轴的推移让时间因子呈现一个可视化的效果 |
包图 | 表达系统中不同的包、命名空间或不同的项目间彼此的关系。 |
交互概述图 | 利用活动图作为基础,在其控制流间连接的是交互图 |
复合结构图 | 需要进行系统整合的情况,绘制出要开发的系统与外部系统间的关系 |
组件图 | 用来表示系统的静态实现视图,展现组件之间的组织依赖,用于系统建模 |
部署图 | 描述系统中硬件与软件的物理配置情况和系统体系结构 |
121.支持度和置信度(经常考选择题):
代码语言:javascript复制支持度:数据库D中有S%包含X->Y.
置信度:数据库D中包含X的所有元组中有C%包含X->Y.
122.事务等待图动态地反映了所有事务的等待情况,并发控制子系统周期性地生成事务等待图进行检测,而不是在执行每个事务的时候进行检测。
123.简单恢复模式只用于测试和开发数据库,或用于主要包含只读数据的数据库,如数据仓库。
124.数据库用户可分为系统管理员、普通用户和对象拥有者。
125.数据处理需求分析结果可以表示为事务规范。
126.oracle数据库用户按其操作权限大小可分为DBA用户和普通用户。
127.数据模型由数据结构,数据操作和完整性约束三部分构成。
129.datediff():用来计算两个日期之差。
130.两级加锁协议可以保证可串行性。
131.在分布式数据库中,采用半连接操作可以减少场地间的·数据传输量。
132.索引结构:索引列列值和对应的指针构成。
133.标量函数,内嵌表值函数,多语句表值函数
134.手动监控机制和自动监控机制。
135.数据转换,对数据粒度不一致的数据进行转换。
136.运用ETL工具通常要完成的处理操作是:抽取,转换和装载。
137.建立物化视图和聚集属于存储优化方法。
考后总结
最后写一下本人对于计算机三级数据库考试的一些看法。相信大家报考计算机三级一是为了拿到证书,二是为了能够拓宽知识面。三级考试是知识点式的考核模式,因此只要肯拿出时间,数据库小白也可以考高分。但是,会考试不一定代表会应用,数据库作为当今应用最广泛的数据存储,处理架构,它是经过无数代数据库工程师一步一步优化后才形成现在成熟的体系,这不可能是3~4周备考的时间就能够掌握的。作为一个参加过这门考试的人,我不建议大家花一个月的时间成本去考取证书,如果有时间,可以尽量寻找一些包含数据库应用的项目,在应用中不断进步才是当代的新青年,工程师应该走的学习之路。 如果大家已经报名,那么就按着博客的复习方式,用大概一个月的时间去准备它吧!毕竟这也是证明自己的一种方式。加油!在学习中不断成长。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151756.html原文链接:https://javaforall.cn