三级数据库复习笔记

前言:这是我今年复习三级时自己做的笔记。为了加深记忆,基本上是纯手打。但是到最后几天的时候因为时间紧迫就主要是开始刷题而忘记了做笔记。所以内容不全,但是又懒得补了。。还有几个漏了的。。但是现在是真的不想再碰数据库了。。刷题刷的恶心。。

1.数据库三级模式:外模式、概念模式、内模式,提高数据库的逻辑独立性和物理逻辑性
分别对应用户级、概念级、物理级。这三级又分别对应用户或应用程序员,面向建立和维护数据库人员,面向系统程序员

外模式又称子模式或用户模式,概念模式又称逻辑模式,内模式又称存储模式
分布式数据库中用户模式是概念模式的一个子集

数据模式描述语言:DDL

二级映像:外模式-模式映像;提供逻辑独立性
  模式-内模式映像;提供数据独立性

2.B/S结构:浏览器/服务器模式,基于c/s结构(客户端/浏览器结构)

3.按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:

⑴需求分析:分析用户的需求,包括数据、功能和性能需求;
⑵概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
⑶逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;
⑷数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
⑸数据库的实施:包括编程、测试和试运行;会将用户原有数据按照新的数据结构导入到新系统中。
⑹数据库运行与维护:系统的运行与数据库的日常维护。

4.表示属性的值不能为重复且不能为空。
一个属性的值必须属于唯一的域,属性一般用名词或名词短语命名

*5.要求组合的属性值不能有重复值可以使用unique(地址1,地址2)

*6.create index;

*7.check约束和触发器可以实现用户定义的完整性。如要求表中销售价格调整为进价的1.1倍
check约束的用法:

8.
索引分为两大类:有序索引和散列索引

9.数据备份:完整数据库备份,差异数据库备份,文件备份,差异文件备份,在以上被封方法中,在备份完成之后必须再对日志进行备份的是文件备份(差异文件备份);

10.系统故障不是介质故障,人为破坏也不是系统故障,系统故障是指系统被攻击,强行关机,断电等。

11.分布式数据库:分布式数据库站点通信的代价是节点分片间传出代价。分布式数据库中主要透明性是分片透明性,分布式数据库与分布式计算机不同。不共同处理数据。但并行数据库共同处理数据
数据分片类型:
1.水平分片,2.垂直分片,3.导出分片,4.混合分片
数据分配方式
1.集中式,2.分割式,3.全复制式,4.混合式(混合分割式和全复制式)
分布式数据库中数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先进性数据分片,在进行数据分配。
数据水平分片以便重构关系,数据库垂直分片以便通过连接方法恢复关系

分布式数据库的主要目的是实现场地自治和数据全局透明共享。
分布透明性:分片透明性、位置透明性、局部映像透明性
分片头民刑是最高级别的透明性,位于全局概念模式与分片模式之间。局部数据模型透明性位于分配模式与局部概念模式之间。
分布式数据库系统由局部数据库管理系统、全局数据库管理系统GDBMS、全局数据字典、通信管理四部分组成。

