数据库的基本概念

数据(Data)

描述事务的符号记录

包括数字,文字,图形,图像,声音,档案记录等

以"记录"形式按统一的格式进行存储

表

记录:行

字段(属性):列

有行+列的形式组成表,将不同的记录组织在一起,数据存储在表中。

数据库

表的集合,是存储数据的仓库

以一定的组织方式存储的相互有关的数据集合

数据库管理系统(DBMS)

是实现对数据库资源有效组织、管理和存取的系统软件

数据库的建立和维护功能:

数据库的建立包括数据库的初始数据的装入与数据转换等;

数据库的维护包括数据库的转储,恢复,重组织与重构造,系统性能监视与分析等。

数据定义功能:

负责创建,修改,删除表,索引,视图,函数,存储过程和触发器等对象。

数据操纵功能:

负责数据库中数据的插入,修改,删除等操作。

数据库的运行管理功能:

数据库管理系统的核心,包括并发控制,存取控制,数据库内部维护等功能。

通信功能:

DBMS与其他软件系统之间的通信。

数据库系统(DBS)

数据库系统是一个人机系统,一般由硬件,操作系统,数据库,DBMS,应用软件和数据库用户组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。

DBMS的工作模式

  1. 接受应用程序的数据请求和处理请求
  2. 将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
  3. 实现对数据库的操作
  4. 从数据库的操作中接受查询结果
  5. 对查询结果进行处理(格式转换)
  6. 将处理结果返回给用户

主流数据库:关系型和非关系型数据库

关系型数据库

存储在硬盘中;

关系数据库系统是基于关系模型的数据库系统;

关系模型的数据结构使用简单易懂的二位数据表;

关系模型可用简单的"实体-关系"(E-R)图来表示;

E-R图中包含了实体(数据对象),关系和属性三个要素。

关系型数据库:

Mysql(Oracle公司),SQL server(微软),access(微软公司office产品)Oracle,DB2(IBM公司),sybase 等等PostGreSQL数据库。

二维数据表

关系数据库的存储结构是二维表格

二维表中每个字段(列)用来描述对象的一个属性

每个记录(行)用来描述一个对象的信息(完整信息)表与表之间可能存在联系

实体

也称为实例,对应现实世界中可区别于其他对象的"事件"或事物

属性:实体所具有的某一特性,一个实体可以有多个属性。

联系:实体集之间的对应关系成为联系,也称为关系。

所有实体及实体之间联系的集合构成一个关系数据库。

非关系型数据库

存储在内存中

数据通常以键值对的形式存储;

非关系数据库也称为NoSQL(Not Only SQL);

存储数据不以关系模型为依据,不需要固定的表格式;

非关系型数据库的优点:

数据库可高并发读写

对海量数据高效率存储与访问

数据库具有高扩展性与高可用性

常用的非关系数据库:Redis,mongoDB等

关系型数据库与非关系型数据库的区别:

关系型数据库:

关系型数据库最典型的数据结构是表,由二维表格及其之间的联系所组成的一个数据组织。

优点:

易于维护:都是使用表结构,格式一致;

使用方便:SQL语言通用,可用于复杂查询;

复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

读写性能比较差,尤其是海量数据的高效率读写;
固定的表结构,灵活度稍欠;

高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库:

非关系型数据库严格上不是一加粗样式种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等

优点:

格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

高扩展性;

成本低:nosql数据库部署简单,基本都是开源软件。

缺点:

不提供sql支持,学习和使用成本较高;

无事务处理;

数据结构相对复杂,复杂查询方面稍欠。

相关推荐
对空六课17 分钟前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
南京码讯光电技术有限公司27 分钟前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
lusklusklusk2 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea2 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)2 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk3 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录5 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说6 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)6 小时前
MySQL索引
数据库·mysql
fb_123457 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle