数据库系统(国家电网)

本文详细介绍了数据库的基本概念,包括数据模型、三级模式结构、SQLServer2008特性、关系数据库理论、完整性约束、并发控制、备份恢复以及数据库设计与安全。深入探讨了数据库的管理、SQL语言、数据一致性、并发操作处理和安全措施等内容。
摘要由CSDN通过智能技术生成

 通过Internet及浏览器处理的数据库,应该是主从结构式处理

第一章 数据库基本概念

1.数据库的4个基本概念:数据、数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)

其他概念:数据库管理员(DBA)

2.数据库系统的特点:

(1)数据结构化(数据库系统与文件系统的本质区别)

(2)数据的共享性高、冗余度低且易扩充

(3)数据独立性高---数据独立性(用户的应用程序与数据库中数据的物理存储是相互独立的)和逻辑独立性(用户的应用程序与数据库的逻辑结构是相互独立的)

(4)数据由数据库管理系统统一管理和控制

DBS的核心是DBMS,DBMS的核心是DB,DB的核心是数据模型

3.数据模型:对现实世界数据特征的抽象,是数据库系统的核心和基础

(1)概念模型(信息模型):按用户的观点来对数据和信息建模

(2)逻辑模型和物理模型

(3)数据模型的组成要素:数据结构、数据操作和数据的完整性约束条件

4.数据库系统的三级模式结构:模式、外模式和内模式---分别对应概念级、用户级和物理级

(1)模式(逻辑模式):一个数据库只有一个模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图---决定数据库管理系统(DBMS)功能

(2)外模式(子模式/用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

(3)内模式(存储模式):一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

概念模式决定存储结构

5.数据库的二级映像功能

(1)外模式/模式映像---模式变,外模式不变,保证了数据的逻辑独立性

(2)模式/内模式映像---内模式变,模式不变,保证了数据的物理独立性

数据独立性分为逻辑独立性和物理独立性

6数据库中可能存在不一致的数据,主要有以下三个原因:
(1)数据冗余;
(2)并发控制不当;
(3)故障或者错误

7.层次模型:不能直接表示多对多关系

面向对象模型:每一个对象都有一个唯一的标识

关系数据模型:完整性约束、数据结构和数据操作

8.表间关系:数据库中表之间的关系一般定义为一对多的关系,一对一关系是一对多中特殊的关系,多对多关系可以被转化为一对多关系实现,即,表间的关系都可以定义为一对多的关系

9.SQLServer2008

(1)身份验证模式有Windows身份验证模式和混合模式(SQLSever和Windows身份验证模式)

(2)支持的安装方式有无人值守安装、本地安装和远程安装三种

10.新建的数据库至少包含日志文件和主要数据文件

第二章 关系数据库基本理论

一个给定的应用领域中,所有关系的集合构成一个关系数据库

1.关系模型要求关系必须是规范化的,规范条件中最基本的是:关系的每一个分量必须是一个不可分的数据项

在一个关系中,不能有完全相同的元组

2.关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性

(1)实体完整性:

(2)参照完整性

(3)用户定义的完整性

3.关系代数的运算

(1)传统的集合运算(二目运算):并、差、交、笛卡尔积

注:参与差运算的两个关系属性数目必须相同

(2)专门的集合运算

     1)选择(σ):在关系R中选择满足给定条件的诸元组

     2)投影(π):从R中选择出若干属性列组成新的关系

     3)连接(join):从两个关系的笛卡尔积中选取属性间满足一定条件的元组

等值连接:选取属性值相等的元组

自然连接(特殊的等值连接):要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉。

     4)除

(3)五种基本运算:并、差、选择、投影和笛卡尔积

4.关系数据理论:

(1)函数依赖:

只出现在→左边的一定是候选码(成员)
只出现在→右边的一定不是候选码
→左右都不出现的一定是候选码

(2)范式:

1NF:关系中的每个属性都不可再分

2NF:在1NF的基础上消除非主属性对码的部分函数依赖

3NF:在2NF的基础上消除非主属性对码的传递函数依赖

BCNF:在3NF的基础上消除主属性对码的部分和传递函数依赖

5

数据库设计存在的问题:数据冗余、插入异常、删除异常、修改异常---规范化的原因

插入异常:该插入的没插入
删除失败:该删除的没删除
删除异常:不该删除的被删除

6.并行数据库常用的划分技术:轮转法、散列分布和范围分布---使查询处理时间最小化

7.元数:关系模型中属性的个数,即列数

第三章 数据库完整性

数据库的完整性是指数据的正确性和相容性

