软考-数据库基础

数据库

考点归纳

1、数据库模式

三级模式(外模式、概念模式、内模式)、两级独立性(物理独立性、逻辑独立性)

2、ER模型

ER图、实体联系类型重点、ER图转换为关系模型重点

3、关系运算和元组演算

关系代数的基本运算、元组演算

4、规范化理论

函数依赖、键的概念、求候选键重点、范式(第一范式、第二范式、第三范式、BC范式)、各种异常

5、SQL语言

SQL语言基础、视图、表的建立、视图的创建、表的查询重点、表元素的删除、表元素的插入、表元素的修改

6、并发控制

事物的概念、数据的不一致问题、封锁技术

7、其他相关知识

数据库管理系统的特征和功能、数据仓库的概念和特点、分布式数据库的概念和特点

一、四个基础概念

数据(Data)
数据库(Database)
数据库管理系统(DBMS)
数据库系统(DBS)

(1)数据(Data)
是数据库中存储的基本对象,是描述事物的符号记录。
数据的种类:
文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等。

(2)数据库(Database, DB)

数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征

  • 数据按一定的数据模型组织、描述和储存
  • 可为各种用户共享
  • 冗余度较小
  • 数据独立性较高
  • 易扩展

(3)数据库管理系统(DBMS)

是位于用户与操作系统之间的一层数据管理软件,是一个大型复杂的软件系统。
DBMS的用途

  • 科学地组织和存储数据
  • 高效地获取和维护数据

(4)数据库系统(Database System,DBS)

是计算机系统中引入数据库后的系统构成。
数据库系统的构成

  • 数据库
  • 硬件平台
  • 软件(应用程序)
  • 数据库管理员

二、数据库模型

数据库系统的设计目标是允许用户逻辑地处理数据,而不必涉及这些数据在计算机中是怎样存放的,在数据组织和用户应用之间 提供某种程度的独立性。

一、数据库系统的三级模式

数据库系统可以分为:

  • 外模式(子模式、用户模式)
  • 模式(概念模式、逻辑模式)
  • 内模式(存储模式)

在这里插入图片描述

(1)模式(概念模式、逻辑模式)

  • 数据库中全体数据的逻辑结构和特征的描述
  • 所有用户的公共数据视图,综合了所有用户的需求

一个数据库只有一个模式

(2)外模式(子模式、用户模式)

  • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
  • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

外模式的地位:介于模式与应用之间

  • 模式与外模式的关系:一对多
    • 外模式通常是模式的子集
    • 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。

外模式的用途

  • 保证数据库安全性的一个有力措施
  • 每个用户只能看见和访问所对应的外模式中的数据

(3)内模式(存储模式)

  • 是数据物理结构和存储方式的描述
  • 是数据在数据库内部的表示方式
  • 一个数据库只有一个内模式

二、三个级别

与三级模式相对应,数据库系统可以划分为三个抽象级:
(1)用户级数据库:对应于外模式,是用户看到和使用的数据库,又称用户视图。一个数据库可有多个不同的用户视图。
(2)概念级数据库:对应于概念模式,是所有用户视图的最小并集,一个数据库应用系统只有一个DBA视图。
(3)物理级数据库:对应于内模式,是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的,又称为内部视图

三、数据模型

一、关系模型

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
用表格结构表达实体集,用外键(外码)表示实体间联系。

优点:

  • 建立在严格的数学概念基础上
  • 概念单一,结构简单、清晰,用户易懂易用
  • 存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。

缺点:由于存取路径透明,查询效率往往不如非关系数据模型。

二、基本概念

1、域
是一组具有相同数据类型的值的集合。

  • 整数
  • 实数
  • {‘男’,‘女’}
  • ………………

2、笛卡尔积

给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn = {(d1,d2,…,dn)|di ∈Di,i=1,2,…,n}

  • 所有域的所有取值的一个组合
  • 不能重复

(3)关系

D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为

复制代码

R(D1,D2,…,Dn)

