数据库理论知识

一、什么是数据库

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:

  1. 数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
  2. 数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

数据库作为最重要的基础软件,是确保计算机系统稳定运行的基石。

二、数据库的4个基本概念

  1. 数据(Data):数据是数据库中存储的基本对象。官方解释为描述事务的符号记录称为数据,它可以是数字、文字、图形、图像、音频、视频等。数据有多种表现形式,他们都可以经过数字化后存入计算机。记录是计算机中表示和存储数据的一种格式或一种方法。
  2. 数据库(DataBase,DB):顾名思义,数据库就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按照一定的格式存放的。严格的讲,数据库是长期存储在计算机中、有组织的、可共享的大量数据的集合。数据库中的数据时按一定的数据模型组织、描述、存储,具有较小的冗余度、较高的数据独立性和易拓展性,并可为各种用户共享。概括的讲,数据库数据具有永久存储、有组织、可共享三个基本特点。
  3. 数据库管理系统(DataBase Management System,DBMS):数据库管理系统是一个介于用户和操作系统之间的一层数据管理软件。它的主要功能包含以下几个方面:
    • 数据定义
    • 数据组织、存储、管理
    • 数据操纵
    • 数据库的事务管理和运行管理
    • 数据库的建立和维护
  4. 数据库系统(DataBase System,DBS):数据库系统是由数据库、数据库管理系统及其应用开发工具、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理、维护数据的系统。

三、数据库的特点

  1. 数据结构化
  2. 数据的共享性高、冗余度低且易扩充
  3. 数据独立性高
  4. 数据由数据库管理系统统一管理和控制

四、数据库工作流程

  1. 用户通过应用程序发起数据库的处理请求(增删改查)
  2. 数据库管理系统将处理请求转换为机器语言实现对数据库及数据的操作
  3. 在处理完毕后将结果通过数据库管理系统返回给用户
    在这里插入图片描述

五、数据库分类

1.关系型数据库

1)关系型数据库介绍

  1. 关系数据库系统是基于关系模型的数据库系统
  2. 关系模型的数据结构使用简单易懂的二维数据表
  3. 关系模型可用简单的“实体-关系”(E-R)图来表示
  4. E-R图中包含了实体(数据对象)、联系和属性三个要素

实体:客观存在并可相互区别的事物成为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如一个学生、一个部门、一门课等都是实体。

实体集:同一类型的实体的集合称为实体集。例如,全体学生就是一个实体集。

属性:实体所具有的某一特性称为属性。一个实体可以有若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成,这些属性表征了一个学生。

联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反应为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多、多对多等多种类型。

  1. 一 对一联系:如果对于实体集A中的每一个实体,实体集B中至多有1个(可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例如,一个班级只有一个班长,而一个班长只在一个班级中任职,则班级与班长之间具有一对一联系。
  2. 一对多联系:如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多有1个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。例如,一个班级有n个学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。
  3. 多对多联系:如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m>=0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。例如,一个学生可以选修多门课程,而一门课程可以有多个学生选修,则课程与学生之间具有多对多联系。
    在这里插入图片描述

2)关系型数据库的存储结构

关系型数据库的存储结构是二维表格。

在每个二维表中:

  • 每一行称为一条记录,用来描述一个对象的信息。
  • 每一列称为一个字段,用来描述对象的一个属性。

3)关系型数据库的优缺点

优点:

  1. 易于维护:都是使用表结构,格式一致;
  2. 使用方便:SQL语言通用,可用于复杂查询;
  3. 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

  1. 读写性能比较差,尤其是海量数据的高效率读写;
  2. 固定的表结构,灵活度稍欠;
  3. 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

4)关系型数据库代表

  1. Oracle,MySQL
  2. SQLServer、Sybase
  3. Informix、access
  4. DB2、FoxPRO

5)关系型数据库的应用

  1. 12306铁路购票系统
  2. 淘宝账号系统
  3. 银行用户账号系统

2.非关系型数据库

1)非关系型数据库介绍

  1. 非关系数据库也被称作NoSQL (Not Only SQL)

  2. 存储数据不以关系模型为依据,不需要固定的表格式。

2)非关系型数据库代表

  1. Redis、Memcache:缓存型数据库
  2. mongoDB:文档型数据库
  3. Elasticsearch(ES):索引型数据库

3)非关系型数据库的优缺点

优点:

  1. 数据库可高并发读写。
  2. 对海量数据高效率存储与访问。nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘
  3. 数据库具有高扩展性与高可用性。
  4. 成本低:nosql数据库部署简单,基本都是开源软件。
  5. 格式灵活,存储数据的格式可以是key/value(键值对)形式、文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

缺点:

  1. 不提供sql支持,学习和使用成本较高;
  2. 无事务处理;
  3. 数据结构相对复杂,复杂查询方面稍欠。

猜你喜欢

转载自blog.csdn.net/qq_40707090/article/details/124955398