【系统分析师】数据库系统


【系统分析师-系列文章目录 】

在这里插入图片描述

1、数据库模式

考点

在这里插入图片描述

# 名词解释
1、内模式:管理如何存储物理的数据,对数据的存储方式、优化、存放等
2、模式:又称概念模式,就是我们通常使用的[]这个级别,根据应用、需求将物理数据划分为一张张表
3、外模式:对应数据库中的[视图]这个级别,将[]进行一定的处理后再提供给用户使用。
	例如:将[用户表]中的用户名和密码组成[视图]提供给登录模块使用,
			而[用户表]中的其他列则不对该模块开放,增加了安全性
	
4、外模式-模式映像:是[][视图]之间的映射,存在于 概念级 和 外部级 之间
	若[]中的数据发生了修改,只需要修改此映射,而无需修改应用程序

5、模式-内模式 映像:是[][物理存储]之间的映射,存在于 概念级 和 内部级 之间
	若修改了数据存储方式,只需要修改此映射,不需要修改应用程序

两级独立性

数据库系统的两级独立性是指 物理独立性 和 逻辑独立性。
三个抽象级别分别是通过两级映射进行相互转换

物理独立性 存在于概念模式和内模式之间的映射转换。
逻辑独立性 存在于概念模式和外模式之间的映射。

2、数据模型

数据模型是现实世界数据特征的抽象。
通过这种抽象,可以将现实世界的问题,转化到计算机上进行分析和解决。
数据模型所描述的内容包括三个部分:

  1. 数据结构:主要描述数据的类型、内容、性质和数据间的联系等。是数据模型的基础。数据操作和数据约束都建立在数据结构上。
  2. 数据操作:主要描述在相应的数据结构上的操作类型和操作方式。
  3. 数据约束:主要描述数据结构内数据间的语法和词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,已保证数据的正确、有效和相容。

2.1 数据模型分类

主要有两大类,分别是 概念数据模型[实体联系模型] 和 基本数据模型[结构数据模型]

  1. 概念数据模型:是按照用户的观点来对数据和信息建模,主要用于数据库的设计,一般用 实体-联系方法 表示,所以也称 E-R模型。
  2. 基本数据模型:按照计算机系统的观点来对数据和信息建模,主要用于数据库的实现。

基本数据模型是数据库i同的核心和基础,通常由 数据结构、数据操作和完整性约束 三部分组成。

基本数据模型

  1. 层次模型:树形。典型IBM公司的IMS数据库管理系统。
  2. 网状模型:有向图。
  3. 关系模型:用表格结构表达实体集,用外键表示实体间的联系。目前用的最广泛,如Oracle、DB2、SQL Server、MySQL等。
  4. 面向对象模型:如ObjectStore、Versant Developer、Suite Poet、Objectiveity。用的不多。

2.2 关系模型

常考:关系运算

在这里插入图片描述

并、交、差、笛卡尔积、投影、选择

并:两张表中所有记录数合并,相同记录只显示一次
交:两张表中相同的记录
差:S1-S2 ,结果是S1中有而S2中没有的记录

在这里插入图片描述

自然联接

结果显示全部属性列,但是相同属性列只显示一次,显示两个关系模式中 属性相同且值相同的记录

在这里插入图片描述

优化:
1、尽可能先做选择
2、尽量不用笛卡尔积

例题

在这里插入图片描述

2.3 规范化理论

2.3.1 非规范存在的问题

# 四个问题
1、数据冗余
2、更新异常
3、插入异常
4、删除异常

在这里插入图片描述

2.3.2 函数依赖与键

函数依赖

  1. 部分函数依赖:A可以确定C,(A,B)也可以确定C,(A,B)中的一部分(即A)可以确定C,称为部分函数依赖。
  2. 传递函数依赖:当A和B不等价时, A可以确定B,B可以确定C,则A可以确定C,是传递函数依赖;若A和B等价,则不存在传递,直接就可确定C

在这里插入图片描述

考点