R:关系名
n:关系的目或度(Degree)

1、关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域
在这里插入图片描述

2、属性

关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute) n目关系必有n个属性。

3、候选码(Candidate key)

若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。

4、主码(Primary key)

若一个关系有多个候选码,则选定其中一个为主码。

基本关系具有以下6条性质:

  • (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
  • (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
  • (3)列的顺序无所谓,即列的次序可以任意交换。
  • (4)任意两个元组不能完全相同。 但多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。
  • (5)行的顺序无所谓,即行的次序可以任意交换。
  • (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。

关系的描述称为关系模式,关系模式是一个五元组,形式化地表示为:

  • R(U,D,DOM,F)
  • R 关系名
  • U 组成该关系的属性名集合
  • D 属性组U中属性所来自的域
  • DOM 属性向域的映象集合
  • F 属性间的数据依赖关系集合

通常简记为R(A1,A2,…,An)。 R为关系名, A1,A2…为属性名。

三、规范化理论

设有一个关系模式R(SNAME , CNAME , TNAME , TADDRESS),其属性分别表示学生姓名、课程名、任课教师姓名和任课教师地址。
这个模式存在下列存储异常的问题。
(1)数据冗余
(2)修改异常
(3)插入异常
(4)删除异常

把R分解成下列三个关系模式:R1(SNAME, CNAME)和R2(CNAME, TNAME),R3(TNAME, TADDRESS),则能消除上述的存储异常现象。

模式设计强调“每个联系单独表达”是一条重要的设计原则。

四、范式

(1)第一范式(1NF)

如果关系模式R的每个关系r的属性值都是不可分的原子值,那么 称R是第一范式的模式,r是规范化的关系。
在这里插入图片描述

说明:在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。

(2)第二范式(2NF)

若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。
简单的说,是表中的属性必须完全依赖于全部主键,而不是部分主键。所以只有一个主键的表如果符合第一范式,那一定是第二范式。

例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。

(3)第三范式(3NF)

如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选码,则称R是3NF。
例如,存在一个部门信息表,其中每个部门有部门编号
(dept_id)、部门名称、部门简介等信息。
那么在员工信息表中列出部门编号后就不能再将部门名称、部门 简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。

(4) BC范式(BCNF)

若关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。
相对于第三范式,BC范式的要求更加严格。第三范式只是要求R为第二范式且非主属性不传递依赖于R的候选键,而BC范式则是 对R的每个属性都做要求。

在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。

每一教师只教一门课。每门课由一名教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确 定了所选课的名称:(S,J)→T,(S,T)→J,T→J

例:设有关系模式R (E,N,M,L,Q),其函数依赖集为F={ E→N, EM→Q,M→L)。则关系模式R达到了( A );该关系模式( D )。
A.1NF B.2NF C.3NF D.BCNF
A.无需进行分解,因为已经达到了3NF
B.无需进行分解,因为已经达到了BCNF
C.尽管不存在部分函数依赖,但还存在传递依赖,所以需要进行分解
D.需要进行分解,因为存在冗余、修改操作的不一致性、插入和删除异常

四、数据操作

一、常用的关系操作

  • 查询:选择、投影、连接、除、并、交、差
  • 数据更新:插入、删除、修改 查询的表达能力是其中最主要的部分
  • 传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积
  • 专门的关系运算包括:选择、投影、连接、除4种运算。

在这里插入图片描述

(1)并

具有相同的目n(两个关系都有n个属性),R和S的并是由属于R 或属于S的元组组成的集合,记为RUS。
形式定义如下: R ∪ S = { t | t  R ∨ t  S } 式中t是元组变量(下同)。
显然, RUS = SUR。

在这里插入图片描述

(2)差

关系R和S具有相同的目n,R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。

形式定义如下: R -S = { t|t R∧t  S }

在这里插入图片描述

(3)交

关系R和S具有相同的目n,R和S的交是由既属于R又属于S的元组组成的集合,记为R ∩ S。

形式定义如下: R∩S = { t|t  R∧t  S } R∩S = R – (R-S) R∩S = S – (S-R)

在这里插入图片描述

(4)笛卡儿积

R: n目关系,k1个元组
S: m目关系,k2个元组
R×S
列:(n+m)列元组的集合

  • 元组的前n列是关系R的一个元组
  • 后m列是关系S的一个元组 行:k1×k2行元组
  • R×S = {tr ts |tr ∈ R ∧ts ∈ S }

二、关系运算

关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接。

在关系代数中,由五种基本代数操作经过有限次复合的式子称为关系代数运算表达式。表达式的运算结果仍是一个关系。

(1)投影

投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。
记作: πA® = { t[A] | t  R } 其中A为R的属性列。
在这里插入图片描述

投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)

在这里插入图片描述

(2)选择

选择操作在关系R中选择满足给定条件的所有元组,记作
σF® = {t|t ∈ R∧F(t)= ‘真’}

其中F表示选择条件,是一个逻辑表达式(逻辑运算符+算术表达式)。选择运算是从行的角度进行的运算。
在这里插入图片描述
在这里插入图片描述

(3) θ连接

θ连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组
记作:
在这里插入图片描述

A和B:分别为R和S上度数相等且可比的属性组
θ:比较运算符

  • 一般连接
  • 等值连接
  • 自然连接

1.一般连接
在这里插入图片描述

2.等值连接(equijoin)

θ为“=”的连接运算称为等值连接
等值连接的含义
从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组, 即等值连接为:
在这里插入图片描述
在这里插入图片描述

3.自然连接(Natural join)

自然连接是一种特殊的等值连接

  • 两个关系中进行比较的分量必须是相同的属性组
  • 在结果中把重复的属性列去掉

自然连接的含义
R和S具有相同的属性组B
在这里插入图片描述
在这里插入图片描述

(4)外连接(OUTER JOIN)

关系R、S 进行自然连接时,如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

在这里插入图片描述

(5)左外连接

关系R、S 进行自然连接时,如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)

在这里插入图片描述

(6)右外连接

关系R、S 进行自然连接时,如果只把右边关系S中要舍弃的元组 保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)
在这里插入图片描述

(7)除法

给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。
R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。
R与S的除运算得到一个新的关系P(X),
P是R中满足下列条件的元组在 X 属性列上的投影:
元组在X上分量值x的象集Yx包含S在Y上投影的集合,
记作:
R÷S = {tr [X] | tr ∈ R∧πY (S) ∈ Yx }
Yx:x在R中的象集,x = tr[X]

在这里插入图片描述

五、 数据库语言

SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。

  • SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言。
  • SQL既是自含式语言(联机交互),又是嵌入式语言(宿主语言)

基本概念

  • 基本表(BASE TABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一 个存储文件。
  • 视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。数据库中只存放视图的定义而不存放视图对应的数据, 这些数据仍存放在导出视图的基本表中。当基本表中的数据发 生变化时,从视图中查询出来的数据也随之改变。

一、数据定义

SQL语言使用数据定义语言(DDL)实现其数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤消。

操作对象创建删除修改
模式CREATE SCHEMADROP SCHEMA
CREATE TABLEDROP TABLEALTER TABLE
视图CREATE VIEWDROP VIEW
索引CREATE INDEXDROP INDEX

1、定义基本表

CREATE TABLE <表名>(<列名>[{,<列名>|<表约束>}])

  • <表名>合法标识符,最多128个字符,如S,SC,C,不允许重名。
  • <列名><数据类型>[DEFAULT] [{<列约束>}]

例:建立一学生表

复制代码

CREATE TABLE S (SNO   CHAR(8) NOT NULL UNIQUE, 
SN      VARCHAR(20), 
AGE    INT, 
SEX     CHAR(2) DEFAULT '男' , 
DEPT   VARCHAR(20));

2、修改基本表

复制代码

ALTER TABLE <表名> 

[ ADD <新列名> <数据类型> [ 完整性约束 ] ]
[ALTER COLUMN <列名> <数据类型> ]
[ DROP < COLUMN 列名> |<完整性约束名> ] ;

  • ADD子句:增加新列和新的完整性约束条件
  • ALTER COLUMN子句:用于修改列
  • DROP子句:删除指定列或完整性约束条件

例:ALTER TABLE S ADD CLASS_NO CHAR(6)

3、删除表

复制代码

DROP TABLE <表名> 

例DROP TABLE Student;

  • 基本表删除后,表中的数据和表上建立的索引都被删除, 而建立在该表上的视图不会删除,系统将继续保留其定义, 但已无法使用。

4、定义视图

CREATE VIEW <视图名>[(<列名>[,<列名>]…)]
AS
<子查询> [with check option]
例:

复制代码

CREATE VIEW IS_Student 
AS 
SELECT Sno,Sname,Sage FROM Student 
WHERE Sdept='IS'  With Check Option 

5、删除视图

复制代码

DROP VIEW 视图名

例:删除视图IS_S1

DROP VIEW IS_S1

二、数据查询

SELECT语句的一般格式:
SELECT [all|Distinct]〈列名〉[{,〈列名〉}]
FROM〈表名或视图名〉[{,〈表名或视图名〉}]
[WHERE〈检索条件〉]
[GROUP BY <列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2>[ASC|DESC]];

SELECT语句的执行过程是:

  • 根据WHERE子句的检索条件,从FROM子句指定的基本表或视 图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。
  • 如果有GROUP子句,则将查询结果按照<列名1>相同的值进行分组。
  • 如果GROUP子句后有HAVING短语,则只输出满足HAVING条件 的元组。
  • 如果有ORDER子句,查询结果还要按照<列名2>的值进行排序。

1、单表查询

例1:查询全体学生的学号、姓名和年龄。
SELECT Sno, Sname, Age FROM Student
例2:查询学生的全部信息。
SELECT * FROM Student
例3:查询成绩高于85分的学生的学号、课程号和成绩。
SELECT Sno,Cno,Score FROM SC WHERE Score>85
例4:查询姓名中第二个汉字是“力”的教师号和姓名。
SELECT Tno, Tname FROM Teacher WHERE Tname LIKE ‘_ _力%’
例5:查询选修C1或C2课程的学生学号、课程号和成绩。
SELECT Sno, Cno, Score FROM SC WHERE Cno IN(‘C1’, ‘C2’)
此语句也可以使用逻辑运算符“OR”实现。

2、连接查询

表的连接方法有两种:

  • 表之间满足一定的条件的行进行连接,此时FROM子句中指明进行连接的表名,WHERE子句指明连接的列名及其连接条件。
  • 利用关键字JOIN进行连接。

3、嵌套查询

例:查询与“刘晨”在同一系学习的学生
SELECT Sno,Sname FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname=‘刘晨’ )

例1:查询刘伟老师所讲授的课程

  • SELECT T.Tno ,Tname,Cno FROM T,TC WHERE (T.Tno = TC. Tno) AND (Tname=‘刘伟’)
  • SELECT T.Tno,Tname,Cno FROM T INNER JOIN TC ON T.Tno=TC.Tno AND T.Tname=‘刘伟’

在这里插入图片描述
SELECT(A)FROM 工资表 (D) (C)
1、A. 部门,AVG(应发工资)AS平均工资
B. 姓名,AVG(应发工资)AS平均工资
C. 部门,平均工资AS AVG(应发工资)
D. 姓名,平均工资AS AVG (应发工资)
2、A. ORDER BY 姓名
B. ORDER BY部门
C. GROUP BY 姓名
D. GROUP BY 部门
3、 A. WHERE COUNT(姓名)>2
B. WHERE COUNT(DISTINCT(部门))>2
C. HAVING COUNT(姓名)>2
D. HAVING COUNT(DISTINCT(部门))>2

六、数据库的控制功能

DBMS运行的基本工作单位是事务。
事务是用户定义的一个数据库操作序列,这些操作序列要么全做 要么全都不做,是一个不可分割的工作单位。

复制代码

**事务具有以下特性(ACID特性):** 
(1)原子性(atomicity) 
(2)一致性(consistency) 
(3)隔离性(isolation) 
(4)持续性(durability,永久性)

