目录
前言
随着大量的数据以及信息在不断的产生,伴随而来的就是如何安全、有效地存储、检索和管理。对数据的有效存储、高效访问、方便共享和安全控制已经成为当今需要解决的问题。
一、数据库的简介
数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。
1.数据库的基本概念
1.数据
描述事物的符号记录
包括数字,文字、图形、图像、声音、档案记录等
以“记录”形式按统一的格式进行存储
2.表
将不同的记录组织在一起
用来存储具体数据
3.数据库
表的集合,是存储数据的仓库
以一定的组织方式存储的相互有关的数据集合
4.数据库管理系统(DBMS)
是实现对数据库资源有效组织、管理和存取的系统软件
数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理功能、通信功能
5.DBMS的工作模式:
①接受应用程序的数据请求和处理请求
②将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
③实现对数据库的操作
④从数据库的操作中接受查询结果
⑤对查询结果进行处理(格式转换)
⑥将处理结果返回给用户
6.数据库系统
是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
用户可以通过DBMS或应用程序操作数据库
2.数据库系统发展史
第一代数据库
自20世纪60年代起,第一代数据库系统问世,是层次模型与网状模型的数据库系统,为统一管理和共享数据提供了有力的支撑。
第二代数据库
20世纪70年代初,第二代数据库——关系数据库开始出现,20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流,到目前为止,关系数据库系统仍占领数据库应用的主要地位。
第三代数据库
自20世纪80年代开始,适用不同领域的新型数据库系统不断涌现,面向对象的数据库系统,实用性强、适应面广,20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面,一些新的元素被添加进主流数据库系统中,例如,Oracle支持的“关系—对象”数据库模型。
3.当今主流的数据库介绍
SQL Server (微软公司产品)——面向Windows操作系统、简单、易用
Oracle(甲骨文公司产品)——面向所有主流平台,安全、完善、操作复杂
DB2(IBM公司产品)——面向所有主流平台,大型、安全、完善
MySQL(甲骨文公司收购)——免费、开源、体积小
二、数据库的类型
1.关系数据库
关系数据库系统是基于关系模型的数据库系统,关系模型的数据结构使用简单易懂的二维数据表,在每一个二维表中,每一行称为一条记录,用来描述一个对象的信息,每一列称为一个字段,用来描述一个对象的属性。关系模型可用简单的“实体—关系”,包含了实体(数据对象)、关系属性。
实体:也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”,如银行客户、银行账户等。
实体集:具有相同类型及共享相同性质的实体集合。如银行的所有客户的集合可定义为“银行客户”实体集。
属性:实体所具有的某一特性,一个实体可以有多个属性。如“银行客户”实体集中的每个实体都有姓名、住址、电话等属性。
联系:实体集之间的对应关系称为联系,也称为关系,如银行客户和银行账户之间存在”储蓄“的关系。
2.关系数据库的应用
Mysql (Oracle公司;5.6升级到5.7的;mariadb,mysql的轻量版)、SQL server ( 微软)、access (微软公司office产品)/Oracle (税务局)、DB2 ( IBM公司,国电),sybase ( sybase)等等。
3.非关系数据库
非关系数据库也被称作NoSQL(Not Only SQL),存储数据不以关系模型为依据,不需要固定的表达式。非关系型数据库作为关系数据的一个补充,在日益快速发展的网站时代,发挥着高效与高性能。常用的非关系数据库:Redis、mongoDB、Hbuse、memcached等。
4.MySQL数据库
一款深受欢迎的开源关系型数据库,Oracle旗下的产品,遵守GPL协议,可以免费使用与修改。
特点:性能卓越、服务稳定;开源、无版权限制、成本低;多线程、多用户;基于C/S(客户端/服务器)架构;安全可靠。
三、关系型数据库和非关系型数据库的区别
1.关系型数据库优缺点
优点:
易于维护:都是使用表结构,格式一致。
使用方便:SQL语言通用,可用于复杂查询。
复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
读写性能比较差,尤其是海量数据的高效率读写。
固定的表结构,灵活度稍欠。
高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
2.非关系型数据库的优缺点
优点:
格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
高扩展性。
成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
不提供sql支持,学习和使用成本较高。
无事务处理。
数据结构相对复杂,复杂查询方面稍欠。
总结
关系数据库结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息(完整信息),关系数据库写到哪里也就是存储在硬盘当中 读写系统就会受到的IO限制或者瓶颈。
常用的关系型数据库:Oracle、MySQL、PostgreSQL。
非关系型数据库的优点:数据库可高并发读写、对海量数据高效率存储与访问、数据库具有高扩展性与高可用性。