[II. Services] 5.1 关系型数据库基础


5.1.1 关系型数据库模型图

数据库的定义

数据库是数据的汇集,它以一定的组织形式存于存储介质上

数据库的发展史

发展阶段 数据库形式 数据库特点
萌芽阶段 文件系统方式 使用磁盘文件来存储数据
初级阶段 网状数据库 出现了网状模型、层次模型的数据库
中级阶段 关系型数据库 关系型数据库和结构化查询语言【二维表(横行纵列)】
高级阶段 面向对象数据库 “关系-对象”

文件系统方式的明显缺点

  • 需要一定的规范
  • 需要分析文本内容的格式
  • 会消耗大量精力在分析文本内容格式上,而不是数据本身(舍本逐末)
  • 不支持并发访问
  • 文件权限无法控制文件内容的权限分层

数据库方式的优点

  • 数据和程序相独立
  • 会以与程序相匹配的格式来存放数据文件
  • 可以在数据库上加精确权限,实现非常灵活的安全管理
  • 日志功能:支持还原,更加可靠
  • 增加约束,限制用户输入数据的范围

DBMS

全称:Database Managerment System 数据库管理系统

用来管理数据库的系统软件,实现数据库系统的各种功能,是数据库系统的核心组成

DBA

全称:Database Administrator 数据库管理员

岗位职责:负责数据库的规划、设计、协调、维护和管理等工作

DBMS的基本功能

基本功能 说明
数据的定义 应该以何种形式来存储数据
数据的处理 如何对数据做增删改查操作
数据的安全 对数据库做分层的访问权限控制
数据的备份 通过日志将数据库还原到指点时间点

RDBMS

全称:Relational Database Management System 关系型数据库管理系统

将数据组织为相关的行和列的系统


RDBMS的相关概念

关系

  • 关系就是二维表
  • 表中的行、列次序并不重要

row 行

  • 表中的每一行
  • 又称为一条记录
  • 英文词汇:record

column 列

  • 表中的每一列
  • 又称为属性字段
  • 英文词汇:field

Primary Key 主键

  • 是一个属性,作用在表的某个列上,这个列上的所有字段不能重复
  • 作用:避免表中出现重复记录
  • 约束条件:
    • 1、只能有一个
    • 2、不允许为空 NULL

Foreign Key 外键

  • 一张表的字段通过另一张表的字段来获取
  • 作用:用来实现一对多的关系
  • 约束条件:
    • 不允许出现另一张表中不存在的字段

Uniq Key 唯一键

  • 可以有多个
  • 允许为空:NULL
  • 作用:保证每条记录不会出现重复

复合主键

  • 由多个列共同组成一个主键

domain 域

  • 属性的取值范围
  • 举例:性别只能是“男”和“女”两个值

transaction 事务

定义:多个操作被当作一个整体对待

事务具有ACID特性

特性简称 特性全称 说明
A 原子性 不可分割
C 一致性 保持总数据(总帐)时时刻刻不变
I 隔离性 多个事务相互隔离,不会看到事务结束前的脏数据
D 持久性 事务结束后的数据会永久保存
  • 注意:
    • 支持回滚rollback
    • 事务结束之前存在脏数据

实体-联系模型E-R

实体

客观存在并可以相互区分的客观事物或抽象事件称为实体
在E-R图中用矩形框表示实体,把实体名写在框内

属性

实体所具有的特征或性质

联系

联系是数据之间的关联集合,是客观存在的应用语义链

  • 实体内部的联系
    • 指组成实体的各属性之间的联系
    • 举例:职工实体中,职工号和部门经理号之间有一种关联关系
  • 实体之间的联系
    • 指不同实体之间联系
    • 举例:学生选课实体和学生基本信息实体之间

实体之间的联系用菱形框表示

联系类型

  • 一对一联系(1:1)
  • 一对多联系(1:n)
  • 多对多联系(m:n)

数据三要素

数据结构

  • 数据的类型、内容
  • 数据之间的联系

数据的操作

  • SELECT 查询
  • UPDATE 修改
  • INSERT 增加
  • DELETE 删除

数据的约束条件

  • 设置限制性保证数据的完整性、合法性
    • (行)实体完整性:主键、唯一键
    • (列)域完整性
    • 参考完整性:外键

简易数据规划流程

  • 第一阶段:收集数据,得到字段
    • 收集必要且完整的数据项
    • 转换成数据表的字段
  • 第二阶段:把字段分类,归入表,建立表的关联
    • 关联:表和表间的关系
    • 分割数据表并建立关联的优点
    • 节省空间
    • 减少输入错误
    • 方便数据修改
  • 第三阶段:规范化
    • 主键、唯一键、约束
    • 保证数据库不出现重复数据,节约存储空间

RDMBS设计范式

  • 定义
    • 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式
    • 各种范式呈递次规范,越高的范式数据库冗余越小
  • 目的:减少数据库冗余
  • 主流范式
    • 1NF
      • 无重复的列
      • 这是RDBMS的基本要求
    • 2NF
      • 属性完全依赖于主键
      • 复合主键
    • 3NF
      属性不依赖于其他非主属性
  • 某些场景下:范式是用来打破的;目的是减少查询复杂度,提高性能

SQL概念

全称:Structure Query Language 结构化查询语言

特点:只关注要得到的数据,不关心数据在磁盘上保存的格式(数据在磁盘上的操作过程)

数据存储协议:应用层协议,C/S

  • Server服务器
    • IP+port=socket:套接字
    • TCP3306:MySQL
    • TCP1521:Oracle
    • TCP1433:MSSQL
  • Client客户端
    • 客户端程序接口
      • CLI
      • GUI
    • API应用编程接口
      • ODBC:Open Database Connectivity
      • JDBC:Java Database Connectivity

基本概念

  • constaint 约束
    • 表中的数据要遵守的限制
    • 约束类型
      • 主键
      • 外键
      • 唯一键
      • 检查
  • 全表扫描
    • 从头到尾做完整查询
  • 索引
    • 类似于书的目录
    • 代价:占用一部分空间
    • 数据变化频繁时,不推荐使用索引!
  • 关系运算
    • 选择
      • 挑选出特定的记录
    • 投影
      • 挑选特定的字段
    • 连接
      • 表间字段的联系

数据模型

  • 数据抽象
    • 物理层
      • 数据库的数据和日志分开存放
    • 逻辑层
      • DBA角度
      • 数据之间的关联
    • 视图层
      • 用户角度
      • 抽取数据库中的部分数据,只能看到希望被看到的数据
  • 关系模型的分类
    • 关系模型
    • 基于对象的关系模型
    • 半结构化的关系模型
      • 举例:xml格式、json格式

文章归类:[II. Services] 第5章 MySQL
文章标题:[II. Services] 5.1 关系型数据库基础
作者:林永峰
撰写日期:2018年6月5日
遵循的开源协议:GPL


-EOF-

猜你喜欢

转载自blog.csdn.net/gymumanalvin/article/details/80576409
5.1