*12.并行数据库
并行数据库系统的目标是高性能(High Performance)和高可用性(High Availability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。
并型数据库服务器服务器分为两种结构;完全共享资源结构、完全不共享资源结构;顶层是无共享结构,底层是共享内存或共享磁盘结构。
具有很高的课扩展性,适合于oltp应用。通过提高负载均衡的方法来提高数据库系统的业务吞吐率。

13.数据库备份方法:
1完整数据库备份(整个复制),2.差异数据库备份(增量备份),3.文件备份,4.差异文件备份。

14.候选码是唯一能决定一个元祖的属性组,一个关系中可以有多个属性组,候选码简称为码,选定其中一个码作为主码

=======================第二套========================
1.存储管理器负责检查用户是否具有数据访问权限,以实物方式管理用户对数据的访问,以确保数据库并发访问的正确性。查询管理器会为编译好的查询语句生成执行计划,并根据执行计划访问相关数据。

2.几种整形的存储范围,1.tinyint:0-255,2.smallint:-32761到32761;3.mediumint:从-8388608到8388608,4.int:-214783648到214783648,5.bigint:最大范围,正负922293782584856646

3.SQLSERVER系统数据库分为master(系统信息)、model(创建数据库的模板)、msdb(sql的实例信息存储在代理服务数据库)\tempdb(临时数据库)

4.声明主键:方法一:工作编号 int primary key,
    方法二:工作编号 int primary key(工作编号),

5.check的使用:只约束一列的话可以放在那列后,
但如果<b>约束条件<b>中涉及两列或更多,则为对整个数据表的约束,放在表的最后面;

6.对master\model\msdb实行修改后立即备份,对用户数据库周期性备份,对tempdb不备份

7.db_writer只有写权限,包括插入更改删除,但是不能查看,查看是读权限。

8.锁是一种特殊的二元信号量,用来控制多个并发事务对共享资源的使用。
  数据库管理系统采用先来先服务的方式防止出现活锁现象,检测到死锁后,采用撤销死锁事务的方式解除死锁。

9.主索引、辅索引、位图索引

10.数据库还原备份
backup database MyDatabase to disk=’D:\MyDatabase.bak’ –备份
restore database MyDatabase from disk=’D:\MyDatabase.bak’ –还原
在还原非最后一个日志时,都必须加上norecovery来使数据库处于恢复状态,禁止对数据库的访问,避免产生新的数据导致之后不能继续还原,不过在还原最后一个日志文件时不能加这个。

11.对master数据库进行备份只能完整备份,而不能进行其他备份

12.结构图包括用例图、类图、组件图、对象图和部署图
uml中,用于表达一系列的对象、对象之间的联系以及对详见发送和接收消息的图是通信图(协作图)
部署图又叫配置图,描述系统中软件和硬件的物理配置情况和系统体系结构

13.常用的信息系统需求分析建模方法有DFD、IDEFO、UML三种
DFD建模方法的核心是数据流,也称为过程建模和功能建模方法
Idefo是结构化方法的典型代表,DFD也是结构化,uml结构化、动态、图形化,面向对象

**************************应用题**************************

14.数据库管理系统提供了数据定义语言(DDL),用于定义各种数据对象。数据定义语言经DDL编译器变异后,各种对象的描述信息存放在数据库的数据字典中。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。

15.数据模型通常由数据结构、数据操作和完整性约束三部分构成。(数据模型三要素)

16.数据库的选择、投影、连接、除运算;
选择:从表中选出某些行
投影:从表中选出某些列
连接:
连接分为内连接 select a.*,b.* from a inner join b on a.id=b.pid、外连接(左外、右外、完整外连接)
内连接:内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行,不匹配的则不显示
左外连接:Left join 或者left outer join,select a.*,b* from a left (outer) jin b on a.id=b.pid;
右外连接:和左外连接类似
完整外连接:full join或full outer join,返回左表和右表的所有行。selecct a.*,b.* from a full join on a.od=b.pid;


17.完整性约束包括实体完整性、参照完整性、用户自定义完整性

18.取前n行元祖使用top n (with ties-也显示和最后一行并列的行);一般与order by 结合使用;(asc/desc)

19.unique约束允许出现空值但不允许出现重复值

20.在数据库中(SQL SERVER2008,不知道其他的是不是)中,数据存储和读取以数据页为单位,每个数据页为8kb(8060字节),128页为1mb;每页开头是96字节的表头。假设有10000行记录,每行记录占用4031字节,那么一页就存储不下两行,所以一页只能存储一行,所以存储10000个数据页,每个数据页为8kb,因此总数据量为80000kb,也就是约为8mb空间,空间利用率为4031字节*10000行=4Mb,所以空间利用率大约为50%;

21.在SQL SERVER2008中,Exec sp_addSRVROLemember是赋予登录账户权限之意,在后面更上角色如dbcreator(创建、修改、删除和还原数据库),sysadmin(在SQL中进行任何活动),具有最高权限。

22.数据库管理系统一般通过周期性检查事务等待图来实现死锁检测;

23.并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读”脏”数据,产生上述三类数据的不一致性主要原因就是并发操作破坏了事务的隔离性。

25.封锁协议
三级封锁协议

26.事务
1.事物的定义
2.事物的4个特性(ACID)原子性、一致性、隔离性、持续性
3.事物的执行:Begin transactiion,commit,rollback;
27.数据库恢复

故障种类:1.事务内部的故障(需要日志文件),2.系统故障(需要日志),3.介质故障、4.计算机病毒
系统故障:断电重启、除磁盘外的硬件故障、操作系统故障、DBMS代码错误

恢复技术:1.数据转储(backup,后备副本、后援副本) 2.登记日志文件

数据转储分为1.静态转储(无运行事务时整个备份,可以建立日志文件,当数据库毁坏后可以载入后备副本,然后用日志文件来恢复数据库,也可以不建立,只不过就只能恢复到转储时的状态),2.动态转储(转储时仍然可以运行事务,导致转储完成的数据可能过时,所以必须要建立日志文件,记录转储期间的事务,然后用日志事件更新数据库到正确一致性状态)。在转储的分类下,又分为海量转储,增量转储,因此数据转储方法可以分为动态海量转储、动态增量转储、静态海量转储、静态增量转储。海量转储是指每次转储全部数据库,增量转储是指每次之转出上一次更新过的数据。海量转储得到的数据库称为后备副本。

登记日志文件的原则:1.登记次序严格按照时间顺序
    2.必须先写日志,后写数据库
事务故障恢复和系统故障恢复必须用日志文件。在动态转储中必须建立日志文件

恢复策略
1.事务故障的恢复:系统自动完成(RollBack),系统反向扫描日志文件,并撤销之前的执行,直到遇到事务开始标志结束,是针对当前的单个事务的事务恢复;
2.系统故障的恢复:系统自动完成,从头开始读取日志,先处理未完成事务队列(撤销,反向扫描),再处理已完成事务队列(正向扫描)。
3.介质故障的恢复:先载入最近的后备副本,如果是动态转储的,则需要转储开始时的日志,然后用恢复系统故障的恢复到一致性状态,静态则不需要。然后再载入转储完成时的日志,正向扫描,重做所有已完成的事务。
具有检查点的恢复技术
1.检查点之前完成的事务不处理
2.检查点后且在故障前完成的事务进行重做,因为可能还未写入数据就故障了
3.故障点后还未完成的事务进行undo

28.数据仓库是一个面向主题的、集成的、非易失的、且随时间变化的数据集合;

29.uml类图,虚线空心三角表示接口,实现空心三角表示继承

30.sql中case、when语句,如果是简单赋值则
case sex
when ‘1’ then ‘男’
when ‘2’ then ‘女’
else ‘其他’
END
   如果是条件复杂或包含判断式等,则
case
when grade beween 900 and 100 then ‘优’
when grade between 80 and 89 then ‘良’
else ‘不及格’
end

 update  employee
    set         e_wage =
    case
    when   job_level = ‘1’    then e_wage*1.97
    when   job_level = ‘2’   then e_wage*1.07
    when   job_level = ‘3’   then e_wage*1.06
    else     e_wage*1.05
    end

31.sql自定义函数
create function dbo.myfunc(@sno char(10))
returns int as
begin
return (select)
end

32.sql架构:架构是一些数据库对象的集合,相当于数据库对象的容器,一个用户只能拥有(对应)1个架构,但1个架构可以被多个用户共享。

33.sql servr agent是一个任务规划器和警报管理器,帮助任务自动运行(SQL SEVER 代理(mssqlserver))

34.数据库文件,数据库的数据文件和日志文件最好分别存放在不同的物理磁盘上,用户数据库中包含很多系统信息,这些系统信息必须存储在主要数据文件中,数据库的主要数据文件必须存放在primary文件组中。

35.数据库管理员监控数据库不负责网络情况额用户发送的每条sql语句

36.数据库性能优化:1.增加派生性冗余列可以降低查询过程中的计算量
   2.增加荣誉列可以减少查询过程中的连接操作
   3.适当降低关系模式的规范化程度,可以减少查询过程中的join操作
   4.当一个表的数据量超过一定规模时,可以爱采用分割表的方法提高效率

37.OLTP,OLTP即联机事务处理,就是我们经常说的关系数据库,意即记录即时的增、删、改、查,就是我们经常应用的东西,这是数据库的基础;
OLAP,OLAP即联机分析处理,是数据仓库的核心部心,所谓数据仓库是对于大量已经由OLTP形成的数据的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息;数据仓库是在数据库应用到一定程序之后而对历史数据的加工与分析;是处理两种不同用途的工具而已。

38.ODBC:开放数据库互连

39.数据仓库元数据:对数据的描述,如数据字典,数据表结构说明文档。

40.数据库拆分
水平拆分、垂直拆分
水平拆分后需要使用并操作,垂直拆分后需要使用连接操作

41.数据挖掘

42.在olap的实现方式中,以多维数组作为存储结构的被称作MLOAP

43.对数据库系统的监控分为手动监控机制和自动监控机制

=====================第5套===================
1.数据库应用系统设计包括4个层次,表示层,业务逻辑层,数据访问层,数据持久层(物理设计方面,包含索引设计)

2.在信息系统的需求分析中,目前广为使用的结构化分析与功能建模方法主要有DFD、IDEFO等。其中DFD建模方法也被称为过程建模和功能建模方法,其核心是数据流。

3.数据库中<>是不等号,union是并集,except是差集,intersect是交集
except是指在第一个集合中存在,但是不存在于第二个集合中的数据

4.创建、调用存储过程

5.触发器,用for关键字定义的触发器为后触发型触发器。inserted表用于存储insert和upadate语句所影响行的新值得副本。delete用于存储delete和update语句影响的旧值的副本。在update后,会产生inserted和deleted表,并分别存入修改后的值和修改前的值

6.什么是索引视图

***********************重要知识点***********************
一、并发控制:
丢失修改、不可重复读、读“脏”数据是为保证事务的隔离性引起的;
锁:x锁和s锁,加x锁时不能加任何锁,加s锁时只能加s锁
三级封锁协议:一级封锁:事务要加x锁,解决丢失修改问题
      二级封锁:读取数据时要加s锁,读取完后就可释放,解决丢失修改和读“脏”数据
      三级封锁:读数据时要加s锁,事务完成后在解锁,解决丢失修改、不可重复读、读“脏”数据问题
活锁:一个事务被插队导致永远等待,解决办法是事务先来先处理
死锁:一次封锁法(封锁所有要用到的数据)
顺序封锁法(预先规定封锁顺序)
将大事务切分成若干小事务
使用绑定连接
死锁解决办法:撤销死锁事务
并发调度的可串行性:可串行性是并发事务正确调度的准则。
两端锁协议:获得封锁(申请锁但是不能释放任何锁)和释放封锁(释放锁但是不能获得任何锁)
*冲突可串行化

二、范式
1NF:所有属性不可再分
2NF:非主属性必须完全依赖于码
3NF: 非主属性不传递依赖于码(属性不依赖与其他非主属性)

三、SQLSEVER自定义函数
三种类型:标量函数,内嵌表值函数、多声明表值函数、
创建标量函数
create function dbo.function_1(@Sex varchar(10)=’男’)
returns decimal
as
begin
declare @tmpresult 
select @tmpresult=select sage from Student where ssex=@Sex
return @tmpresult
End

创建内嵌值函数
create function dbo.function_2(@Sex vatchar(10)=’男’)
returns table//只能返回table
as
return(select * from Student where ssex=@Sex)

创建多声明表值函数
create function dbo.function_3(@Sex varchar(10)=’男’)
returns @table1 table(
sno varchar(20) primary key,
grade varchar(4))
as
begin
declare @gradex2
select @gradex2=grade from Student where ssex=@Sex
insert into @table1 values (‘001’,@gradex2)
return @table1
End

四、调优数据库

1.表结构优化,重新优化数据库设计结构,数据库逻辑设计的规范化;射击主键和外键,射击合适大小的字段。
2.硬件优化,增大硬盘,将硬盘做成RAID5,增加服务器个数,扩大服务器内存。
3.索引优化:对经常作为条件查询的列射击索引,查询警察用到的列上建立非聚簇索引,在频繁进行范围查询、排序、分组的列上建立聚簇索引,对于有频繁进行插入、删除的表不要建立过多索引。
4.采用师徒,合理使用师徒和分区师徒,在需要更新和删除不多、查询操作频繁的表上建立索引师徒。
5.sql语句优化:择运算先做,择运算时,吧想影响小的放在前,避免使用相关子查询,应使用连接查询,查询时避免select *等操作,应需多少,提多少。采用存储过程、利用存储过程提高数据库处理速度。

五、数据恢复模式:
1.简单恢复模式,不备份事务日志
2.挖不这个表格恢复模式,完整记录所有事物,并将事务日志记录保留到对其备份完毕为止。但相对简单恢复更占时间
3.大容量日志恢复模式,此方法只对大容量操作进行最小记录,使事务日志不会被大容量加载操作所填充。

六、SQLSERVER中五种约束类型,分别是主键约束、外键约束、唯一性约束、缺省约束、和检查约束

七、OLAP的实现技术主要分为以下三类:①基于关系型数据库的DLAP(ROLAP,Relational OLAP);②基于多维数据库的OLAP(MOLAP,Multi-Dimensional OLAP);③混合型OLAP(HOLAP,Hybrid OLAP)

八、数据库应用系统逻辑设计阶段工作内容分为三部分:数据库逻辑结构设计、数据库事务概要设计、应用程序概要设计。其中Ⅳ系统总体框架设计应该属于数据库概念设计。

九、声明游标
Declare cursorname cursor for select *…
open/close cursorName
fetch next from cursorName

十、简单恢复一般建议在测试和开发数据库。不能在生产系统环境使用。
大容量日志恢复模式一般作为完整恢复模式的附加模式。

十一、数据(表)划分,轮转划分、范围划分、散列划分、多维划分。
范围划分(比如成绩分布),散列划分适合点查询

十二、公用表表达式:with courseInfo(课程名,开课学期,选课人数)as (select……….)

十三、建有唯一聚集索引的视图称为索引视图

十四、将数据转入到数据仓库通常需要完成的处理操作包括抽取、转换和装载。

十五、行为视图包括顺序图、交互图和状态图

    原文作者:云上空
    原文地址: https://blog.csdn.net/qq_37724011/article/details/79801589
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