Database之SQLSever:SQLSever数据库管理人员国家职业资格证书中级、高级考试知识点总结

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: Database之SQLSever:SQLSever数据库管理人员国家职业资格证书中级、高级考试知识点总结

SQLSever数据库管理人员中级、高级考试知识点总结


基础概念


        SQL语言具有数据定义语句、数据操纵语句、数据控制语句的功能。交互式SQL、嵌入式SQL两种使用方式。其中between and表示包括两边参数。


数据操作语言DML:增删改查

数据控制语言DCL:

数据模型的三要素:数据结构、数据操作、数据的约束条件。数据模型是现实世界数据特征的抽象。

数据库用户与服务器角色、数据库角色的关系:如果数据库用户User1是固定服务器角色sysadmin(若db_owner)的成员,并创建表T1,则T1属于dbo,并dbo.T1(则User1.T1)进行限定;

触发器:触发器的特点与表相关联、自动激活、不能直接调用和作为事务的一部分;触发器不需要人工激活而是自动激活;

数据库中的封锁机制:数据库中的封锁机制是并发控制的主要方法;对并发操作若不加以控制,可能会带来数据的死锁问题;数据库防止死锁的方法是禁止两个用户同时操作数据库;预防死锁通常有一次封锁法和顺序封锁法;死锁的诊断和解除方法是超时法和等待图法。

安全级别:B1级强制存取控制(MAC);C1级是非常初级的自主存取,C2是安全产品的最低档次(DAC),

数据库安全性控制常用的方法和技术:实现数据库安全性控制常用的方法和技术有用户标识和鉴别、存取控制、视图机制、审计、数据加密,还有授权与回收。

流式文件:构成文件的基本单位是字符,这一类文件称为流式文件。文件系统的多级目录结构是树形结构。


数据库的完整性和实体完整性:数据库的完整性是指数据的正确性和相容性;实体完整性要求主属性不能取空值,可以通过定阿义主码保证;实体完整性和参照完整性属于静态关系约束;


DBMS:数据库的核心是数据库管理系统DBMS(DB+User);从模块来看,DBMS由查询处理器和存储管理器两大部分组成;对数据库经常性维护工作DBA;RDBMS查询处理的4个阶段查询分析、查询检查、查询优化(包括代数优化、物理优化)、查询执行。为了提高效率,关系数据库必须进行查询优化处理。


(1)、基于DBMS的数据库完整性设计大体分为需求分析阶段、概念结构设计阶段(最常用的数据模型是实体联系模型ER图、椭圆代表属性类型)、逻辑结构设计阶段(如将ER图转为关系模式模型、选择某种索引方法等)。

(2)、事务是DBMS进行的基本工作单位;事务的原子性指事务中包括所有的操作要么都做、要么都不做。事务日志的用途是数据恢复。

数据库系统的数据独立性:指物理独立性、逻辑独立性。数据库系统达到了数据独立性是因为采用了三级模式结构。在数据库三级模式间引入二级映像的主要作用是提高数据与程序的独立性。


常考知识点


注册一个SQLServer数据库服务时,需要指定其各方面的属性包括所要连接的数据库服务器名称、网络协议。

索引是为了加速对数据表中数据行的检索而创建的一种分散的存储结构。在select语句中使用group by 字句(或外键约束)时,SQLServer不会自动创建索引;但是创建unique约束(或主键约束)时,SQLServer会自动创建索引。

安全控制技术的审计,分为用户级审计和系统级审计。

数据加密的方法有替换方法和置换方法。

数据库中只存放视图的定义。

数据库镜像可用于进行数据库恢复或并发操作。镜像既能提高安全性也能提高速度。

数据库镜像需要两个数据库,主体数据库、镜像数据库,两个数据库驻留在不同的服务器上,可同时进行不同的事务处理。

%取余,/取商



数据库的三种模型


1、网状模型数据库




      用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。 可以存在两个或者多个节点(即一个以上的结点)没有父节点、允许单个节点存在多于一个父节点;



2、层次模型数据库




      数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。



3、关系模型数据库




      网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。关系数据库理论出现于60年代末到70年代初。关系数据模型提供了关系操作的特点和功能要求,但不对DBMS的语言给出具体的语法要求。对关系数据库的操作是高度非过程化的,用户不需要指出特殊的存取路径,路径的选择由DBMS的优化机制来完成。        1970年,IBM的研究员E.F.Codd博士发表《大型共享数据银行的关系模型》一文提出了关系模型的概念,论述了范式理论和衡量关系系统的12条标准,如定义了某些关系代数运算,研究了数据的函数相关,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,他为此获得了1981年的图灵奖。


(1)、同一个关系模型的任意两个元祖值不能全同。

(2)、关系模型中的候选码,若关系中的某一属性组的值能唯一标识一个元组,则称该属性组为候选码。外码不一定要与相应的主码同名。

(3)、关系模型数据库管理系统能实现的专门的关系运算包括选择、投影、连接。