# 重要概念
1、超键:能唯一标识此表的属性的组合
2、候选键:超键中去掉冗余的属性,剩下的属性就是候选键
3、主键:任选一个候选键,即可作为主键
4、外键:其他表中的主键

在这里插入图片描述
在这里插入图片描述
例题
在这里插入图片描述
ABC都能推导E

不画图---找候选键
1、找到右侧没有出现的,必须是(只有出的)
2、不能遍历全图,再找既有入,也有出的(中间结点)

2.3.3 范式

基础定义

在这里插入图片描述

简述
1、第一范式:原子属性(属性不可再分)
2、第二范式:去非主属性的函数部分依赖(处理方式:拆表)
3、第三范式:去非主属性的函数传递依赖(处理方式:拆表)

第一范式-1NF

在这里插入图片描述

第二范式-2NF

在这里插入图片描述

第三范式-3NF

在这里插入图片描述

BC范式-BCNF

在这里插入图片描述

例题

在这里插入图片描述

2.3.4 关系模式分解

只要属性在,函数依赖就存在于属性之间
在考虑模式分解的过程中,分解前有一个【关系模式】。

(1)范式之间的转换一般都是通过拆分属性,即模式分解
(2)将具有部分函数依赖和传递函数依赖的属性分离出来,来达到一步步优化。
(3) 一般分为以下两种
	保持函数依赖分解
	无损分解

保持函数依赖分解

在这里插入图片描述
保持函数依赖的判断

在这里插入图片描述

无损分解

  • 一般会用 表格法 或 公式法 来验证是否为 无损分解。
  • 注意:拆分成单属性集必然是有损分解,因为单属性不可能包含依赖左右两边的属性,这个单属性已经无法再恢复。

无损分解-表格法

在这里插入图片描述

无损分解-公式法

交推出差

在这里插入图片描述

例题

在这里插入图片描述

Armstong公理系统

考概念

在这里插入图片描述


3、数据库访问接口

数据库接口访问是指应用程序与数据库之间的连接部分。
常用的数据库访问接口有:专用调用,开放数据库互联-ODBC,Java数据库连接-JDBC等。

4、数据库控制功能

要使数据库中的数据达到应用的要求,必须对其进行各种控制,这就是DBMS的控制功能,包括:并发控制、性能优化、数据的完整性和安全性、以及数据的备份与恢复等问题。

4.1 并发控制

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

4.1.1 事务的基本概念

事务是用户定义的一个数据库操作序列,要么全做,要么全不做。
特性:ACID

  • 原子性:Atomicity,事务的操作是一个整体,不能部分的完成。
  • 一致性:Consistency,指数据库从一个一致性的状态变到另一个一致的状态。
  • 隔离性:Isolation,一个事务的执行不会被另一个事务干扰
  • 持久性:Durability,事务一旦提交,改变就是永久的。

4.1.2 数据不一致问题

  • 丢失修改
  • 读“脏数据”
  • 不可重复读

在这里插入图片描述

4.1.3 封锁协议

主要有两种封锁:X封锁 和 S封锁

X封锁:加了X锁,其他的什么锁都不能加。写锁、排他锁、独占锁。
S封锁:加了S锁,还可以加S锁,但是不能加X锁。读锁,共享锁。

在多个事务并发执行的系统中,主要采取封锁协议来进行处理,常见的封锁协议有:

  1. 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可以防止丢失修改,保证事务T是可恢复的。
  2. 二级封锁协议:一级封锁协议+事务T在读取数据R之前先对其加S锁,读取完后即可释放S锁。可以防丢失修改,防读“脏数据”。
  3. 三级封锁协议:一级封锁协议+事务T在读取数据R之前先对其加S锁,直到事务结束才释放S锁。可以防丢失修改,防读“脏数据”,且保证可重复读。
  4. 两段锁协议:所有事务必须分两个阶段对数据项加锁和解锁。其中扩展阶段是在对任何数据进行读、写操作之前,首先要申请对该数据项的封锁;收缩阶段是在释放一个封锁之后,事务不能再申请和获得任何其他封锁。遵守两段封锁协议的事务可能发生死锁。

4.1.4 死锁

类似操作系统中的死锁!


4.2 数据库性能优化

可以从:硬件升级、数据库设计、检索策略和查询优化等方面入手

4.2.1 硬件升级

处理器、内存、磁盘子系统和网络。

4.2.2 数据库设计

数据库设计阶段,就可以着手考虑性能优化的问题。
对数据库进行设计优化,主要可以从逻辑设计和物理设计两个方面入手。

太规范化的数据,可能会频繁的执行 连接操作,而连接操作是最耗时间的。因此,从某种意义上来说,非规范化可以改善系统的性能。

在这里插入图片描述

在进行数据库设计时,可以考虑合理增加冗余属性,以提升系统性能。

常用的措施:

  1. 将常用的计算属性存储到数据库实体中;
  2. 重新定义实体,以减少外部属性数据或行数据的开支
  3. 将关系进行水平分割或垂直分割,以提升并行访问度。

数据库的逻辑结构固然重要,但物理设计也不可忽略。将数据放在不同的物理位置,有时能对性能提升起到非常关键的作用。例如,可以遵循以下准则:

1.与每个属性相关的数据类型应该能反应数据所需的最小存储空间,特别是对于被索引的属性更是如此。例如:能使用smallint类型就不要使用integer类型,这样,索引字段可以被更快的读取,并且可以在一个数据页上放置更多的数据行,就相应的减少了IO操作。
2. 将一个频繁使用的大关系分隔开,并放在两个单独的智能型磁盘控制器的数据库设备上,这样也能提高性能。因为有多个磁头在查找,数据分离也能提高性能。
3. 将数据库中文本或 图像属性的数据存放在一个单独的物理设备上,也可以提高性能。如果使用专用的智能型控制器,就能进一步提高性能。

4.2.3 索引优化策略-爱考

索引是提高数据库查询速度的利器,而数据库查询往往又是数据库系统中最频繁的操作,因此索引的建立与选择对数据库性能优化具有重大意义。

索引的建议与选择可遵循以下准则

  • 建立索引时,应选用经常作为查询,而不常更新的属性。避免对一个经常被更新的属性建立索引,因为这样会严重影响性能。
  • 一个关系上的索引过多会影响 UPDATE、INSERT和DELETE的性能,因为关系一旦进行更新,所有的索引就必须跟着做相应的调整。
  • 尽量分析出每个重要查询的使用频度,这样,可以找出使用最多的索引,然后可以先对这些索引进行适当的优化。
  • 对于数据量非常小的关系不必建立索引,因为对于小关系而言,关系扫描往往更快,而且消耗的系统资源更少。

4.2.4 查询优化

查询优化,也称应用程序优化,它是数据库性能优化的最后一个环节,同时,也是最重要的一个环节。查询语句的构造不当,可以使之前的优化功亏一篑。
SQL语句优化的策略非常多,例如:建立物化视图或尽可能减少多表查询;以不相干子查询替代相干子查询;只检索需要的属性;用带IN的条件子句等价替换OR语句;经常提交,以今早释放锁等。

4.3 数据库的完整性

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

数据库的完整性由各种各样的完整性约束来保证,完整性约束可以通过DBMS或应用程序来实现。

基于DBMS的完整性约束作为关系模式的一部分存入是数据库中。

4.3.1 完整性约束条件

保证数据完整性的方法之一是设置完整性检查,即对数据库中的数据设置一些约束条件,这是数据的语义体现。

完整性约束条件可以作用于 关系、元组和属性 三种。
数据的完整性约束条件一般在关系模式中给出,并在运行时做检查,当不满足时立即向用户通报,以便采取措施。

数据库中数据的语法、语义限制与数据之间的逻辑约束称为静态约束,它反映了数据及其之间的固有逻辑特性,是最重要的一类完整性约束。

静态约束包括

  1. 静态属性级约束:对数据类型的约束、对数据格式的约束、对取值范围或取值集合的约束、对空值的约束以及其他约束。
  2. 静态元组约束:
  3. 静态关系约束:实体完整性约束、参照完整性约束、函数依赖约束、统计约束。

数据库中数据变化应遵守的规则称为数据动态约束,它反映了数据库状态变迁的约束。

动态约束包括

  1. 动态属性级约束:修改属性定义时的约束,修改属性值时的约束
  2. 动态元组约束
  3. 动态关系约束。

4.3.2 实体完整性

实体完整性要求主键中的任一属性不能为空,所谓的 空值是"不知道"或"无意义"的值。

如:学生关系中 S(Sno,Sname,Ssex),其主键是Sno,插入某个元组时,就必须要求Sno不能为空。

4.3.3 参照完整性

若:基本关系R中含有另一基本关系S的主键PK相应的属性组FK,则参照完整性按要求,对R中的每个元组在FK上的值必须是S中某个元组的PK值,或者为空值。

R:选课关系 FK Sno
S:学生关系 PK Sno

如:学生关系S(Sno,Sname,Ssex)和选课关系C(Sno,Cno,Grade)两个关系,C中Sno是外键,它是S的主键,若C中出现了某个S中没有的Sno,即某个学生还没有注册,却有了选课记录,这显然是不合理的。

在实际应用中,对于参照完整性,需要明确外键能否接受空值问题,以及在被参照关系中删除元组的问题。针对不同的应用,可以有不同的删除方式。

  1. 级联删除:将参照关系中所有外键值与被参照关系中要删除元组的主键值相同的元组一起删除。
  2. 受限删除:这是一般DBMS默认的删除方式。仅当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主键相同时,系统才可以执行删除操作,否则,拒绝删除执行。
  3. 置空删除:删除被参照关系的元组,并将参照关系中相应元组的外键值置为空值。

参照关系R,被参照关系S

同时,还要考虑在参照关系中插入元组的问题,一般可采用以下两种方式。

  1. 受限插入:仅当被参照关系中存在相应的元组时,其主键值与参照关系插入元组的外键值相同时,系统才执行插入操作。
  2. 递归插入:首先向被参照关系中插入相应的元组,其主键值等于参照关系插入元组的外键值,然后向参照关系中插入元组

4.3.4 用户定义的完整性

实体完整性和参照完整性适用于任何关系型DBMS。除此之外,不同的数据库内容根据其应用环境的不同,往往还需求一些特殊的约束条件。

用户定义的完整性就是针对某一具体数据库的约束条件,反应某一具体应用所涉及的数据必须满足的语义要求。

如果一条语句执行完后立即检查,称为 立即执行约束。
如果在整个事务执行结束后再进行检查,则称为延迟执行约束。

完整性规则的五元组表示为:D,O,A,C,P
D:表示约束 作用的数据对象
O:表示触发完整性检查的 数据库操作
A:表示数据对象必须满足的断言或语义约束
C:表示选择A作用的数据对象值得谓词
P:表示违反完整性规则时触发的过程

4.3.5 触发器

在关系型DBMS中应用的比较多的一种完整性保护措施,其功能比完整性约束要强得多。

完整性约束条件只是警告;
触发器不仅仅警告,还会引起系统自动进行某些操作,以消除违反完整性约束所引起的负面影响。

4.4 数据库的安全性

数据库系统的安全性依赖于两种方式

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

在这里插入图片描述

4.4.1 用户标识与鉴别

用户的身份认证是用户使用DBMS系统的第一个环节,是系统提供的最外层保护。进行用户标识和鉴别的常用方式有 口令认证 和 强身份认证。

  1. 口令认证:
  2. 强身份认证:基础认证结合信息安全领域一些更深入技术保证措施,来强化用户身份的鉴别,例如:可以与数据证书、智能卡和用户指纹识别等多种身份识别结束相结合。

4.4.2 数据授权

用户通过身份验证之后,并不是所有的用户都能操作所有数据,要分不同的用户角色来区别对待。

一般将权限角色分为三类:

  1. 数据库登录权限类
  2. 资源管理权限类
  3. DBA权限类

还可以根据对控制用户访问数据对象的范围(或称粒度)从大到小分为四个层次:

  1. 数据库级
  2. 关系级
  3. 元组级
  4. 属性级

4.4.3 密码存储和传输

数据库中的话,只看1、数据加密技术 就行

会涉及选择题

1、数据加密技术

对称加密算法

对称加密算法也称为 私钥加密算法,加密密钥和解密密钥相同。

常见的:IDEA[密钥是128位]、DES[密钥是56位],3DES[密钥是112位]

非对称加密算法

也称为公钥加密算法,可以用来实现数字签名。

常见的:RSA[密钥是512位]

2、认证技术

数字签名

普通数字签名算法有:RSA、ElGmal、Fiat-Shamir、Des/RSA、椭圆曲线xxxx、有限自动机xxxx

特殊的签名算法有:盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名和具有消息恢复功能的签名等。

杂凑算法

1、消息摘要算法:确保信息传输完整一致,MD5
2、安全散列算法:SHA1在 TLS、SSL、SSH、S/MIME、IPSec应用

数字证书

数字证书又称为数字标识,是由认证中心CA签发的对用户的公钥的认证。

数字证书的内容应包括:CA的信息、用户信息、用户公钥、CA签发时间和有效期。

X.509标准

核心有:主体名称、主体的公钥信息、发行者唯一标识、发行者签名

证书吊销列表-CRL

身份认证

1、口令认证:用户名/密码
2、动态口令认证:一次一密,动态令牌
3、生物特征识别:通过可测量的身体或行为等生物特征进行身份认证的一种技术。分为:身体特征和行为特征。
(1)身体特征:指纹、掌型、视网膜、虹膜、人体气味、脸型、手的血管和DNA等;
(2)行为特征:签名、语音和行走步态等。
还有一种分类形式:
(1)高级生物识别技术:视网膜、虹膜、指纹识别
(2)次级生物识别技术:掌型、脸型、语音和签名
(3)深奥的生物识别技术:血管纹理、人体气味、DNA

3、密钥管体制理

主要的密钥管理体制有三种

  1. 密钥管理基础设施 - KMI
  2. 公钥基础设施 - PKI
  3. 种子化公钥 - SPK

密钥管理基础设施 - KMI

适用于封闭网、以传统的密钥管理中心为代表的KMI机制。
设定一个密钥分配中心来负责发送密钥,这种结构经历了从 静态分发 到 动态分发 的过程。
无论是静态分发还是动态分发,都是基于秘密信道(物理通道)进行。

在这里插入图片描述
PKI的基础技术包括:加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
其中,数字信封保证只有规定的接收人才能阅读通信的内容。
信息发送方用对称密钥来加密信息,将对称密钥用接收方公钥加密(这部分称为数字信封),将加密后的信息和数字信封一起发送给接收方。

公钥基础设施 - PKI

适用于开放网的PKI机制。
PKI机制解决了分发密钥时依赖密钥信道的问题。
完整的PKI系统必须具有:CA、数字证书库、密钥备份与恢复系统、证书作废系统和应用接口等。

在这里插入图片描述

种子化公钥 - SPK

适用于规模化专用网的SPK机制。
主要是为了解决 密钥管理的问题。可以通过两种方式实现:
(1)多重公钥LPK:用RSA实现
(2)组合公钥CPK:用DLP和ECC实现

4.4.4 视图

SELECT的结果集 构成视图所返回的虚拟关系。

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

  1. 将用户限定在关系中的特定元组上。例如:只允许雇员看到工作跟踪表内记录其工作的行。
  2. 将用户限定在特定属性上。例如,对于那些不负责处理工资单的雇员,只允许他们看到雇员表中的姓名、工作电话和部门属性,而不能看到任何包含工资信息或个人信息的属性。
  3. 将多个关系中的属性连接起来,使它们看起来像一个关系。
  4. 聚合信息而非提供详细信息。例如:显示一个属性的和,或属性的最大值和最小值等。

4.4.5 审计与跟踪

身份认证是一种事前的防范措施,审计则是一种事后监督的手段。
跟踪也是DBMS提供的监视用户动作的功能,然而,审计和跟踪是两个不同的概念,主要是两者的目的不同。

跟踪主要是满足系统调试的需要,捕捉到的用户行为记录往往只用于分析,而并不长久的保存,而审计作为一种安全检查的措施,会将系统的运行状况和用户访问数据库的行为以日志形式记录并保存下来,这种日志往往作为一种稽查用户行为的一种证据。

审计分:

  1. 用户审计:每次操作的用户名、时间、操作代码等信息
  2. 系统审计:系统一级命令和数据对象的使用情况

4.5 备份与恢复技术

4.5.1 备份

在这里插入图片描述
1、物理备份

在这里插入图片描述

2、逻辑备份

利用DBMS自带的工具 软件备份和恢复数据库的内容。
如,Oracle的导出工具为exp,导入工具为imp,可以按照表、表空间、用户和全库 4个层次备份 和 恢复数据。

Sybase的全库备份命令是 dump database,全库恢复命令是 load database,还可以利用BCP命令来备份和恢复指定表。

4.5.2 日志文件

根据记录,可以将数据文件恢复成事务前的状态。
从事务动作开始,事务日志就处于记录状态,事务执行过程中对数据库的任何操作都记录在内,直到用户提交或回滚后才结束记录。

4.5.3 数据恢复

  1. 事务故障恢复:是系统自动完成的,对用户是透明的(不需要DBA的参与)。
  2. 系统故障恢复:在系统重新启动时自动完成,不需要用户参与。
  3. 介质故障与病毒破坏的恢复:装入最新的数据库后备副本,然后扫面日志文件,xxxx
  4. 有检查点的恢复技术:

保证大部分数据可以恢复回来~

在这里插入图片描述

4.6 数据中心的建设

数据中心可以实现异地备份。

数据中心的功能,不限于异地备份。数据中心形式的数据库建设为用户构建了统一的集中运行平台,建立开放式多层架构体系,优化整合现有设备资源。

  1. 构建专用存储系统,集中存储数据。
  2. 构建统一的数据库集中运行平台,提高数据处理能力。
  3. 建立多种系统应用平台,提高集中运行平台的适应性。
  4. 整合优化现有计算机设备资源,提高集中管理和应用水平。
  5. 扩展数据备份系统,提高系统可靠性。
  6. 建立集中运行管理机制,实现设备和系统资源的统一管理。

5、数据库设计与建模

5.1 数据库设计阶段

#
1、需求分析:即分析数据存储的要求和边界,产出物有数据流图、数据字典、需求说明书
2、概念结构设计:设计用户的数据模型,与具体DBMS无关的概念模型,一般是设计E-R图,也即实体-属性图,无物理实现无关,就是说明有哪些实体,实体有哪些属性
3、逻辑结构设计:将E-R图转换为关系模式,也即 转换成 [实际的表][表中的列属性],这里要考虑很多规范化的东西
4、物理设计:根据生成的[]等概念,生成物理数据库

在这里插入图片描述


数据库设计阶段
1.规划
2.需求分析:元数据。用数据字典管理元数据。
3.概念设计:也称概念结构设计。其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖任何DBMS的数据模型,即概念模型。可邀请用户参与。
4.逻辑设计:也称逻辑结构设计。其任务是将概念模型转化为某个特定的DBMS上的逻辑模型。逻辑设计的目的是将概念设计阶段设计好的E-R图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。
5.物理设计:也称物理结构设计。其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构。

5.2 实体联系模型

Entity-Relationship

在这里插入图片描述
在这里插入图片描述
E-R图 向 关系模式 的转换