1.数据的正确性:数据符合现实世界语义

数据的相容性:数据库同一对象在不同关系表中的数据是符合逻辑的

2.实体完整性:基本属性中主属性不能取空值   

---用PRIMARY KEY定义(列级定义主码PK/表级定义主码PK)

违约处理:拒绝插入或修改

3.参照完整性---用FOREIGN KEY定义(表级定义外码FK)

违约处理:

(1)拒绝执行---默认策略

(2)级联操作---删除或修改参照表中的所有导致不一致的元组

(3)设置为空值---将参照表中的所有造成不一致的元组的对应属性设置为空值

4.完整性约束

(1)命名子句:CONSTRAINT---可以灵活地增加(ADD)、删除(DROP)一个完整性约束条件

(2)完整性约束主要有三种子句:主键子句、检查子句和外键子句

注:在关系模型的完整性约束中,引用完整性规则要求不允许引用不存在的元组

5.触发器(事件-条件-动作规则):用户定义在关系表上的一类由事件驱动的特殊过程

(1)唤醒调用触发器以响应INSERT、UPDATE或DELETE语句

(2)建立触发器:CREATE TRIGGER

(3)删除触发器:DROP TRIGGER

第四章 关系数据库标准语言SQL(结构化查询语言)

1.数据定义

(1)定义模式:CREATE SHCEMA---AUTHORIZATION

2.空值与另一个值的算术运算结果为空值

空值与另一个值的比较运算结果为UNKNOWN

3视图是定义在多张表上的虚表,所以视图的定义功能强于基本表

视图中数据更新有诸多限制,且不能定义在多张表上,操作功能弱于基本表

控制功能两者相当

 4.数据库管理系统的功能(SQL语言)

(1)DDL定义:

-WITH ENCRYPTION:进行加密

-WITH CHECK OPTION:保证通过视图进行的修改

注:子模式DDL用来描述数据库的局部逻辑结构

(2)DML操纵:SELECT、INSERT、UPDATE---SET、DELETE---FROM

-DELETE:删除一个或多个元组,不允许*操作

-TRUNCATE(截断):一次性删除表中所有数据

-SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值

(3)DCL控制:

(4)DQL查询:

-IF(A1,A2,A3):如果A1为真值(或非0),那么返回A2;如果A1为假值(或0),那么返回A3

-WHERE子句作用于基本表或视图,从中选择满足条件的元组

-HAVING短语作用于组,从中选择满足条件的组

-CASCADE(级联):相关视图和约束一并被删除

(5)SQL语言的标准库函数COUNT、SUM、AVG、MAX和MIN等,不允许出现在WHERE子句中

5.数字字段最大存储空间为8B

第五章 数据库对象(数据库的组成部分)

1.常见的对象有:表、索引、视图、图表、默认值、规则、触发器(生效条件:插入、更改、删除)、存储过程、用户、系列等

2.窗体组成部分:窗体页脚、窗体页眉、页面页脚、页面页眉、主体

3.数据库的登录用户一般是指数据库管理员用户

第六章 数据库安全

1.数据库的不安全因素:
(1)非授权用户对数据库的恶意存取和破坏

(2)数据库中重要或敏感的数据被泄露

(3)安全环境的脆弱性

2.常用的用户身份鉴别方法:

静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别

3.存取控制机制主要包括定义用户权限和合法权限检查两部分

(1)自主存取控制(C2级)

(2)强制存取控制(B1级)

4.数据库信息的运行安全采取的4项主要措施:

风险分析、审计跟踪、备份与恢复、应急

第七章 并发控制

1.并发操作带来的数据不一致性:丢失修改、不可重复读、读“脏”数据

2.并发控制的主要技术:封锁、时间戳、乐观控制法和多版本并发控制(MVCC)等

3.封锁类型

(1)排他锁(写锁/X锁):允许读取和修改,不允许其他事务加任何类型的锁,不允许其他事务读取和修改

(2)共享锁(读锁/S锁):允许读取,不允许修改,只允许其他事务加共享锁,其他事务可以读取,不可以修改

4.死锁的预防:一次封锁法、顺序封锁法

5.可串行化(并发事务正确调度的准则)调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些食物时的结果相同

6.冲突操作:不同的事务对同一个数据的读写操作、写读操作和写写操作

注:不同事务的冲突操作和同一事务的两个操作是不能交换的

7.冲突可串行化调度---可串行化调度的充分不必要条件

一个调度A在保证冲突操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度B,如果B是串行的,则称调度A为冲突可串行化的调度。

8.两段锁协议---可串行化调度的充分不必要条件

(1)第一阶段(扩展阶段)---获得封锁:可以申请锁,不能释放锁

(2)第二阶段(收缩阶段)---释放封锁:可以释放锁,不能申请锁

第八章 备份与恢复

1.事务(并发控制的基本单位):用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位

2.事务的ACID特性(数据库管理系统中事务所具有的四个特性):

原子性---事务管理子系统、一致性---完整性子系统、隔离性---并发控制子系统、

持续性(永久性)---恢复管理子系统

3.事务ACID特性可能遭到破坏的因素:

(1)多个事务并行运行时,不同事务的操作交叉执行

(2)事务在运行过程中被强行停止

4.数据库事务的隔离级别(由低到高):读未提交->读已提交->可重复读->可串行化

5.故障的种类:

(1)事物内部的故障:大多是非预期的,是不能由应用程序处理的

解决方法:事务撤销(UNDO)---事务未提交

(2)系统故障(软故障):指造成系统停止运转的任何事件,使得系统要重新启动

解决方法:撤销所有未完成的事务,重做(REDO)所有已提交的事务

(3)介质故障(硬故障),即外存故障

(4)计算机病毒

6.恢复的实现技术(恢复的基本原理---冗余):

(1)数据转储---转存数据冗余一般是日志文件和数据库后备副本

静态转储:无运行事务时进行的转储操作

动态转储:转储期间允许对数据库进行存取或修改

海量转储:每次转储全部数据库

增量转储:每次只转储上一次转储后更新过的数据

(2)登记日志文件

两条原则(保证数据库是可恢复的):

     1)登记的次序严格按并发事务执行的时间次序

     2)必须先写日记,后写数据库

注:事务故障的恢复是由系统自动完成的,对用户是透明的

7.具有检查点的恢复技术:在日志文件中增加一类新的记录---检查点记录,增加一个重新开始文件

,并让恢复子系统在登录日志文件期间动态地维护日志

8.灾难恢复操作可以分为三类:全盘恢复(系统恢复)、个别文件恢复和重定向恢复

9.数据恢复的方式有数据备份和日志文件

第九章 数据库应用系统设计

数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

建立一个数据库,需要经过概念设计和物理设计阶段。

数据库设计的基本步骤:

1.需求分析阶段:数字字典、全系统中数据项、数据结构、数据流、数据存储的描述

2.概念结构设计阶段:概念模型(E-R图)、数据字典

(1)E-R图:提供了表示实体型(矩形)、属性(椭圆形)和联系(菱形)的方法

(2)在开发一个大型信息系统时,最经常采用的策略是自顶向下地进行需求分析,然后再自底向上地设计概念结构。即首先设计各子系统的分E-R图,然后将它们集成起来,得到全局E-R图。

(3)E-R图的集成:

     1)合并E-R图,生成初步E-R图

E-R图之间的合并冲突主要由三类:属性冲突、命名冲突和结构冲突

     2)消除不必要的冗余,设计基本E-R图

(4)概念模型是现实世界到机器世界的一个中间层次,独立于具体的机器和DBMS

(5)概念结构设计有四种方法:自顶向下、自底向上、逐步扩张和混合策略

(6)视图设计一般有三种设计次序:自顶向下、自底向上和由内向外

3.逻辑结构设计阶段:某种数据模型(关系、非关系)

E-R模型向关系模型的转换(一般原则:一个实体型转换为一个关系模式)

关系模式:即对关系结构的描述

(1)1:1联系:可转换成一个独立的关系模式,也可以与任意一端对应的关系模式合并

(2)1:n联系:可转换为一个独立的关系模式,也可以与n端对应的关系模式合并

(3)m:n联系:转换为一个关系模式

(4)三个或三个以上实体间的一个多元联系:转换为一个关系模式

(5)具有相同码的关系模式可合并

4.物理结构设计阶段:存储安排、存储方法选择、存储路径建立

(1)数据库的物理设计通常分为两步:

     1)确定数据库的物理结构:确定数据的存放位置、确定系统配置

     2)对物理结构进行评价

(2)关系模式存取方法选择:

     1)B+树索引存取方法的选择

     2)hash索引存取方法的选择

     3)聚簇存取方法的选择

5.数据库实施阶段:创建数据库模式、装入数据、数据库试运行

6.数据库运行和维护阶段:性能监测、转储/恢复、数据库重组和重构

7.结构化程序设计方法主要由三种基本结构组成:顺序结构、循环结构和选择结构

需求分析---数据流图

概念设计---E-R图

逻辑设计---关系模式

物理设计---索引
 

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值