likes
comments
collection
share

闲来无事了解下数据库 - 数据库系统概述

作者站长头像
站长
· 阅读数 27

总览

闲来无事了解下数据库 - 数据库系统概述

1. 数据库基本概念

什么是数据 (Data)

数据是描述事物的符号记录 , 是指利用物理符号记录下来的可以鉴别的信息

e.g. 张三, 职业: iOS开发工程师, 公司: LINE, 🐮🍺不: 🐮🍺, ......

e.g. 文字字符的文本数据, 图形图像的多媒体数据等

万事万物皆数据, 数据只是信息存在的一种形式, 只有通过解释或处理的数据, 才能成为有用的信息

数据的语义

数据的解释是对数据含义的说明, 也称为数据的语义

什么是数据库 (Database, DB)

数据库是指长期储存在计算机中的有组织的, 可共享的数据集合

就是存储数据的仓库

数据库有三个特点: 永久存储, 有组织, 可共享

数据库管理系统 (Database Management System, DBMS) 及其功能

数据库管理系统是专门用于建立和管理数据库的一套软件, 介于应用程序操作系统之间

数据库管理系统的功能

  1. 数据定义功能 (Data Definition Language, DDL)
  2. 数据操纵功能 (Data Manipulation Language, DML)
  3. 数据库的运行管理功能
  4. 数据库的建立和维护功能
  5. 数据组织, 存储和管理功能
  6. 与其他软件的网络通信功能
  7. 不同数据库管理系统之间的数据传输以及相互访问功能

数据库系统 (Database System, DBS) 的构成

  1. 用户 (程序员)
  2. 用户 (数据库终端用户)
  3. 应用程序
  4. 数据库管理系统 (DBMS)
  5. 数据库管理员 (Database Administrator, DBA)
  6. 数据库 (DB)

2. 数据库管理技术的发展

人工管理阶段

时间段: 20世纪50年代中期以前

特点:

  1. 数据不保存
  2. 应用程序管理数据
  3. 数据面向应用程序

上图

闲来无事了解下数据库 - 数据库系统概述

文件系统阶段

时期: 20世纪50年代后期到60年代中期

特点:

  1. 数据可长期保存
  2. 专门管理

上图

闲来无事了解下数据库 - 数据库系统概述

数据库系统阶段

时期: 20世纪60年代后期

特点:

  1. 数据集成
  2. 数据共享性高
  3. 数据冗余小
  4. 数据一致性
  5. 数据独立性高
  6. 实施统一管理与控制
  7. 减少应用程序开发与维护的工作量

3. 数据库系统的结构

数据库系统的结构分类

  1. 从DBA视角分为内部系统结构, 外部系统结构

其中内部系统结构采用三级模式, 分为模式, 内模式, 外模式

其中外部系统结构分为集中结构, 分布式结构, 并行结构

  1. 从数据库应用的用户视角, 分为客户/服务器结构, 浏览器/服务器结构

客户端/服务器结构 (Client/Server, C/S)

C端的任务是完成与数据库使用者的交互任务

S端的任务是主要负责数据管理

当然, 他们还有很多别称, 比如

C端我们还可以称为前台, 客户端, 表示层

S端我们还可以称为后台, 服务器, 数据层

上图

闲来无事了解下数据库 - 数据库系统概述

浏览器/服务器结构 (Browser/Server, B/S)

B端为浏览器, S端为服务器, 浏览器属于客户端的一种Web应用, 所以也可以称这种结构为基于Web应用的C/S结构, 也称之为三层C/S结构

上图

闲来无事了解下数据库 - 数据库系统概述

数据库系统的三级模式结构

闲来无事了解下数据库 - 数据库系统概述

外模式, 又称为子模式用户模式, 我们可以理解为不同的外模式, 对应着不同的查看数据的权限

模式, 又称为概念模式逻辑模式

内模式, 又称为存储模式

模式名称 模式别称 视图类型
模式 概念模式/逻辑模式 概念视图
外模式 子模式/用户模式 数据视图, 用户视图
内模式 存储模式 内部视图, 存储视图

上图

闲来无事了解下数据库 - 数据库系统概述

三级模式的两层映像与数据独立性

什么是映像

映像, 就是一种对应规则, 它指出映像双方是如何进行转换的

映像分类

  1. 模式/内模式映像, 保证了数据与程序的物理独立性 上图

  2. 外模式/模式映像, 保证了数据与程序的逻辑独立性 上图

4. 数据模型

什么是模型 (Model)

模型是现实世界特征的模拟抽象表达

数据模型 (Data Model) 是对现实世界数据特征的抽象, 描述的是数据的共性内容

数据的特征

分为静态特征动态特征

静态特征

​ * 数据的基本结构

​ * 数据间的联系

​ * 数据取值范围的约束

动态特征

​ * 指对数据可以进行符合一定规则的操作

数据模型组成要素

  1. 数据结构, 系统静态特征, 包括数据对象的数据类型, 内容, 属性, 数据对象之间的联系
  2. 数据操作, 系统动态特征
  3. 数据约束, 数据结构中数据间的语法和语义关联

数据模型的分类

  1. 概念模型, 现实世界到信息世界转换
  2. 逻辑模型和物理模型, 信息世界到机器世界转换

什么是概念层数据模型 (Conceptual Model)

概念层是数据抽象级别的最高层. 概念层数据模型, 也称为概念模型或信息模型, 主要用于数据库的设计阶段

信息世界涉及的基本概念

实体 (Entity), 客观存在并可相互区别的事物称为实体, 实体可以是实际的事物, 也可以是抽象的概念, 如学生, 课程

属性 (Attribute), 实体所具有的某种特性称为实体的属性, 如学生具有学号, 姓名, 性别等属性

码或键 (Key), 可唯一标识实体的属性称为码或键. 如学号是学生的码或键

域 (Domain), 属性的取值范围称为该属性的域. 如学生的性别的属性, 域为男或者女

实体型 (Entity Type), 用实体名与属性集合来抽象同类实体, 称为实体型. 如, 学生(学号, 姓名, 性别) 就是一个实体

实体集 (Entity Set), 同型实体的集合称为实体集. 如, 每个学生是一个实体, 所有学生构成一个实体集

联系 (Relationship), 实体(型))内部的联系和实体(型))之间的联系, 内部的联系指的是各属性之间的联系, 实体之间的联系指的是不同实体之间的联系

型 (type), 相当于一个表格的表头, 姓名, 性别, 年龄, 籍贯, 电话

值 (value), 相当于表格中的每行数据, 张三, 男, 18, 北京, 13611112222

概念模型的表示方法

用E-R图来表示概念模型 上图

闲来无事了解下数据库 - 数据库系统概述

实体-联系方法 (Entity - Relationship approach)

E - R 图 (Entity - Relationship Diagram)

实体型, 用矩形表示, 框内注明实体的名称

属性, 用椭圆形表示, 框内注明属性的名称, 用线与相应实体连接起来

联系, 用菱形表示, 框内注明联系的名称, 用线与有关实体连接起来, 同时在线上标明联系的类型(1:1, 1:N, M:N)

联系也可以具有属性, 这些属性与联系用线连接起来

什么是逻辑层数据模型 (Logical Model)

逻辑层是数据抽象级别的中间层. 逻辑层数据模型, 也称为数据的逻辑模型. 任何DBMS都是基于某种逻辑数据模型

逻辑模型的类型

层次模型

​ * 最早的一种数据模型

​ * 有且仅有一个结点没有父结点, 称作根结点

​ * 其他结点有且仅有一个父结点

网状模型

​ * 以网状结构表示实体与实体间的联系

​ * 允许结点有多于一个父结点

​ * 可以有一个以上的结点没有父结点

关系模型

​ * 用二维表结构来表示实体间的联系

​ * 建立在严格的数学概念的基础上

​ * 概念单一

​ * 存取路径对用户透明, 有更高的数据独立性, 更好的安全保密性

也就是我们常用的表格

面向对象模型

​ * 面向对象方法与数据库相结合所构成的数据模型称为面向对象模型

​ * 既是概念模型, 又是逻辑模型

​ * 表达能力丰富, 对象可复用, 维护方便

什么是物理层数据模型 (Physical Model)

物理层数据模型, 是数据库最底层的抽象, 也称为数据的物理模型. 设计目标是提高数据库性能和有效利用存储空间

概念模型 数据抽象级别的最高层, 主要用于数据库的设计阶段
逻辑模型 数据抽象级别的中间层, 任何DBMS都是基于某种逻辑数据模型
物理模型 数据抽象级别的最底层, 设计目标是提高数据库的性能和有效利用存储空间

概念模型, 逻辑模型, 物理模型之间的关系

三个不同的数据模型既相互独立, 又存在着关联.

从现实世界到概念模型的转换是由数据库设计人员完成的

从概念模型到逻辑模型的转换可以由数据库设计人员完成, 也可以用数据库设计工具协助设计完成

从逻辑模型到物理模型的转换主要是由数据库管理系统完成的

总结

看到35岁程序员的焦虑, 虽然自己尚未步入30, 但是, 在这个行业可能也算是老菜鸟了, 话不多说, 充实下自己吧! 不是变老了, 就当不了程序员了; 而是变老了, 还不学习了, 所以才有了老龄程序员的焦虑!

转载自:https://juejin.cn/post/6844903909924798478
评论
请登录