目录

0-前言

1-数据库的定义及相关概念

2-数据管理技术的发展

3-数据库系统的组成

写在最后


0-前言

这个章节的内容看起来是“最没用的”,但是我个人始终觉得,学习一门新的技术,如果能先大致了解一下与它相关的历史或者一些故事之类的,或许能对后期学习有辅助性的帮助(比如遇到一些诡异的BUG时,如果能结合该技术的整个发展过程,或许就变得“理所当然”。我自己之前在学习C语言时,遇到的一些细节性的问题就源于C标准的不同等原因),除此之外,多了解了解这些“不烧脑”的故事,或许能够提升你对这门技术的兴趣,甚至产生一些自己的新奇想法,这将有助于我们的长期发展。

1-数据库的定义及相关概念

数据库是目前数据管理的最新技术,其主要研究内容是如何对数据进行科学的管理,以提高可共享、安全、可靠的数据,数据库技术一般包含数据管理和数据处理两部分。

这里先提几个概念:

数据(Data):数据是数据库中存储的基本对象,人们为了认识世界、交流信息而对事物进行描述的符号记录称为数据。一提到“数据”两个字,你大概能立马在脑海中联想到一些东西,例如,文字、图像、音频等,可以把这些东西理解成数据的不同表现形式。

信息(Information):维基百科上说,“信息”是一个科学术语,其定义不统一,是由它的复杂性极端决定的。经典的哲学定义是北京邮电大学钟义信教授所提出的:“信息是事物运动的状态及其改变方式”。总的来说,我觉得如果我们想要了解某个事物或者描述某个东西,就需要借助它的相关信息,就像你现在可能正在猜测作者是一个什么样的人,便可以通过文章的风格(也算是一种信息了叭)来做出一定的判断或猜测。

数据库(Database,简记为DB):顾名思义,就是用来存放数据的仓库,只不过这个仓库是存在于计算机上的“虚拟仓库”。随着现在科技的高速发展,每天都在产生大量各式各样的数据,如果不弄一个用来专门管理它们的仓库,那这些数据大概率只能很“杂乱的堆放”,杂乱的数据就像是垃圾,对我们没有太大的意义,而且也增大了我们利用它们的难度。严格来讲,数据库是长期存储在计算机内有组织、可共享的大量数据集合。概括来讲,数据库具有永久存储、有组织和可共享三个基本特点。

数据库管理系统(Database Management System,简记为DBMS):如何更加科学地组织和存储数据、如何高效地获取和维护数据,需要用一个系统软件来完成这个复杂任务,由此DBMS应运而生。DBMS位于用户和操作系统之间(相当于起到一个桥梁的作用,毕竟我们很难直接理解机器语言,甚至下达相关指令),数据库在建立、运用和维护时由DBMS统一管理、统一控制(这就像我们编程时,写的函数一样,无需关注内部复杂的细节)。很明显,DBMS使得用户能够更加方便的管理和操纵数据,并且随着现在数据库技术的发展,如今的DBMS在安全管理、并发性等方面的能力做得越来越完善,也更加强大。

数据库系统(Database System,简记为DBS):请先与上述的“数据库管理系统DBMS”进行区分,稍不注意可能就容易搞混淆。实际上数据库系统DBS(为了防止看晕,我还是写中文全称+英文简称吧)通常是由数据库DB、数据库管理系统DBMS(以及相关开发工具)、应用系统、数据库管理员四部分组成,也就是说数据库管理系统DBMS是被包含在数据库系统DBS里面的。按照一些书籍上的定义:数据库系统DBS是指在计算机中引入数据库后的系统。这里贴一张图,形象的感受一下它们的关系

看完上面这些有趣的概念,脑海中应该已经大致有一个对数据库的初步认识了,稍作回味,继续看下面的内容

2-数据管理技术的发展

先来一段枯燥的简介:数据管理是指数据进行收集、组织、编码、存储、检索和维护等活动,其发展历史介意追溯到计算机诞生之初(在以前,“数据”这类东西一般都是和科研计算领域挂钩,很显然如今的“数据”已经远不止这些了比如你网盘里的...)

整个数据管理技术的发展可以大致分成三个阶段:

人工管理阶段

文件系统管理阶段

数据库系统管理阶段

