数据库的发展与数据模型

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 数据库的发展与数据模型

数据库的概念最早可以追溯到1960年,经过多年的发展和演变才有了现在使用广泛的关系型数据库,被企业广泛采用。

一、数据库的诞生

数据库领域的产生是源于对数据高效、便捷的管理需要,数据库的演变也经历了几个阶段。

1. 人工管理阶段

最初计算机的用途主要是用于解决数据的计算问题,所以数据不需要长期保存。并且当时还没有类似于磁盘的,可以直接存取的硬件设备,也没有操作系统和可用于数据管理的软件,所以数据主要是通过穿孔卡片来存储。当时的数据管理就是对所有的这些穿孔卡片进行物理的存储和处理,好吧,这真的很物理。

从数据的管理和利用的角度上来看,这种管理方式最要命的问题就是数据是面向应用的,无法共享。即使两个计算任务或程序用到了相同的数据,也必须各自定义、各自组织,从而导致出现了大量重复的数据。

2. 文件系统阶段

从1951年开始,陆续出现了类似于磁带驱动器、磁盘等硬件存储设备,并可以使用操作系统中的数据管理软件进行操作,引发了数据管理的革命。使用磁盘进行存储的最大好处是可以按需的存取数据,而穿孔卡片和磁带只能顺序存取数据。

这一阶段的数据管理相对轻松了些,由于有了软件和硬件的支持,所以对数据的存取操作相对简单。由于程序可以通过文件路径和名称就可以完成对数据的访问,不需要再关心数据的真正存储位置(磁盘上具体的部位),自此数据便有了物理结构逻辑结构的区别,此时对于数据的读取基本上以记录为单位。

3. 数据库系统阶段

到了19世纪60年代,计算机被使用的越来越广泛,对于数据管理、数据共享方面的要求也越来越高,传统的文件系统已经远远不能满足使用上的需要。于是,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。

在数据库系统阶段,由于要对数据进行高效的管理,除了提供数据存储的功能外,在进行数据读取时,不仅要能描述数据本身,还要能够描述数据与数据之间的关系,这就需要依赖数据模型来实现。同时,数据和应用程序彼此独立,并依据模型将重复数据减少到最低程度,从而降低数据的冗余度。除此之外,由于数据是由DBMS来进行管理,所以还提供了数据安全、完整性保证、数据备份、数据恢复等功能。

二、什么是数据模型

数据模型是数据库系统的核心和基础,通常由数据结构、数据操作和数据约束3部分组成。

1. 数据结构

数据结构是所研究的对象(如表、视图等)类型的集合,在数据库系统中通常按照数据结构的类型来命名数据模型。传统的数据模型有层次模型、网状模型和关系模型

通常数据结构主要描述数据的类型、内容、性质以及数据间的联系等,是目标类型的集合。目标类型是数据库的组成成分,一般可分为两类:数据类型和数据类型之间的联系。数据结构是数据模型的基础,数据操作和约束都基本建立在数据结构上,不同的数据结构具有不同的操作和约束。

2. 数据操作

数据操作是指对数据库中各种对象(如表、视图等)的实例(具体的某个表、视图等)允许执行的操作的集合,数据库主要有检索(查)和更新(增、删、改)两大类操作。

3. 数据约束

数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容,是完整性规则的集合,这对于数据来说是一个很重要的要求。

三、数据模型的分类

数据库领域的发展已经有了半个多世纪的历史,可划分为三代数据库。

  • 第一代数据库

第一代数据库的代表是1969年IBM公司研制的层次模型DBMS以及19世纪70年代由美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型DBMS。

  • 第二代数据库

第二代数据库的主要特征是支持关系模型,也被称之为RDBMS,最早在1970年由IBM公司的研究员E.F.Codd提出,代表产品为Sysem R。

  • 第三代数据库

第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统问难以支持的新应用。它必须支持面向对象,具有开答放性,能够在多个平台上使用。

1. 网状模型

最早出现的是网状模型,网状模型的基本结构是一个不加任何限制条件的无向图。优点是能明确而方便地表示数据间的复杂关系;数据冗余小。缺点在于网状结构的复杂,增加了用户查询和定位的困难;需要存储数据间联系的指针,使得数据量增大;数据的修改不方便。在关系型数据库出现之前,网状DBMS要比层次DBMS用的普遍,在数据库发展史上也占有重要地位。

2. 层次模型

层次型数据库管理系统是紧随网络型数据库出现的,层次模型的基本结构是树形结构。优点是存取方便且速度快;结构清晰,容易理解;数据修改和数据库扩展容易实现;检索关键属性十分方便。缺点是结构呆板,缺乏灵活性;同一属性数据要存储多次,数据冗余度较高。

3. 关系模型

关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。优点在于结构特别灵活,概念单一,满足所有布尔逻辑运算和数学运算规则形成的查询要求;能搜索、组合和比较不同类型的数据;增加和删除数据非常方便;具有更高的数据独立性、更好的安全保密性。缺点是数据库大时,查找满足特定关系的数据费时;对空间关系无法满足。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
目录
相关文章
|
16天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
2月前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
85 2
|
18天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
58 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
15天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
23天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
86 3
|
2月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
2月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
198 4