大家好,我是杨公子。这是“MySQL方法论与实践”系列的第一篇文章。
众所周知,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
我们学习MySQL,首先要弄清楚一些最常见的术语和基本概念,以便更好的理解后续学到的知识。我们需要掌握的基本概念有:数据,数据库,数据库管理系统和数据库系统。
好了,话不多说,我们开始来认识这几个基本概念吧。
1. 数据(data)
在学习数据库之前,应该先理解什么是数据。
数据是描述事物的符号,是数据库中存储的基本对象,是按一定顺序排列组合的物理符号。
数据有多种表现形式,可以是数字,也可以是文字、图形、图像、声音、语言等它们都可以经过数字化后存入计算机。在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。
值得注意的是,数据的表现形式还不能完全表达其内容,还需要经过解释。数据的解释是指对数据含义的说明,数据的含义成为数据的语义,数据与其语义是不可分的。
例如,110是一个数据,可以是杨公子高中物理考试的成绩(偷笑,杨公子高中物理可是很强的),也可能是杨公子的体重,还可能是某件商品的价格,当然也可能是我们的匪警报警电话,还可以有其他很多含义。可见,没有明确语义的数据没有实际使用的价值。
2. 数据库(DataBase,DB)
随着计算机技术不断的发展,计算机已经应用程序处理和产生的数据越来越多,这时候就需要将这些数据保存起来,以便进一步加工处理,抽取有用的信息,挖掘数据的更多价值。
计算机数据的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持久保存。对于数据的处理,就产生了数据库相关的技术,从而保证数据处理的高效性。
采用数据库的管理模式不仅提高了数据的存储效率,而且在存储的层面上提高了数据的安全性。通过分类的存储模式让数据管理更加安全便捷,更能实现对数据的调用和对比,并且方便查询等操作的使用。
数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。简单理解就是存放数据的仓库。只不过这个仓库是在计算机存储设备上的,而且数据是按照一定的格式存放的。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。
3. 数据库管理系统(DataBase Management System,DBMS)
了解了数据和数据库的概念,下面的问题就是如何科学地组织和存储数据,如何高效地获取和维护数据。完成这些任务的是一个系统软件——数据库管理系统。
数据库管理系统介于用户和操作系统之间的一种数据管理软件。它的主要功能包括以下几个方面:
1.数据定义功能
数据库管理系统提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
2.数据组织、存储和管理
数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和提高存取效率。
3.数据操纵功能
数据库管理系统提供数据操纵语言(Data Manipulation Language,DML),用户可以使用它操纵数据,实现对数据库的基本操作:查询、插入、删除和修改等。
4.数据库的事物管理和运行管理
数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事物的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
5.数据库的建立和维护功能
数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的存储、恢复功能,数据库的重组织功能和性能监视、分析功能等。
6.其他功能
包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。
数据库管理系统的功能非常强大,但是数据库的建立、使用和维护等工作只靠一个数据库管理系统是远远不够的,复杂系统没有人的参与是不行的,所以还要有专门的人员来和数据库管理系统一起完成这些工作,这些人被称为数据库管理员。
4. 数据库系统
数据库系统是由数据库、数据库管理系统(及其应用开发程序)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。
上图是一个完整的数据库系统的示意图。其中数据库提供数据的存储功能,数据库管理系统提供数据的组织、存取、管理和维护等基础功能,数据库应用系统根据应用需求使用数据库,数据库管理员负责全面管理数据库系统。
番外:数据管理技术简史
通过上面的内容,我们初步了解了一些数据库的知识,也知道了数据库技术是应数据管理任务的需要而产生的。
那么问题来了,最开始计算机中的数据是怎么管理的呢?是直接就有了数据库技术还是经历过其他技术演变发展而来的呢?
杨公子这和你一起追溯数据管理技术的历史,为你解开这个谜团。
在计算机出现的早期,大概在20世纪50年代中期以前,计算机主要用于科学计算。当时硬件设备比较差,外存只用纸带、卡片、磁带,没有磁盘这些直接存取的存储设备;当时的软件条件同样也很差,没有管理数据的专门软件,数据处理的方式是批处理。总体来说就是,数据管理处于人工管理阶段。
到了20世纪50年代后期60年代中期,计算机软硬件有了较大的改善。硬件方面有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。这时候的数据管理处于文件系统阶段。
20世界60年代后期至今,计算机管理的对象规模越来越大,应用范围越来越广,数据量急剧增长。而且这时硬件已有大容量磁盘,硬件价格下降,软件价格则上升,开发和维护系统软件及应用程序所需的成本相对增加;在处理方式上,联机实时处理要求更多,并开始提出和考虑分布式处理。
在这种背景下,以文件系统作为数据管理手段已经不能够满足应用的需求。于是为了解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专门软件系统——数据库管理系统。
下面我们一起来总结一下数据管理发展的三个阶段的背景及其对应的特点。
总结
这篇文章我们一起了解了数据、数据库、数据库管理系统和数据库系统这四个基本的概念以及他们之间的关系,还一起回顾了数据管理技术的发展历程。
这部分的内容是比较简单的,不过也是对数据库技术的一个总体概览,对大家理解后续的内容有所帮助。
欢迎关注杨公子公众号:Coder杨公子