(4)、关系是关系模型的一个实例。

(5)、关系模型的参照完整性规则,要求关系中不允许引用不存在的元祖,即元祖非空。

(6)、关系数据库规范化理论主要解决是如何构造处一个合适的数据逻辑结构。

(7)、关系数据库设计中的陷阱是指信息重复和不能表示特定的信息。

(8)、关系演算是用谓词来表达查询要求的方式。


传统的集合运算、专门的关系运算


传统的集合运算

传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算,其中笛卡儿积用时最长。

专门的关系运算

专门的关系运算(Specific relation operations),包括选择、投影、连接、除等。

σF(R) = {t|t∈R ∧ F(t)='真'}

ΠA(R) = { t[A] | t∈R }

R— (R—S)

R÷S={t_r [X]|t_r∈R?π_r (S)?Y_x}



在数据库三级模式


模式:在数据库三级模式(所以数据独立性)结构中,对数据库中全部的数据逻辑结构、特征进行描述。

内模式:最接近于物理存储设备一级的结构,是对数据库物理存储方式的描述。

外模式:模式的逻辑子集通常称为外模式。对数据库不同用户能够看得见和使用的局部数据的逻辑结构和特征的描述。

(1)、要保证数据库的数据逻辑独立性:需要修改模式与外模式的映射。


数据依赖


        指在程序引用数据之前处理过的数据的状态;在编译学中,数据依赖是数据分析的一部分;数据依赖有三种即流依赖、反依赖、输出依赖。


在关系模式R中,函数依赖X→Y的语义是在R的每一个关系中,若两个元祖的X值相等,则Y值也相等。

多值依赖毛病在于插入异常、删除异常、数据冗余太大。


数据库范式1NF、2NF、3NF、BCNF、4NF、5NF


数据库范式分为1NF2NF3NFBCNF4NF5NF,因为从1NF开始向右条件是要消除函数,故第一个最内容最大。

1、模式分解的算法包括合成法(3NF,保持函数依赖)、分解法(BCNF无损;4NF无损)、


范式NF:“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”,实际上粗略地理解为一张数据表的表结构所符合的某种设计标准的级别,但数据的规范化不会提高数据库的安全性。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等。符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。

1NF:所有的属性均有原子性 ;符合1NF的关系中的每个属性都不可再分。 1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS),例如SQL Server,Oracle,MySQL中创建数据表的时候,如果数据表的设计不符合这个最基本的要求,那么操作一定是不能成功的。也就是说,只要在RDBMS中已经存在的数据表,一定是符合1NF的。 但是仅仅符合1NF的设计,仍然会存在数据冗余过大,插入异常,删除异常,修改异常的问题

2NF:合更高一级的范式(2NF),这就是所谓的“规范化”。满足1NF的前提上,如果依赖于主键,则需要依赖于所有主键,不能存在依赖部分主键的情况 。1NF→2NF,,消除了非主属性对于码的部分函数依赖。根据2NF的定义,判断的依据实际上就是看数据表中是否存在非主属性对于码的部分函数依赖。若存在,则数据表最高只符合1NF的要求,若不存在,则符合2NF的要求。

3NF:满足2NF,非主键外的所有字段必须互不依赖,非键属性不能依赖于非键属性。2NF→3NF,消除了非主属性对于码的传递函数依赖。某些特殊情况下,即使关系模式符合 3NF 的要求,仍然存在着插入异常,修改异常与删除异常的问题,仍然不是 ”好“ 的设计。

(1)、当关系模式R中的属性全部是主属性,则R的最高范式必定是3NF。

(2)、若函数依赖集中所有候选关键字都是决定因素,则R的最高范式是4NF。

BCNF范式: 所有属性(包括非键属性与键鼠性)不能依赖于非键属性。3NF→BCNF,部分函数依赖与传递函数依赖。在函数依赖中,已消除了插入和删除异常。

4NF:删除了不必要的数据结构:多值依赖。要求分解具有无损连接性,可以达到4NF。




多种数据库恢复模式:简单恢复、批日志恢复、完全恢复


SQL Server2005支持多种数据库恢复模式,如简单恢复、批日志恢复、完全恢复,不包含增量恢复。


简单恢复:数据恢复性能最好的模式。仅使用数据库备份将数据恢复到上一次备份的时刻模式;仅使用了数据库备份或差异备份,而不涉及事物日志备份的模式。

批日志恢复:批量日志恢复模式类似完整恢复模式,都预期会有大批量的数据修改操作(例如,创建索引,SELECT INTO,INSERT SELECT,BCP,BULKINSERT),在这种情况下可以最小化日志记录量。

完全恢复:通过使用数据库备份和事物日志备份将数据恢复到发生失败的时刻,从而不造成数据丢失的模式。



启动SQLServer数据库服务时,可设定一些启动选项


参考文章:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms190737(v=sql.105)?redirectedfrom=MSDN


-n       记忆no

