数据库基础
基本概念
常见的数据库产品有:关系型数据库MySQL,非关系型mongoDB,时序型InfluxDB,图型Neo4j;
这些数据库需要解决的共性问题如下:
- 数据模型、规范化理论:组织数据
- 数据定义和操作语言:存取数据
- 安全性控制:用户的操作数据的权限
- 并发性控制:多人操作同一数据
- 数据恢复:故障的补救
- 数据仓库、 数据挖掘 :分析和发现有价值的数据
数据
数据是一种符号序列,它的内容是事物特性的反映。
数据是对现实世界的事物采用计算机能够识别、存储和处理的方式进行描述,或者说是计算机化的信息。
- 不仅包括数字、字母、文字和其他特殊字符;
- 而且还包括图形、图像、声音等多媒体数据。
数据库
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
数据库系统
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。
在不引起混淆的情况下常常把数据库系统简称为数据库。组成如下:
- 硬件系统
- 数据库集合
- 数据库管理系统及相关软件
- 数据库管理员(DBA)
- 用户
表
表是二维结构,它包括行和列。一个表包括一组相关的实体——实体集。有时,术语实体集和表经常互换使用。
数据库系统使用关系来组织数据元素的,因此称关系就是表也不过分;每一个表对应于一个应用实体集,而每行则代表实体的一个事例。
数据库管理系统
DBMS:一个能够让用户定义、创建和维护数据库以及控制对数据库访问的软件系统。
- 查询处理器主要有四部分:
- DDL编译器:
- DML 编译器;
- 嵌入式DML的预编译器;
- 查询运行核心程序;
- 存储管理器主要有四个部分:
- 授权和完整性管理器;
- 事务管理器;
- 文件管理器;
- 缓冲区管理器;
根据这些组件的功能,可以总结出DBMS的功能:
- 数据库定义功能:提供数据定义语言(DDL,Data Define Language)对各级数据模式精确定义。
- 数据操纵功能:提供对数据库中的数据进行追加、插入、修改、删除、检索等操作。
- 数据库运行控制功能:提供数据控制语言(DCL,Data Control Language)。数据库的恢复、并发控制、完整性控制、安全性控制;
- 数据库的维护功能:包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性质监视、分析功能等。
- 数据字典:数据字典(Data Dictionary,记为DD)。DD中存放着数据库三级结构的描述。对于数据库的操作都要通过查阅DD进行。
数据管理技术体系
根据计算机系统的结构不同,数据库系统结构可分为:
- 集中式
- 客户机/服务器式
- 并行式
- 分布式
- 基于互联网
三级结构模式
型,值
型(Type):对某一类数据的结构和属性的说明,类似于表头
值(Value):是型的一个具体赋值,是表里的某项数据;
例如:学生记录
记录型:(学号,姓名,性别,系别,年龄,籍贯)
该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)
模式,实例
模式(Schema)
- 是型的描述
- 反映的是数据的结构及其联系
- 模式是相对稳定的
实例(Instance)
- 模式的一个具体值
- 反映数据库某一时刻的状态
- 同一个模式可以有很多实例
- 实例随数据库中的数据的更新而更新
数据库中的三级模式结构包括以下三个层次:外模式、概念模式和内模式。这个结构旨在将数据库系统中的物理存储和逻辑设计分离开来,以提高数据的独立性和安全性
内模式
- 定义:内模式是数据库的物理存储结构,描述了数据在存储设备上的具体存储方式。
- 作用:内模式处理数据的物理存储和访问方法,优化数据库性能。
- 特点:
- 包括数据存储格式、索引、访问路径、数据压缩等物理细节。
- 提供数据的物理独立性,逻辑设计的改变不会影响物理存储。
- 关注性能优化、数据安全性和数据完整性。
概念模式
- 定义:概念模式是数据库的全局逻辑结构,描述了所有数据及其关系。它是数据库设计者和管理员所用的模式。
- 作用:概念模式独立于物理存储,提供一个全局的数据模型,确保数据的一致性和完整性。
- 特点:
- 包含所有数据实体、属性、数据类型、关系、约束等的定义。
- 独立于应用程序和物理存储。
- 逻辑上组织了整个数据库,提供了数据视图的一致性。
外模式
- 定义:外模式是数据库的用户视图,它定义了用户如何看待数据库中的数据。每个用户或应用程序可以有一个或多个外模式。
- 作用:外模式屏蔽了数据库的复杂性,提供了定制化的数据视图,确保用户只访问他们需要的数据。这提高了数据的安全性和使用的便捷性。
- 特点:
- 可以包括部分的数据库数据。
- 可以对数据进行重新组织和格式化以适应特定的应用需求。
- 不影响数据库的物理存储结构。
三层模式体系结构如下: