数据库系统

  • 数据:是数据库中存储的根本对象,是形容事物的符号记录
  • 数据的品种:文本,图形,图像,音频,视频,等

数据库:是长期存储在计算机内,有组织的,可共享的大量数据的汇合

数据库的基本特征

  • 数据依照肯定的数据模型组织,形容和存储
  • 堪称各种用户共享
  • 冗余度较小
  • 数据独立性较高
  • 易扩大

数据库系统是一个采纳了数据库技术,有组织的,动静的存储大量相干数据,方柏霓多用户拜访的计算机系统, 组成:

  1. 数据库
  2. 硬件
  3. 软件
  4. 人员

数据库管理系统DBMS :

  1. 实现对共享数据无效的组织、治理和存取
  2. 包含数据定义、数据库操作、数据库运行治理、数据的存储管理、数据库的建设和保护等。

三级模式两级映像

  • 内模式:治理如何存储物理数据,对应具体物理存储文件
  • 模式:又称为概念模式,就是咱们通常应用的根本表,依据利用,需要将物理数据划分为一张张表
  • 外模式:对应数据库中的视图级别,将表进行肯定的解决后再提供给用户应用。

两级映像
外模式-模式映像
模式-内模式映像

数据库设计

  1. 需要剖析:信息要求、解决要求、零碎要求
  2. 概念结构设计:E-R 图

    1. 属性抵触:同一个属性可能会存在于不同的ER图中
    2. 命名抵触:雷同意义的属性 ,在不同的分ER图中有不同的命名
    3. 结构冲突:同一个实体在不同的er图中有不同的属性
  3. 逻辑结构设计:E-R图,转关系模式(表(针对关系型))
  4. 物理设计:表如何存储到硬件
  5. 数据库施行:建表,录数据巴拉巴拉
  6. 数据库运行和保护:运维

image.png

数据模型

四种根本模型

  • 关系模型:是二维表的的模式示意的实体分割图
  • 概念模型
  • 网状模型
  • 面向对象

数据模型的三要素

  1. 数据结构
  2. 数据操作
  3. 数据的约束条件

ER图来形容概念数据模型,
在ER模型中,应用椭圆来示意属性,长方形示意实体,菱形示意分割,分割的两端要填写分割类型
eg:

实体:客观存在并且能够互相区别的事物
弱实体:依赖于强实体存在
强实体:实在体
实体集

属性:

属性分类:简略属性,复合属性

域:属性的取值范畴成为该属性的域
码(键key):惟一标识实体的属性集

关系模型中数据的逻辑构造是一个二维表,由行列组成。

ER模型转换为关系模式:每个实体都对应一个关系模式;分割分为三种:

一对一:分割能够放到任意的两端实体中,作为一个属性,也能够转换为一个独自的关系模式
一对多:分割能够独自作为一个关系模式,也能够在N端中退出1端实体的主键
多对多:分割必须作为一个独自的关系模式,其主键只M和N端的联结主键

关系代数

并:后果是两张表中的所有记录数合并,雷同记录只显示一次
交:后果是两张表中雷同的记录
差:s1-s2 后果是两张表中 s1中有,而s2中没有的那些记录。

笛卡尔积
s1Xs2 产生的后果包含s1和s2 所有的属性列,并且s1中的每条记录顺次和s2中所有记录组合成一条记录,最终属性列为s1+s2 属性列,记录数为s1Xs2记录数

投影:理论是依照条件抉择某关系模式中的某列,列也能够用数字示意
抉择:理论是依照条件抉择某关系中的某条记录

天然链接

天然链接的结果显示全副属性列, 然而雷同的属性列只显示一次, 显示两个关系模式中属性雷同且值雷同的记录。

函数依赖

给定一个x,能确定一个y,就成为x确定y,

函数依赖:

  • 局部函数依赖: a能够确定c,(a,b)也能够确定c,(a,b) 中的一部分能够确定c ,称为局部函数依赖
  • 传递函数依赖 : a,b不等价, a能够确定b, b能够确定c ,则a 能够确定c

函数依赖公理零碎

  • 自反律
  • 增广律
  • 传递律
  • 合并规定
  • 伪传递律
  • 合成规定

键与束缚

超键: 能惟一标识此表属性的组合
候选键: 超键中去掉荣誉的属性,剩下的就是候选键
主键:选一个候选键能够作为主键
外键:其余表中的主键
主属性:候选键内的属性为主属性,其余属性为非主属性

  • 实体完整性束缚:即主键束缚, 主键值不能为空,也不能反复
  • 参照完整性束缚:即外键束缚,外键必须是其余表中曾经存在的主键的值,或者为空
  • 用户自定义的完整性束缚:自定义表达式束缚,如设定年龄属性必须在0-100 等。

范式

  • 第一范式
    关系中的每一个重量必须是一个不可分的数据项
  • 第二范式
    如果关系R属于1NF,且每一个非主属性齐全函数依赖与任何一个候选码,则R属于2NF
    局部函数依赖只存在多属性,单属性必然是2NF
    第一范式不满足第二范式,能够通过合成表格实现2NF满足
  • 第三范式
    关系R属于2NF,且不存在传递依赖,则属于3NF
  • bc范式
    bc范式是指 在第三范式的根底上,进一步打消主属性对码的局部函数依赖和传递依赖
    在每一种状况下,每一个依赖的右边决定因素都必然蕴含候选键。

候选关键字求法:依据依赖集,找出从未在左边呈现过的属性,必然是候选键之一,以该属性为根底,依据依赖集顺次扩大,看是否便当所有属性,将无奈遍历的退出到候选集中

模式合成

范式之间的转换个别是通过拆分属性,即模式合成,将具备局部函数依赖和传递依赖的属性分离出来,

放弃函数依赖合成

对于关系模式R,有依赖集F,若对R进行合成,合成进去的多个关系模式,放弃原来的函数依赖集不变,则放弃函数依赖的合成。

  • 放弃函数依赖的判断
  • 如果F上的每一个函数依赖都在其合成后的某一个关系上成立,则这个合成时放弃依赖的
  • 如果上述判断失败,并不能断言合成不是放弃依赖的,还要应用上面的通用办法来做进一步判断,该办法的表述如下:
    对F上的每一个a->b 应用上面的过程

算法挺简单,可不必记,灵便了解即可

result:=awhile(result changed) do     for each         parsed Ri         t = (result 交 Ri) + 交 Ri         result= result 并 t     done

无损合成

合成后的关系模式可能还原出原关系模式,就是无损合成,不能还原就是有损

  • 当合成为两个关系模式,能够通过一下定理判断是否为无损合成
    定理: 如果R的合成为p= {R1, R2} , F 为R所满足的函数依赖汇合,合成p具备无损连接性的充沛必要条件时 R1交R2 -> (R2 - R1)

并发管制

  • 事务:由一系列操作组成,这些操作要么全做,要么全不做,领有四种个性
  • 原子性
  • 一致性
  • 隔离性
  • 持续性
  • 事务时并发管制的前提条件,并发管制就是管制不同的事物并发执行,进步零碎效率。
  • 问题:说白了就是多线程并发导致的数据竞争问题。
  • 失落更新
  • 不可反复读
  • 读脏数据

封闭协定

  • x锁,排他锁(写锁)
  • s锁,共享锁(读锁)
  • 二级封闭协定:在一级封闭协定的根底上加上事务T在读数据R之前必须先对其加s锁,读完之后开释S锁
  • 三级封闭协定: 一级封闭协定加上事务T在读数据之前先对其加S锁,直到事务完结才开释。
    读锁可反复加,写锁全锁死

数据库安全

措施

  1. 用户标识和鉴定
  2. 存取控制
  3. 明码存储和传输
  4. 试图爱护
  5. 审计:相似log的操作

故障关系

  1. 事务自身可预期的故障
  2. 事务自身不可预期的故障
  3. 系统故障
  4. 介质故障

数据库备份

  • 动态转储:冷备份
  • 动静转储:热备份
  • 齐全备份
  • 差量备份
  • 增量备份

分布式数据库

  • 部分数据库位于不同的物理地位,应用一个全局的数据库管理系统对立治理
  • 分片模式
  • 程度分片:将表中的程度记录别离寄存不同的中央
  • 垂直分片:将表中的垂直列值,别离寄存在不同的中央
  • 散布透明性:
  • 分片透明性
  • 地位透明性
  • 逻辑透明性
  • 复制透明性

仓库技术

数据仓库是一个面向主题的、集成的、非易失的、且随工夫变动额数据汇合,用于反对管理决策

面向主题:依照肯定的主题域进行组织
集成的:数据仓库中的数据在对原有扩散的数据库数据抽取、清理的根底上通过零碎加工、汇总和整顿失去的
绝对稳固的: 个别不会删除和批改
反馈历史变动

蕴含四种档次

  1. 数据源: 是数据仓库的根底,是整个数据的零碎数据源泉
  2. 数据的存储与治理: 整个数据仓库的外围
  3. OLAP(练级剖析解决)服务器: 数据分析
  4. 前端工具: 各种报表之类的货色。

商业智能

  • 数据预处理
  • 建设数据仓库
  • 数据分析
  • 数据展示
  1. 数据预处理:抽取、转换、加载
  2. 建仓
  3. 剖析
  4. 展示

反规范化技术

规范化设计后,数据库设计者心愿就义局部规范化来进步性能

  • 采纳反标准技术的好处:
  • 升高链接操作的需要
  • 升高外码和索引的数据
  • 缩小表的数目
  • 进步查问效率

具体方法

  1. 减少冗余列
  2. 减少派生列
  3. 从新组表
  4. 程度宰割表
  5. 垂直宰割表

大数据

特点:

  • 大量化
  • 多样化
  • 价值密度低
  • 快速化
    大数据和传统数据比拟
比拟难度传统数据大数据
数据量GB TBPB or more
数据分析需要现有数据分析检测深度剖析(关联剖析,回归剖析)
硬件平台高端服务器集群平台

要解决大数据
高度可扩大
高性能
高容错

sql 语句