数据(Data)
描述事务的符号记录
包括数字,文字,图形,图像,声音,档案记录等
以"记录"形式按统一的格式进行存储
表
记录:行
字段(属性):列
有行+列的形式组成表,将不同的记录组织在一起,数据存储在表中。
数据库
表的集合,是存储数据的仓库
以一定的组织方式存储的相互有关的数据集合
数据库管理系统(DBMS)
是实现对数据库资源有效组织、管理和存取的系统软件
数据库的建立和维护功能:
数据库的建立包括数据库的初始数据的装入与数据转换等;
数据库的维护包括数据库的转储,恢复,重组织与重构造,系统性能监视与分析等。
数据定义功能:
负责创建,修改,删除表,索引,视图,函数,存储过程和触发器等对象。
数据操纵功能:
负责数据库中数据的插入,修改,删除等操作。
数据库的运行管理功能:
数据库管理系统的核心,包括并发控制,存取控制,数据库内部维护等功能。
通信功能:
DBMS与其他软件系统之间的通信。
数据库系统(DBS)
数据库系统是一个人机系统,一般由硬件,操作系统,数据库,DBMS,应用软件和数据库用户组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。
DBMS的工作模式
- 接受应用程序的数据请求和处理请求
- 将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
- 实现对数据库的操作
- 从数据库的操作中接受查询结果
- 对查询结果进行处理(格式转换)
- 将处理结果返回给用户
主流数据库:关系型和非关系型数据库
关系型数据库
存储在硬盘中;
关系数据库系统是基于关系模型的数据库系统;
关系模型的数据结构使用简单易懂的二位数据表;
关系模型可用简单的"实体-关系"(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支持,学习和使用成本较高;
无事务处理;
数据结构相对复杂,复杂查询方面稍欠。