属于逻辑设计阶段的工作,具体的转换规则
1、一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的主键就是关系的主键
2、一个 1:1 联系 可以转换为 一个独立的关系模式,也可以与任意一端对应的关系模式合并
3、一个 1:n 联系可以转换为一个独立的关系模式,也可以与任意n端对应的关系模式合并
4、一个 m:n 联系转换为一个独立的关系模式,与该联系相连的各实体的主键以及联系本身的属性均转换为关系的属性,而关系的主键为各实体主键的组合。
5、三个以上实体间的一个多元联系可以转换为一个独立的关系模式
另外,还有4种情况需要特别注意的
1、多值属性的处理:如果E-R图中的某实体具有一个多值属性,则应该进行优化,把该属性提升为以一个实体,通常称为弱实体;或者在转化为关系模式时,将实体的主键与多值属性单独构成一个关系模式。
2、BLOB型属性的处理:典型的BLOB是一张图片或是一个声音文件,由于它们的容量比较大,必须使用特殊的方式来处理。处理BLOB的主要思想就是让文件处理器不去理会文件的内容,而是关心如何去处理它。因此,从优化的角度考虑,应采用的设计方案是将BLOB属性与关系的主键独立为一个关系模式。
3、派生属性的处理:因为派生属性可由其他属性计算得到,因此,在转化为关系模式时,通常不转换派生属性。
4、在面向对象的模型中,本节的关系模式就对应类,关系模式的属性就对应类的属性。

在这里插入图片描述

6、分布式数据库系统

一般下午题考

局部数据库位于不同的物理位置
使用一个全局的DBMS将所有局部数据库联网管理,就是分布式数据库

在这里插入图片描述

6.1 分布式数据库概述

分布式数据库的特点:

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

在这里插入图片描述

  1. 全局外模式:全局外模式是全局应用的用户视图,是全局概念模式的子集,该层直接与用户(或应用程序)交互。
  2. 全局概念模式:定义分布式数据库中数据的整体逻辑结构,数据就如同没有分布一样,可采用传统的集中式数据库中所采用的方式进行定义。全局概念模式中所用的数据模型应该易于向其他层次的模式映射,通常采用关系模型。
  3. 分片模式:在某些情况下,需要将一个关系模式分解为几个数据片,分片模式正是用于完成此项工作的。
  4. 分布模式:就是数据分布在不同的物理位置。分布模式的主要职责就是定义数据片段的存放节点。分布模式的映射类型决定了分布式数据库是冗余的还是非冗余的。若是一对多的,即一个片段分配到多个节点上存放,就是冗余的分布式数据库,否则就是不冗余的分布式数据库。根据分布模式提供的信息,一个全局查询可分解为若干子查询,每个子查询要访问的数据属于同一场地的局部数据库。由分布模式到各局部数据库的映射将存储在局部场地的全局关系映射为各局部概念模式,采用局部场地的DBMS所支持的数据模式。
  5. 局部概念模式
  6. 局部内模式

分布式数据库的优点

  1. 分布式数据库可以解决企业部门分散而数据需要相互联系的问题。如 银行总行 和 分行。
  2. 如果企业需要增加新的相对自主的部门来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。
  3. 分布式数据库可以满足均衡负载的需要。
  4. 当企业已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。
  5. 相等规模的分布式数据库系统在出现故障的概率上 不会比集中式数据库系统 低,但由于其故障影响仅限于局部数据应用,因此,就整个系统来说,它的可靠性是比较高的。

6.2 数据分片

数据分片的分类

  1. 水平分片
  2. 垂直分片
  3. 导出分片
  4. 混合分片

数据分片的原则

  1. 完整性
  2. 重构性
  3. 不相交性

分布透明性

  1. 分片透明性
  2. 位置透明性
  3. 局部数据模型透明性

6.3 分布式数据库查询优化

通信代价的降低时分布式数据库查询优化的关键。

  1. 局部查询
  2. 远程查询
  3. 全局查询

优化的技术有:

  1. 全局查询树的变换
  2. 副本的选择与多副本的更新策略
  3. 查询树的分解:后序遍历法
  4. 半连接与直接连接:

7、数据仓库技术

数据仓库是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,用于支持管理决策。

在这里插入图片描述

7.1 联机分析处理 - OLAP

OLTP 是传统数据库的主要应用,支持基本的、日常的事务处理;
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

在这里插入图片描述
OLAP的基本多维分析操作有:钻取、切片和切块、旋转等。

实现方式:关系型OLAP、多维型OLAP、混合型OLAP
ROLAP MOLAP HOLAP

7.2 数据仓库概述

数据仓库的特点

