序章-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

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发