一、数据库简介
1. 什么是数据库
数据库解决了文件的哪些问题
- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
数据库存储介质
- 磁盘
- 内存
2. 数据库分类
-
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:- Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
- MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
- SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
-
非关系型数据库:
不规定基于SQL实现。现在更多是指NoSQL数据库,如:- 基于键值对(Key-Value):如 memcached、redis
- 基于文档型:如 mongodb
- 基于列族:如 hbase
- 基于图型:如 neo4j
-
区别:
关系型数据库 非关系型数据库 使用SQL 是 不强制要求,一般不基于SQL实现 事务支持 支持 不支持 复杂操作 支持 不支持 海量读写操作 效率低 效率高 基本结构 基于表和列,结构固定 灵活性比较高 使用场景 业务方面的OLTP系统 用于数据的缓存、或基于统计分析的OLAP系统 注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical Processing)是指联机分析处理。
3. SQL分类
- DDL(Data Definition Language)数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter - DML(Data Manipulation Language)数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update- DML中又单独分了一个DQL(Data Query Language),数据查询语言,代表指令: select
- DCL(Data Control Language)数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit