关系型数据库基础

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 关系型数据库基础 数据库的定义 数据库是数据的汇集,它以一定的组织形式存于存储介质上 数据库的发展史 发展阶段 数据库形式 数据库特点 萌芽阶段 文件系统方式 使用磁盘文件来存储数据 初级阶段 网状数据库 出现了网状模型、层次模型的数据库 中级阶段 关系型数据库 关系型数据库和结构化查询语言【.

关系型数据库基础

数据库的定义

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

数据库的发展史

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

文件系统方式的明显缺点

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

数据库方式的优点

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

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格式
    • 原文地址https://blog.csdn.net/linyonfeng/article/details/81239309
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
29天前
|
存储 Oracle 关系型数据库
关系型数据库的介绍
关系型数据库的介绍。
15 4
|
6月前
|
Cloud Native NoSQL 关系型数据库
阿里云的关系型数据库
阿里云的关系型数据库
145 1
|
2月前
|
存储 NoSQL 关系型数据库
面试题14: 关系型数据库和非关系型数据库的区别
面试题14: 关系型数据库和非关系型数据库的区别
|
3月前
|
存储 NoSQL 关系型数据库
关系型数据库&非关系型数据库概述
关系型数据库&非关系型数据库概述
31 2
|
3月前
|
SQL 存储 关系型数据库
什么是关系型数据库?
什么是关系型数据库?
705 0
|
3月前
|
人工智能 关系型数据库 OLAP
关系型数据库,阿里云第一
关系型数据库,阿里云第一
26 0
|
9月前
|
SQL 存储 Oracle
关系型数据库介绍
关系型数据库介绍
82 0
|
4月前
|
存储 缓存 关系型数据库
关系型数据库优化
关系型数据库优化
27 1
|
4月前
|
SQL 存储 关系型数据库
关系型数据库
关系型数据库
33 1
|
4月前
|
存储 SQL NoSQL
非关系型数据库
非关系型数据库
55 1