1、主题性
(1)数据仓库中的数据是按照一定的主题进行组织的。
(2)主题是用户根据数据仓库进行决策时所关注的重点,一个主题通常与多个操作型信息系统相关。
(3)这种组织方式使得数据仓库能够提供一个完整、统一的描述,刻画出各个分析对象所涉及的企业各项数据以及数据之间的联系.
(4)典型:如商品主题、超市主题

2、集成性
(1)数据仓库中的数据是从原来的各个分散的数据库或子系统中提取出来的,经过统一、综合的加工与集成,形成新的数据集合。
(2)这一过程包括数据的抽取、转换和加载,以消除原有数据的不一致性,保证数据仓库内的数据一致性和全局性。

3、数据稳定性(非易失的)
(1)数据仓库中的数据主要供决策分析使用,因此数据以只读格式保存,不可修改。
(2)这意味着数据仓库主要是进行查询操作,而不是进行实时的增删改。
(3)数据仓库会定期加载和刷新数据,但数据会长期保留,所以数据仓库是相对稳定的。

4、随时间变化(反映历史变化)
(1)数据仓库中的数据是随时间不断变化的。
(2)每隔一段固定的时间间隔,运作数据系统中产生的新数据会被抽取、转换并集成到数据仓库中,而数据的过去版本仍被保留。这使得数据仓库能够反映企业数据的历史变化,为决策分析提供全面的数据支持。

ETL

“抽取、转换和加载:Extraction-Transformation-Loading”
在技术上,ETL主要涉及 关联、转换、增量、调度和监控等几个方面。

数据仓库的分类

  1. 企业仓库:面向企业级应用
  2. 数据集市:面向企业部门级应用
  3. 虚拟仓库:是操作型数据库上视图的集合。

非结构化数据与数据仓库

为了更好的管理非结构化数据,数据仓库采用了元数据。

结构化数据进入数据仓库后一般都是永久保存的,而非结构化数据保存可能存在时效性。

7.3 数据仓库的设计方法

  1. 自顶向下
  2. 自底向上
  3. 混合法

8、数据挖掘技术

8.1 数据挖掘技术概述

数据挖掘所得到的信息应具有先知、有效和可实用三个特征。

数据挖掘的体系结构

在这里插入图片描述

数据挖掘的流程

  1. 问题定义
  2. 建立数据挖掘库
  3. 分析数据
  4. 调整数据
  5. 模型化
  6. 评价和解释

8.2 常用技术与方法

数据挖掘的常用技术

  1. 决策树方法
  2. 分类方法
  3. 粗糙集方法
  4. 神经网络
  5. 关联规则
  6. 概念树方法
  7. 遗传算法
  8. 依赖性分析
  9. 公式发现
  10. 统计分析方法
  11. 模糊论方法
  12. 可视化分析

数据挖掘的分析方法

  1. 关联分析
  2. 序列分析
  3. 分类分析
  4. 聚类分析
  5. 预测方法
  6. 时间序列分析

在这里插入图片描述

在这里插入图片描述

8.3 数据挖掘技术的应用

  1. 空间数据挖掘
  2. 多媒体数据挖掘
  3. 文本数据挖掘

9、数据库新技术

9.1 联邦数据库

在这里插入图片描述

9.2 NoSQL

not only sql

主要是为了解决:高并发和海量数据

关系型数据库和NoSQL对比

在这里插入图片描述

NoSQL模式的种类、典型代表

在这里插入图片描述

在这里插入图片描述

NoSQL的缺点

  1. 成熟度不高,大量关键特性有待实现
  2. 开源数据库产品的支持力度有限
  3. 数据挖掘与商务智能支持不足,现有产品无法直接使用NoSLQ数据库
  4. NoSQL数据库专家少,大多处于学习阶段

9.3 内存数据库

在这里插入图片描述

9.4 数据库性能优化

在这里插入图片描述

9.5 大数据

在这里插入图片描述

9.6 SQL语言

create table
primary key()
foreign key()
alter table
drop table
index
view
select xxx from xxx where xxx
group by

grant ... on ... to 
revoke ... on .... from ...
with check option
DISTINCT  唯一
UNION
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值