一 数据库概念
(1) 定义
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的
数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查
询、更新、删除等操作。
(2) 理解
数据库就是一个存放应用软件数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织
形式或数据之间的联系)来对数据进行组织和存储的,我们可以通过数据库提供的多种方法来管理其中
的数据。
二 数据库专业术语
1 DB
数据库(DataBase):负责存储和管理应用程序中数据的实体对象。
2 DBMS
数据库管理系统(Database Management System):安装在数据库服务器上的应用软件,主要用于管理
服务器上的数据库和数据的增删改查。
3 DBA
数据库管理员(Database Administrator):根据自己的账号,通过人为干预的方式完成数据库的维护工
作。
4 SQL
结构化查询语句(Structured Query Language):专门用来操作数据库的一门语言。有如下分类:
- DQL:数据查询语言,用于对数据进行查询,如select
- DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
- TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
- DCL:数据控制语言,进行授权与权限回收,如grant、revoke
- DDL:数据定义语言,进行数据库、表的管理等,如create、drop
- CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
注意:SQL语句不区分大小写
三 数据库分类
1 关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库
中,对数 据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选
取等运算来实现 数据的管理。
优点:
- 容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解
- 使用方便:通用的SQL语言使得操作关系型数据库非常方便,且可用于复杂查询。
- 易于维护:使用表结构,操作方便,维护也就方便
缺点:
- 网站的用户并发性非常高,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈固定的表结构,对表结构升级和扩展时,灵活度稍欠。
- 对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的
常见的关系型数据库:
- oracle:在以前的大型项目中使用,银行,电信等项目
- mysql:web时代使用最广泛的关系型数据库
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台
2 非关系型数据库
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值
对等,一般不保证遵循ACID原则的数据存储系统 。
优点:
- 扩展方便:由于结构不固定,可以根据自己需求定义相应的字段。
- 节约成本:部署简单,使用空间较小
- 速度快:可以使用内存资源作为数据库暂存,关系型数据库只能使用硬盘
缺点:
- 不提供 sql 支持,复杂查询不方便
- 不支持事务处理
- 不适合持久存储海量数据
常见的非关系数据库:
- key-value型:Redis,Amazon DynamoDB,Microsoft Azure Cosmos DB
- 文档型:MongoDB,Amazon DynamoDB
- 搜索引擎:Elasticsearch,Solr...