目录
1.什么是数据库
2.数据库分类
2.1关系型数据库
2.2非关系型数据库
1.什么是数据库
我们知道,存储数据可以使用文件来存储。那么为什么我们还要大费周章的去设计和使用数据库呢?
因为文件保存数据有以下几个缺点:
1.文件的安全性不好保证
2.文件不利于数据查询和数据管理
3.文件不利于存储大量的数据
4。文件在程序中不好控制,控制不方便。
数据库存储的介质:
1.磁盘 2.内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据
库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
2.数据库分类
数据库可以分为两类:关系型数据库和非关系型数据库
2.1关系型数据库
是指采用了关系模型来组织数据的数据库,简单的说。关系模型是二维表格模型。而一个关系型数据库是由二维表以及之间的联系所组成的一个数据组织。
常见的关系型数据库:
Oracle :是甲骨文公司做的一个数据库,也是目前市面上最好用的数据库。唯一的缺点可能就是它是收费的,而且价格不菲。所以一般的公司用不起这种数据库。
MySQL:早期是一款开源,免费的数据库。而且也挺好用,阿里为它做了很多贡献,后面甲骨文公司将它买下来。依旧免费,也是目前市面上用的最多,最广泛的数据库。
SQL sever:微软旗下的数据库,安装部署在winodws上。适用于大中型项目,也是收费的。
2.2非关系型数据库
不规定基于SQL,更多的是NoSQL数据库,如:
1. 基于键值对(Key-Value):如 memcached、redis
2. 基于文档型:如 mongodb
3. 基于列族:如 hbase
4. 基于图型:如 neo4j
关系型数据库和非关系型数据库的区别:
关系型数据库 | 非关系型数据库 | |
使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP系统 | 用于数据的缓存、或基于统计分析的OLAP系统 |
3.常见的SQL
DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit