数据库的基本概念

数据(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支持,学习和使用成本较高;

无事务处理;

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

相关推荐
PGCCC5 分钟前
【PGCCC】Postgresql 存储设计
数据库·postgresql
PcVue China2 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
锐策4 小时前
〔 MySQL 〕数据库基础
数据库·mysql
远歌已逝5 小时前
管理Oracle实例(二)
数据库·oracle
日月星宿~5 小时前
【MySQL】summary
数据库·mysql
爱吃土豆的程序员5 小时前
在oracle官网下载资源显示400 Bad Request Request Header Or Cookie Too Large 解决办法
java·数据库·oracle·cookie
睿思达DBA_WGX5 小时前
Oracle 11g rac 集群节点的修复过程
数据库·oracle
尘浮生5 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
Leo.yuan6 小时前
数据量大Excel卡顿严重?选对报表工具提高10倍效率
数据库·数据分析·数据可视化·powerbi