序章-0.1 初识数据库

2024-01-07 00:59
文章标签 初识 数据库 0.1 序章

本文主要是介绍序章-0.1 初识数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是杨公子。这是“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杨公子

这篇关于序章-0.1 初识数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/578227

相关文章

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数