现在回想起来,我在学习编程的过程中好像已经重新把这三个阶段都走了一遍。当然,这里我是把我自己用0.5mm中性笔(高考标配)记录的纸质笔记看成是一种“人工管理数据”的方式,然后我在大一做过的一个“学生成绩管理系统”是用的“文件管理”,把数据全部存储在一个TXT文本中,账号和密码这些更是采用明码存储;大二做的“汽车租赁系统”则是用到了数据库,通过亲自踩雷对比,可以很明显感受到数据库管理数据的便利性与安全性,而且软件本身和数据也基本实现了分离。听完这些废话,我们来用一个表格的方式看看各个阶段的主要特点吧:

阶段 主要特点
人工管理阶段

1.不保存数据

2.应用程序管理数据

3.数据不共享,冗余度大

4.程序与数据不具有独立性(完全依赖于程序)

文件系统管理阶段

1.数据可以长期保存

2.文件系统管理数据

3.程序与数据有了一定的独立性

4.数据共享性差,冗余度大

5.数据独立性差(所以刚才说“一定的独立性”)

数据库系统管理阶段

1.共享性高,冗余度小,易扩展

2.具有高度的物理独立性和逻辑独立性

3.整体结构化,用数据模型描述

4.数据库管理系统DBMS提供数据安全性、完整性、并发控制和恢复能力

数据库管理系统是数据管理技术发展的一个重大变革,将过去在文件系统中以程序设计为核心、数据服从程序设计的数据管理模式改变为以数据库设计为核心、应用程序设计退居其次的数据管理模式。实际上我们很多时候用的都是关系型数据库,比如SQL Server、MySQL、Access(部分考计算机二级的同学DNA动了)、Oracle、DB2等。但是随着数据库应用领域的不断扩展,关系型数据库的局限和不足日益显现出来,数据库技术与网络技术、人工智能技术、面向对象技术、并行计算技术等相互融合,为数据库的应用开拓了更广阔的空间,如今已经出现了许多新的数据库技术(比如NoSQL数据库、分布式数据库等)

3-数据库系统的组成

前面已经在本文第一个版块大致提到过DBS(不会还记不住DBS是啥吧,记不住就回顾一下前面的内容)的组成。这里再通俗的说一下它的组成:数据库系统包括应用程序、数据库管理系统、数据库、用户、计算机硬件环境和操作系统。其中,应用程序、数据库管理系统、数据库是数据库系统的最基本组成部分;数据库是数据的汇集,它以一定的组织形式存于存储介质上,也就是提供数据源;数据库管理系统是管理数据库的系统软件,它实现数据库系统的各种功能,是数据库的核心;应用程序或者应用系统就是以数据库为基础的应用程序APP或应用系统,比如我之前做的那个“汽车租赁系统”也算是一个应用系统(虽然简单,但又不是不能用~~)还有广大大学生所熟知的教务处选课系统也是如此。

这里顺便说一下,其实数据库系统中包含的人员远比想象中多(数量和种类),主要分为以下五种类型的人员:

(1)数据库管理员

主要负责维护整个系统的正常运行,负责保证数据库的安全可靠地运行

(2)系统分析人员

主要负责应用系统的需求分析和规范说明,这些人员要和用户以及数据管理员配合,以便确定数据的软硬件配置,并参与数据库系统的概要设计(产品经理??)

(3)数据库设计人员

主要负责确定数据库数据、设计数据库结构等,也要参与用户需求的调查和需求分析,在很多情况下,数据库的设计人员由数据库管理员担任(好家伙,身兼数职)

(4)应用程序编程人员

负责设计和编写访问数据库的应用系统的程序模块,并对程序进行调试和安装(我们所熟知的“码农”)

(5)用户

数据库应用程序的使用者(别看了,就是你),他们是通过应用程序提供的操作界面,操作数据库中数据的人员(比如你给我的博客点赞、收藏,存储这篇博客的数据库里的数据就会被你修改,想体验这种“操纵数据”的感觉吗?)

由此看来,不止是数据库的管理员才属于这其中,而且屏幕前的你不知不觉也被纳入了这个数据库系统中

写在最后

先喝口水,再来收个尾...

算了...再玩会儿手机吧

这篇博客也算是这个系列的一个开端,每写完一篇博客,我自己本身也对其中的概念或者相关的东西有了更深的印象,写着写着(就发现自己是错的)对其中的内容有了更进一步的认识。也算是对我自己学习数据库的一个小结,写下这样一篇文章,不仅可供大家参考,还可以方便我自己以后来进行反复查阅,总的来说就是“方便自己也方便他人”。还有几个小时就是新的一年了,在这里也祝大家新年快乐。

这一年,口罩,36.5度,遇见,获得,失去,成长,释怀,完结。我与旧事归于尽,来年依旧迎花开。


2021年12月31日

(1)数据库系统简介相关推荐

  1. MSSQL之一 数据库系统简介 与SQL Server 2008概述

    前   言 SQL的全称是结构化查询语言(Structured Query Language),它是关系数据库中最常用的语言.SQL不仅可以管理数据库中的数据,而且可以管理关系数据库本身.为了避免各数 ...

  2. 揭秘腾讯TDSQL全时态数据库系统简介

    结合TDSQL系统的特点,研究团队提出并实现了一个轻量且高效的全时态数据库系统,该系统可以在保留原有TDSQL强劲的OLTP处理性能的同时,通过巧妙的系统设计,提供了内建的时态数据管理能力. 存储 T ...

  3. FastDB 高效率的内存数据库系统

    FastDB 高效率的内存数据库系统 简介 FastDB 是一个高效率的内存数据库系统,具有实时性能和方便的 C++ 接口.FastDB 并不支持客户端/ 服务器结构,所有使用FastDB 数据库的应 ...

  4. 程序员藏经阁 Linux兵书

    程序员藏经阁 Linux兵书 刘丽霞 杨宇 编   ISBN 978-7-121-21992-4 2014年1月出版 定价:79.00元 536页 16开 内容提要 <Linux兵书>由浅 ...

  5. 第1章 数据库系统概述

    第1章 数据库系统概述 1.1 数据库系统简介 数据库技术的发展历史 人工管理阶段 文件系统阶段 数据库系统阶段

  6. oracle .dbf文件过大_学习这篇Oracle数据库文件坏块损坏的恢复方法,拓展你的知识面...

    一.Oracle数据库系统简介: ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结 ...

  7. centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...

    linux/centos给Mysql创建用户.授权.查看.删除.修改密码.撤 linux/centos给Mysql创建用户.授权.查看.删除.修改密码.撤销权限 linux/centos给Mysql创 ...

  8. 十年比肩?看国产数据库如何突出重围! | 新程序员

    长久以来,如何"去IOE"不仅是数据库产业的热议话题,更是国产数据库厂商纷纷致力的方向.但事实上,想要通过核心技术弯道超车几乎是不可能的.但在国家整体规划逾趋清晰下,进一步完善人才 ...

  9. 《生物信息学:导论与方法》--本体论、分子通路鉴定--听课笔记(十九)

    第九章  本体论.分子通路鉴定 9.4 分子通路鉴定 You have got a set of genes or proteins from your experiments. How can yo ...

最新文章

  1. 2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
  2. 二叉树求深度的递归的详细分析
  3. 【堆栈】最近有兴趣的几个问题
  4. 【渝粤教育】电大中专学习指南 (3)作业 题库
  5. SmartPDA图片
  6. C语言 找出任意两整数之间的素数以及他们的和
  7. Leetcode—6.相向双指针的剩余题型python解答
  8. mouseenter 延迟_低延迟电竞蓝牙耳机,南卡Lifte Pro安卓手机上的无线舒适体验
  9. 框架 go_Go语言优秀应用开发框架 GoFrame
  10. 【Python】Python解释器
  11. 伺服驱动器--增益调整
  12. C#中MessageBox用法大全(附效果图)
  13. POI dataFormat种类
  14. Vue如何监视屏幕尺寸变化
  15. 怎样查看主板支持服务器内存,怎么看主板和内存兼容-怎么查看主板对内存的支持情况 爱问知识人...
  16. Linux系统启动流程及服务管理控制
  17. 【探花交友】今日佳人
  18. 【胖虎的逆向之路】如何绕过 Android11新特性之 “包的可见性“
  19. python 文字识别 tesseract_Python_文字识别引擎试用:tesseract-ocr
  20. 假期,推荐豆瓣评分 9.0 以上的 100 部必看电影

热门文章

  1. [激光原理与应用-56]:激光器 - 电路 - PID温度控制算法的参数调整
  2. Matlab之函数探查器
  3. FAQ: ggplot2常见问题
  4. DESTOON改为教育招生网站有哪些问题需要注意
  5. 企业架构--企业组织的平衡计分卡的框架与要素
  6. 代码开发--查漏补缺
  7. 80后创业的常见问题收集(欢迎讨论)
  8. 计算机账务处理流程有,了解账务处理系目标 理解账务处理系统业务流程 理解账务.ppt...
  9. 学会了海外抖音才发现:靠副业生活,真的不难 !
  10. STM32F103C8T6延时函数和OLED显示屏代码