在学习数据库之前,应该先理解什么是数据。本节先介绍数据以及数据库的概念,再对关系型数据库和非关系型数据库的优缺点进行分析。

描述事物的符号称为数据。数据有多种表现形式,可以是数字,也可以是文字、图形、图像、声音、语言等。在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。

信息是指对数据进行加工处理后提取的对人类社会实践和生产活动产生决策影响的数据。信息就是数据中所包含的意义。未经过加工的数据只是一种原始材料,它的价值在于记录了客观世界的事实。

例如“2016010102,张三,男,26,山西,计算机学院,185********”,对于这条学生记录,了解其含义的人会得到这样的信息:张三的学号是 2016010102,今年 26 岁,山西人,就读于计算机学院,他的联系电话是 185********;而不了解其语义的人则无法理解其含义。所以,数据和信息是不可分的。

数据库(Database)指长期存储在计算机内的、有组织的、可共享的数据集合。通俗的讲,数据库就是存储数据的地方,就像冰箱是存储食物的地方一样。在生活中,每个人都在使用数据库。当我们在电话簿里查找名字时,就是在使用数据库。在某个浏览器上进行搜索时,也是在使用数据库。以及平时我们登录网络,也需要依靠数据库验证自己的名字和密码。即便是在使用 ATM 机时,也要利用数据库进行 PIN 码验证和余额检查。

数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作。

在日常生活中,人们可以直接用中文、英文等自然语言描述客观事物。在计算机中,则要抽象出对这些事物感兴趣的特征,并组成一个记录来描述。

数据库管理系统(DBMS)是数据库系统的核心软件之一,是位于用户与操作系统之间的数据管理软件,用于建立,使用和维护数据库。它的主要功能包括数据定义、数据操作、数据库的运行管理、数据库的建立和维护等几个方面。

我们常说 XX 数据库,其实实质上是 XX 数据库管理系统。目前,较为流行的数据库管理系统有 MySQL、SQL Server、Oracle 和 DB2 等。

数据库有两种类型,分别是关系型数据库和非关系型数据库。

关系型数据库

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。

优点

  • 都是使用表结构,格式一致,易于维护。
  • 使用通用的 SQL 语言操作,使用方便,可用于复杂查询。
  • 数据存储在磁盘中,安全。

缺点

  • 读写性能比较差,不能满足海量数据的高效率读写。
  • 不节省空间。因为建立在关系模型上,就要遵循某些规则,比如数据中某字段值即使为空仍要分配空间。
  • 固定的表结构,灵活度较低。

常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。

非关系型数据库

非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

优点

  • 非关系型数据库存储数据的格式可以是 key-value
    形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
  • 速度快,效率高。 NoSQL 可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
  • 海量数据的维护和处理非常轻松。
  • 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
  • 可以实现数据的分布式处理。

缺点

  • 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
  • 非关系数据库没有事务处理,没有保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
  • 功能没有关系型数据库完善。

常见的非关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。

1、数据库是什么?关系型数据库和非关系型数据库又是什么?相关推荐

  1. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)

    Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...

  2. 非关系型数据库-NoSQL(Redis)

    文章目录 一.什么是 NoSQL? 二.NoSQL 的特性? 三.什么是 Redis? 四.Redis 安装部署 4.1 下载安装包 4.2 编译安装 4.3 修改配置文件 4.4 启动服务 4.5 ...

  3. MongoDB非关系型数据库开发手册

    一:NoSql数据库 什么是NoSQL? NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL用于超 ...

  4. 非关系型KV数据库-Redis-01

    key-value数据库Redis 前言 一.Redis基础掌握 1.1 Redis描述 1.2Redis的特点 1.3 Redis的应用场景 1.4 Redis安装 1.4.1 安装前准备 1.4. ...

  5. 【Redis :非关系型数据库】

    [Redis :非关系型数据库] 一. 概念 1. Redis 介绍 Redis 是一款高性能的 NOSQL 系列的非关系型数据库 关系型数据库:MySQL.Oracle- 数据存储在表中 数据之间有 ...

  6. 关系型数据库sql与非关系型数据库nosql

    一.什么是非关系型数据库? 1.非关系型数据库就是区别于关系型数据库的数据库. 2.虽然说起来有点绕嘴,但是非关系型数据库就是因为,关系型数据库处理不了的一些读写问题而产生的数据库 3.我们常用的非关 ...

  7. 1.什么是关系型数据库和非关系型数据库

    一.什么是关系型数据库 1. 关系数据库:是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据. 简单说来就是关系型数据库用了选择.投影.连接.并.交.差.除.增删查改等 ...

  8. 非关系型数据库(NoSQL)

    指的是分布式的.非关系型的.不保证遵循ACID原则的数据存储系统.NoSQL数据库技术与CAP理论.一致性哈希算法有密切关系.

  9. 关系型数据库和非关系型数据库的优劣对比?

    关系型数据库和非关系型数据库的优劣对比? 关系型数据库和非关系型数据库的优劣对比? 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织. 优点: 1.易于维护:都是使用表结构 ...

  10. 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比

    一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库.     关系模型1970年提出的,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型.     简单来说,关系模型 ...

最新文章

  1. RPA实施过程中可能会遇到的14个坑
  2. 网红快餐店_在一家快餐店工作解释了AJAX基础知识
  3. IT人永远不老,老程序员价值何在?
  4. code ro rw zi 编译的一个ARM的程序,编译结果中的一句话
  5. wxWidgets:wxEventBlocker类用法
  6. 蓝桥杯入门练习1-4(python)
  7. string类比较大小_源码阅读String--JAVA成长之路
  8. WCF走你~一个简单的例子,根据用户ID,从用户模块(用户服务器)获得实体
  9. mysql表空间过大_详解MySQL表空间以及ibdata1文件过大问题
  10. JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
  11. 二倍精灵图的做法(以firework为例)
  12. 小程序-语音播放动画-animation
  13. 采用R/S分析法的Hurst指数估计算法——Python实现
  14. 以CRM系统为案例讲解数据分析(重要性介绍及分析方法)
  15. cmd 命令行 执行php文件
  16. 【翻译】2020年云安全综合指南(风险,最佳实践,认证)
  17. nyoj 541 最强DE 战斗力(大数问题)
  18. (07)FPGA硬件描述语言
  19. delay 芯片时序output_时序分析中的一些基本概念
  20. Android 系统 UI - SystemUI之功能介绍和UI布局实现

热门文章

  1. rabbitMQ(二):Fanout Exchange
  2. WordCount by C# 结对编程
  3. 洛谷1279 字串距离
  4. Python函数篇(5)-装饰器及实例讲解
  5. JavaEE5种常见的设计模式
  6. display(block,inline,none),visibility(visible,hidden)之间的关系及区别(不同)
  7. 气死我的存储过程和用户定义函数
  8. 共享库中的位置无关代码(PIC)
  9. STM32F103CB IAP+APP BIN文件合并烧写
  10. windows下钩子的使用