事务通常以BEGIN TRANSACTION(事务开始)语句开始,以 COMMIT或ROLLBACK语句结束。 
COMMIT称为事务提交语句,表示事务执行成功地结束。 
ROLLBACK称为事务回滚语句,表示事务执行不成功地结束,即把事务对数据库的修改进行恢复。

一、并发控制

在多用户共享系统中,许多事务可能同时对同一数据进行操作, 称为并发操作,此时数据库管理系统的并发控制子系统负责协调 并发事务的执行,保证数据库的完整性不受破坏,同时避免用户得到不正确的数据。

1.并发操作的问题

数据库的并发操作可能带来的问题:

  • 丢失更新问题
  • 不一致分析问题(读过时的数据)
  • 依赖于未提交更新的问题(读脏数据)

2.封锁的类型

处理并发控制的主要方法是采用封锁技术,有两种类型的封锁:

  • X封锁(排他型封锁)
  • S封锁(共享型封锁)

(1)排他型封锁( X封锁)

如果事务T对数据A(可以是数据项、记录、数据集以至整个数据 库)实现了X封锁,那么只允许事务T读取和修改数据A,其他事务要等事务T解除X封锁以后,才能对数据A实现任何类型的封锁。 可见X封锁只允许一个事务独锁某个数据,具有排他性。

(2)共享型封锁(S封锁)

S封锁允许并发读,但不允许修改,也就是说,如果事务T对数据 A实现了S封锁,那么允许事务T读取数据A,但不能修改数据A, 在所有S封锁解除之前决不允许任何事务对数据A实现X封锁。

二、备份与恢复技术

1.数据备份

是指为防止系统出现操作失误或系统故障导致数据丢失,而 将全部或部分数据集合从应用主机的硬盘或阵列复制到其它 的存储介质的过程。
数据库只能恢复到备份时的状态,从那以后的所有更新事务必须重新运行才能恢复到故障时的状态。

备份可分为冷备份(静态备份)和热备份(动态备份)
冷备份是在数据库正常关闭的情况下进行的,所以备份过程中不允许对数据库进行任何存取、修改活动。

缺点:
1、单独使用时,只能提供到“某一时间点上”的恢复。
2、在备份时,数据库不能做其他工作。
3、若磁盘有限,只能将备份数据拷贝到磁带等其他外部存储设 备上,速度会比较慢。
4、不能按表或按用户恢复。

热备份是指备份期间允许对数据库进行存取或修改,即备份和用 户事务可以并发执行。

优点:
1、可在表空间或数据库文件级备份,备份的时间短。
2、备份时数据库仍可使用。
3、可对几乎所有数据库实体做恢复
4、恢复是快速的,可在数据库工作时恢复。

热备份缺点:
1.不能出错,否则后果严重
2.若热备份不成功,所得结果不可用于时间点的恢复
3.因难于维护,所以要特别仔细小心,不允许“以失败告终”。

  • 完全备份:备份全部文件,并不依赖文件的存档属性来确定备份那些文件。
  • 差分备份:备份自上一次完全备份以来变化过的文件。
  • 增量备份:备份上一次备份后(无论是哪种备份),所有发生变化的文件。

2.日志文件

事务日志是针对数据库改变所做的记录,记录对数据库的任何操作,并将记录结果保存在独立的文件中。
在热备份中,必须建立日志文件,备份副本和日志文件综合起来 才能有效地恢复数据库;

在冷备份中,也可以建立日志文件,当数据库毁坏后可重新装入 后援副本把数据库恢复到备份结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处理,对故障发生时尚未完成 的事务进行撤销处理。