不要使用 Windows 应用程序日志来记录 SQL Server 事件。如果使用 -n 启动 SQL Server 实例,则建议您同时使用 -e 启动选项。否则,将不会记录 SQL Server 事件。

-c       记忆命令command

缩短从命令提示符启动 SQL Server 时的启动时间。通常,SQL Server 数据库引擎通过调用服务控制管理器作为服务启动。由于从命令提示符启动时,SQL Server 数据库引擎不作为服务启动,因此请使用 -c 跳过此步骤。

-m       记忆Single user mode

在单用户模式下启动 SQL Server 实例。在单用户模式下启动 SQL Server 实例时,只能连接一个用户,并且不启动 CHECKPOINT 进程。CHECKPOINT 保证将已完成的事务定期从磁盘缓存写入数据库设备。

-s       记忆Naming instance

用于启动 SQL Server 的命名实例。如果 -s 参数未设置,则将尝试启动默认实例。必须在命令提示符下切换到实例相应的 BINN 目录,然后才能启动 sqlservr.exe

-e       记忆error

error_log_path,错误日志文件的完全限定路径

-I        记忆maser主人即我I

master_log_path,master 数据库日志文件的完全限定路径


bcp 实用工具


      bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数据文件。


bcp用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件

 [-m 最大错误数]             [-f 格式化文件]         [-e 错误文件]

 [-F 首行]                   [-L 末行]             [-b 批大小]

 [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]

 [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]

 [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]

 [-i 输入文件]               [-o 输出文件]         [-a 数据包大小]

 [-S 服务器名称]             [-U 用户名]           [-P 密码]

 [-T 可信连接]               [-v 版本]             [-R 允许使用区域设置]

 [-k 保留空值]               [-E 保留标识值]

 [-h"加载提示"]              [-x 生成xml 格式化文件]




相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
7月前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
468 3
|
2月前
|
NoSQL 关系型数据库 MySQL
AWS Database Migration Service 助力数据库搬迁
AWS Database Migration Service 助力数据库搬迁
|
7月前
|
SQL 存储 Java
Java数据库编程知识点总结
【4月更文挑战第6天】Java数据库编程涉及使用JDBC API与关系型数据库交互。关键知识点包括:JDBC作为标准API用于数据库访问;加载驱动并用DriverManager建立数据库连接;掌握SQL语句的编写与执行;使用PreparedStatement和CallableStatement执行预编译SQL及存储过程;ResultSet处理查询结果;理解事务管理确保数据一致性;批处理优化多SQL执行;连接池提升性能稳定性;以及异常处理如SQLException和ClassNotFoundException的捕获。
52 6
|
4月前
|
存储 架构师 关系型数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证的考试形式和内容是啥样的
阿里云数据库 ACP 问题之阿里云数据库ACP认证的考试形式和内容是啥样的
|
4月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的考试管理系统(含教程&源码&数据库数据)
在数字化时代背景下,本文详细介绍了如何使用Spring Boot框架结合Vue.js技术栈,实现一个前后端分离的考试管理系统。该系统旨在提升考试管理效率,优化用户体验,确保数据安全及可维护性。技术选型包括:Spring Boot 2.0、Vue.js 2.0、Node.js 12.14.0、MySQL 8.0、Element-UI等。系统功能涵盖登录注册、学员考试(包括查看试卷、答题、成绩查询等)、管理员功能(题库管理、试题管理、试卷管理、系统设置等)。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的考试管理系统(含教程&源码&数据库数据)
|
5月前
|
SQL 关系型数据库 MySQL
云服务器 ECS产品使用问题之出现“1044 - Access denied for user ‘root‘@‘%‘ to database ‘数据库名称‘”这样的错误,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
5月前
|
数据库
数据库bug-[08001] Could not create connection to database server. Attempted reconnect 3,主机名ip必须写对
数据库bug-[08001] Could not create connection to database server. Attempted reconnect 3,主机名ip必须写对
|
6月前
|
Web App开发 Ubuntu 安全
Linux中的certutil命令:处理证书与证书数据库的实用工具
`certutil`是Linux下的命令行工具,用于处理X.509证书和证书数据库,常与NSS库配合,服务于Firefox等应用。安装`certutil`可通过`apt-get install libnss3-tools`(Debian/Ubuntu)或`yum/dnf install nss-tools`(RHEL/Fedora/CentOS)。基本操作包括:使用`-L`列出证书数据库中的证书,`-A`添加证书,`-D`删除证书,`-x`导出证书。此外,还能用`-M`修改信任设置,`-C`列出证书链,`-V`验证证书链的有效性。了解这些功能有助于高效管理证书。
|
6月前
|
SQL 数据库
sql数据库练习题(涵盖大部分知识点)
sql数据库练习题(涵盖大部分知识点)
|
6月前
|
存储 关系型数据库 MySQL
mysql数据库练习题(涵盖几乎所有知识点)
mysql数据库练习题(涵盖几乎所有知识点)