conanan's blog conanan's blog
首页
关于
  • 分类
  • 标签
  • 归档
  • Java
  • Java Web
  • 工具

    • Maven
  • MySQL
  • Redis
  • Git
  • Vim
  • Nginx
  • Docker
GitHub

Evan Xu

前端界的小学生
首页
关于
  • 分类
  • 标签
  • 归档
  • Java
  • Java Web
  • 工具

    • Maven
  • MySQL
  • Redis
  • Git
  • Vim
  • Nginx
  • Docker
GitHub
  • 基础

    • 数据库简介
      • 存储数据方式演变 🔥
        • 人工管理阶段
        • 文件系统阶段 🔥
        • 数据库阶段 🔥
      • DBMS(数据库管理系统)
        • 层次数据库(Hierarchical Database,HDB)
        • 关系数据库(Relational Database,RDB)
        • 面向对象数据库(Object Oriented Database,OODB)
        • XML 数据库(XML Database,XMLDB)
        • 键值存储系统(Key-Value Store,KVS)
      • RDBMS(关系数据库管理系统)🔥
        • 系统架构 🔥
        • 表的结构 🔥
        • 组成
        • 特点
    • SQL 介绍
    • 列数据类型 🔥
    • DDL—数据库
    • DDL—表&列 🔥
    • DML 🔥
    • DQL 🔥
    • 复杂查询 🔥
    • 集合运算 🔥
    • 存储程序
  • 高级

  • 运维

  • 练习

  • MySQL
  • 基础
conanan
2021-01-06

数据库简介

# 数据库简介

# 存储数据方式演变 🔥

从古至今人们都有存储数据的需求,比方说记录账目开支、货物清单、人口统计等等等等,存储的方式也一直在变化。

# 人工管理阶段

很久很久以前,人们把数据存在动物骨头上,后来存到竹片上,再后来存到纸上,直到近代发明了磁带留声机啥的,不过这些都是依赖人工进行整理、保存和查询的,特点就是效率低下、错误率高、查找不方便等等等等。

# 文件系统阶段 🔥

后来人们发明了计算机,为了管理各种数据,人们发明了一种叫文件系统的东东,可以方便的通过文件的存储路径和文件名来访问各个文件的内容,计算机程序也可以直接通过文件系统来操作各种文件,比人工管理爽多了。

# 数据库阶段 🔥

随着文件中存储的内容越来越多,在文件中修改和查找某些数据已经变得非常困难了,所以人们发明了一种专门的软件来管理存储的数据,这些数据依照一定格式保存,通过这个软件可以方便的对数据进行增删改查操作,从而极大的提升了数据管理效率,人们就把这个管理数据的软件叫做数据库管理系统(英文:Database Management System,简称:DBMS)。

# DBMS(数据库管理系统)

DBMS(数据库管理系统)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这个数据集合通常称作数据库(database),其本质上是一个文件系统。DBMS 可以实现多个用户同时安全简单地操作大量数据。

DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型:

# 层次数据库(Hierarchical Database,HDB)

最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。很少使用。

# 关系数据库(Relational Database,RDB)

1969 年诞生,和 Excel 工作表一样,它也采用由行和列组成的二维表来管理数据,使用专门 SQL(Structured Query Language,结构化查询语言)对数据进行操作。这种类型的 DBMS 称为关系数据库管理系统(Relational Database Management System,RDBMS)。比较具有代表性的 RDBMS 有如下几种:

  • MySQL:开源免费的小型的数据库,功能强大。已经被 Oracle 收购了。

  • PostgreSQL:开源的RDBMS

  • Oracle:收费的大型数据库,Oracle 公司的产品。收购了 Sun 和 MySql

  • SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用

  • DB2 :IBM 公司的数据库产品,收费的。常应用在银行系统中

  • SQLite: 嵌入式的小型数据库,应用在手机端,如:Android

# 面向对象数据库(Object Oriented Database,OODB)

把数据以及对数据的操作 集合起来以对象为单位进行管理。面向对象数据库就是用来保存这些对象的数据库。

# XML 数据库(XML Database,XMLDB)

最近几年(SQL基础教程书17年出版),XMLB 作为在网络上进行交互的数据的形式逐渐普及起来。 XML 数据库可以对 XML 形式的大量数据进行高速处理。

# 键值存储系统(Key-Value Store,KVS)

这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列 (hash)。需要对大量数据进行超高速查询的 Web 服务当中。

# RDBMS(关系数据库管理系统)🔥

# 系统架构 🔥

  • RDBMS 通常使用客户端 / 服务器这样的 CS 系统结构。 RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个 RDBMS。
  • 通过从客户端向服务器端发送SQL语句来实现数据库的读写操作。

image.png

# 表的结构 🔥

  • 关系数据库采用被称为数据库表的二维表来管理数据。表存储在由 RDBMS 管理的数据库中,可以存储多个表。
  • 数据库表由表示数据项目的列(字段)和表示一条数据的行(记录)所组成,以行(记录)为单位进行数据读写。

img

# 组成

  • N 个 DataBase(文件夹)

    • N 个 Table(文件),其中有定义表的列名和列类型的表结构

      • N 个表记录:一行一行的数据记录

# 特点

  • 持久化存储数据的。其实数据库就是一个文件系统
  • 方便存储和管理数据
  • 使用了统一的方式操作关系型数据库 -- SQL
编辑
上次更新: 2021/01/06, 17:26:33
SQL 介绍

SQL 介绍→

最近更新
01
线程生命周期
07-06
02
线程安全理论
06-24
03
并发简史
06-24
更多文章>
Theme by Vdoing | Copyright © 2019-2021 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×