数据库管理系统有哪些功能 数据库管理系统有哪些

数据库介绍数据库:顾名思义 , 就是数据仓库 , 是长时间存储在计算机中的有组织的、可共享的数据的集合 。
数据库管理系统(DBMS:用于存储和管理数据的软件)
数据库分类数据库通常分为三种类型:层次数据库、网络数据库和关系数据库 。不同的数据库根据不同的数据结构进行链接和组织 。
在当今的互联网中 , 最常见的数据库模型主要有两种 , 即关系数据库(SQL)和非关系数据库(NoSQL , 不仅仅是SQL) 。
关系数据库 关系 :关系就是二维表 。
并且满足以下特性:
表格中行和列的顺序并不重要 。
行:表中的每一行也称为记录 。
【数据库管理系统有哪些功能 数据库管理系统有哪些】列:表中的每一列称为属性、字段 。
主键:用于唯一标识记录的字段外键FK 。
域:属性的取值范围 , 比如性别只能是‘男’和‘女’ 。
缺点:性能不如非关系数据库 。优点:数据统计严谨 。
nosql =不仅是sqlNoSQL数据存储不需要固定的表结构 , 通常也没有连接操作 。在访问大数据方面具有关系型数据库不可比拟的性能优势 。
搜索键值存储数据库(key-value):
键值数据库类似于传统语言中使用的哈希表 。您可以通过键添加、查询或删除数据库 。因为您使用key主键来访问 , 所以您将获得高性能和可伸缩性 。IT系统的键/值模型的优势在于其简单性、易部署性和高并发性 。典型产品:Memcached、Redis、MemcacheDB
列存储(Column-oriented)数据库
柱数据库在柱族中存储数据 。列族存储经常一起查询的相关数据 , 例如人类 。我们经常询问某人的姓名和年龄 , 而不是薪水 。在这种情况下 , 姓名和年龄将放在一个列族中 , 而薪金将放在另一个列族中 。
这种数据库通常用于处理海量数据的分布式存储 。
面向文档(Document-Oriented)数据库
文档数据库可以看作是键值数据库的升级版 , 允许键值嵌套在它们之间 。而且文档数据库的查询效率高于键值数据库 。面向文档的数据库以文档的形式存储数据 。典型产品:MongoDB适合敏捷开发 。
常见的关系数据库:
大型:Oracle、DB2 等;中型:SQL Server、MySQL 等;小型:Access 等 。
关系数据库与非关系数据库的比较关系型数据库:
关系数据库是指使用关系模型来组织数据的数据库 。
简单来说 , 关系模型是指二维表模型 , 关系数据库是由二维表及其关系组成的数据组织 。
关系数据库最大的特点是事务的一致性:关系数据库传统的读写操作是事务性的 , 具有ACID的特性 , 这使得关系数据库几乎适用于所有要求一致性的系统 , 比如典型的银行系统 。
优势:
容易理解:二维表结构是一个非常接近逻辑世界的概念 , 关系模型比网络、层次等其他模型更容易理解 。
易于使用:通用SQL语言使得操作关系数据库非常方便 。
易于维护:丰富的完整性(实体完整性、参照完整性和用户自定义完整性)大大降低了数据冗余和数据不一致的概率 。
缺点:
数据读写必须用sql解析 , 在数据量大、高并发的情况下读写性能不足 。对于传统的关系数据库 , 硬盘I/O是一个很大的瓶颈 。
它有固定的表结构 , 所以很难扩展 。
多表联查导致性能不佳 。
非关系型数据库:
特点:
非结构化存储 。
基于多维关系模型 。
有独特的使用场景 。
优势:
高并发 , 大数据下读写能力强 。(基于键值对 , 可以想象成一个表中主键和值的对应 , 不需要SQL层解析 , 所以性能很高)
基本分布式 , 易扩展 , 可伸缩 。(因为基于键值对的数据之间没有耦合 , 所以非常容易横向伸缩 。)
简单的弱结构存储 。
缺点:
交易支持较弱 。
通用性差 。
对完全无约束的复杂业务场景的支持较差 。
MySQL学习教程相信看完这篇文章 , 你对mysql数据库有了大致的了解 。如果以上内容还不完善或者不清楚 , 想通过视频系统了解更多MySQL的知识 , 可以推荐老杜给的MySQL教程 , 开始我们的MySQL学习之旅 , 了解更多MySQL的知识 。
https://www.bilibili.com/video/BV1fx411X7BD

    推荐阅读