要求遵循“先写日志文件,然后再写数据库的修改”。

3 . 数据恢复

把数据库从错误状态恢复到某一个已知的正确状态的功能,称为数据库的恢复。
数据恢复的基本原理就是冗余,建立冗余的方法有数据备份和登录日志文件等。

三、数据库的安全性

数据库系统的信息安全在技术上依赖于两种方式,

  • DBMS本身提供的用户身份识别、视图、使用权限控制、审计 等管理措施,
  • 依靠数据库的应用程序来实现对数据库访问进行控制和管理

在这里插入图片描述

1.用户认证

用户的身份认证是用户使用DBMS系统的第一个环节。

复制代码

(1)口令认证 
(2)强身份认证 
  -  用户证书 
  -  智能卡 
  -  用户指纹识别

2.用户角色

用户角色是具有相同操作权限的用户集合,不同角色的用户授予 不同的数据管理和访问操作权限。
一般可以将权限角色分为3类:

  • 数据库登录权限类
  • 资源管理权限类
  • DBA权限类

3.存取控制(数据授权)

数据库授权可以分为静态授权和动态授权。
静态授权是DBMS的隐性授权,也就是说用户(或DBA)对他自己 拥有的信息是不需要有指定的授权动作就拥有全权管理和操作的权限的。
动态授权指数据对象的所有者或者DBA默认地拥有对数据的存取权,允许他们把这些权力授予其他的用户。

访问控制可以对用户访问的数据对象进行控制。

粒度从大到小分为4个层次

  • (1)数据库级别
  • (2)表级,判断用户是否可以访问关系里面的内容。
  • (3)记录级(行级),判断用户是否能访问关系中的一行记录的内容。
  • (4)属性级

4.数据库视图

是一个虚拟表,其内容由查询定义,其数据不进行实际存储,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

使用视图可以实现下列功能:

  • (1)将用户限定在表中的特定行上。
  • (2)将用户限定在特定列上。
  • (3)将多个表中的列连接起来,使它们看起来像一个表。
  • (4)聚合信息而非提供详细信息

5.审计功能

身份认证是一种事前的防范措施,审计是一种事后监督的手段。 审计作为一种安全检查的措施,会把系统的运行状况和用户访问数据库的行为记录以日志保存下来,该日志作为一种稽查用户行 为的一种证据。

数据库系统的审计工作包括:

  • 设备安全审计
  • 操作审计
  • 应用审计
  • 攻击审计

6. 数据加密

是防止数据库中的敏感信息在存储和传输过程中失密的有效手段。

七、数据仓库与数据挖掘

一、数据仓库

  • 是一个用以更好地支持企业(或组织)决策分析处理的、面向 主题的、集成的、不可更新的(相对稳定的)、随时间不断变 化的数据集合。
  • 本质上和数据库一样,是长期储存在计算机内的、有组织、可 共享的数据集合。

二、数据仓库的基本特征

  • 数据仓库的数据是面向主题的;
  • 数据仓库的数据是集成的;
  • 数据仓库的数据是不可更新的;
  • 数据仓库的数据是随时间不断变化的

数据仓库反映历史变化的属性主要表现在:

  • (1)数据仓库中的数据时间期限要远远长于传统操作型数据系统中的数据时间期限。
  • (2)传统操作型数据系统中的数据含有“当前值”的数据,这些 数据在访问时是有效的,当然数据的当前值也能被更新,但数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照。
  • (3)传统操作型数据系统中可能包含也可能不包含时间元素,如 年、月、日、时、分、秒等,而数据仓库中一定会包含时间元素。

三、数据仓库系统的体系结构

在这里插入图片描述

  • 数据仓库的后台工具:包括数据抽取、清洗、转换、装载和维 护工具。
  • 数据仓库服务器:相当于数据库系统中的DBMS,负责管理数 据仓库中数据的存储管理和数据存取,并给OLAP服务器和前 台工具提供存取接口(如SQL查询接口)
  • OLAP服务器:透明地为前台工具和用户提供多维数据视图; OLAP服务器则必须考虑物理上这些分析数据的存储问题
  • 前台工具:包括查询报表工具、多维分析工具、数据挖掘工具 和分析结果可视化工具等

四、数据挖掘的概念

  • 概念:数据挖掘是从大量数据中发现并提取隐藏在内的、人们 事先不知道的但可能有用的信息和知识的一种新技术
  • 目的:帮助决策者寻找数据间潜在的关联,发现经营者被忽略 的要素
  • 数据挖掘技术涉及数据库技术、人工智能技术、机器学习、统 计分析等多种技术

五、数据挖掘和传统分析方法的区别

本质区别:数据挖掘是在没有明确假设的前提下去挖掘信息,发现知识。
数据挖掘所得到的信息应具有事先未知、有效和可实用3个特征

六、数据挖掘的数据源

  • 从数据仓库中来
    优点:许多数据不一致的问题都较好地解决了,在数据挖掘时大大减少了清理数据的工作量
    缺点:建立数据仓库是一项巨大的工程,耗时耗力
  • 从数据库中来
    如果只是为了数据挖掘,可以把一个或几个OLTP数据库导入 一个只读的数据库中,然后在上面进行数据挖掘

七、数据挖掘的功能

  • 趋势和演变分析
  • 关联分析
  • 聚类
  • 概念描述
  • 偏差检测

八、数据挖掘的流程

  • (1)问题定义
    在开始数据挖掘之前最先的也是最重要的要求就是熟悉背景知识, 弄清用户的需求
  • (2)建立数据挖掘库
    要进行数据挖掘必须收集要挖掘的数据资源。一般建议把要挖掘的数据都收集到一个数据库中
  • (3)分析数据
    分析数据就是通常所进行的对数据深入调查的过程。从数据集中 找出规律和趋势,发现因素之间的相关性。
  • (4)调整数据
    通过上述步骤的操作,对数据的状态和趋势有了进一步的了解, 这时要尽可能对问题解决的要求能进一步明确化、进一步量化。
  • (5)模型化
    在问题进一步明确,数据结构和内容进一步调整的基础上,就可 以建立形成知识的模型。
  • (6)评价和解释

八、分布式数据库

一、分布式数据库

分布式数据库由一组数据组成,这些数据物理上分布在计算机网 络的不同结点(场地)上,逻辑上是属于同一个系统。每个结点可 以执行局部应用,也能通过网络通信子系统执行全局应用。

在这里插入图片描述

二、分布式数据库系统的特点

1.数据独立性
2.集中与自治相结合的控制结构
3.适当增加数据冗余度
4.全局的一致性、可串行性和可恢复性

三、分布式数据存储

分布式数据存储可以从数据分配和数据分片两个角度考察。
1、数据分配是指数据在计算机网络各场地上的分配策略。

  • 集中式
  • 分割式
  • 全复制式
  • 混合式

2、数据分片是指数据存放单位不是全部关系,而是关系的一部 分,包括以下几种方式。

  • 水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
  • 垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。
  • 混合型分片:将水平分片与垂直分片方式综合使用则为混合型分片。

四、分布式DBMS组成

(1) LDBMS(局部DBMS)
建立和管理局部数据库,提供场地自治能力、执行局部应用及全局查询的子查询。
(2) GDBMS(全局DBMS)
提供分布透明性,协调全局事务的执行,协调各LDBMS以完成 全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能。
(3)全局数据字典
存放全局概念模式、分片模式、分布模式的定义,以及各模 式之间映像的定义;存放有关用户存取权限的定义,以保证 全局用户的合法权限和数据库的安全性;存放数据完整性约束条件的定义,其功能与集中式数据库的数据字典类似。
(4)通信管理
在分布式数据库各场地之间传送消息和数据,完成通信功能

在这里插入图片描述

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值