一、前言
数据库(DataBase):简称DB,是存储和管理数据的仓库。可分为关系型数据库和非关系型数据库。
SQL(Structured Query Language):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。
关系模型:数据结构(二维表或者数据组织)、操作指令集合(SQL语句)、完整性约束(表与表之间的约束,表内数据约束)。
非关系模型:列模型(一列为一个记录,数据即索引,IO很快,用于一些分布式数据库)、键值对模型(age :15)、文档类模型(一个一个文档存储数据,类似键值对)。
举例:
列模型:Hbase
键值对:Redis、MemcacheDB
文档类模型:mongoDB
关系型数据库:依据关系模型来创建的数据库。如:Oracle, MySQL, Server, Access,Android中的SQLite等。
优点:安全(存储在磁盘上),理解简单(各表关系明显)
缺点:性能慢(处理大量数据),不适合分布式环境。
举例:
学生管理系统教师表和学生表(m * n)关系
班级表和学生表(1 * n)
国家和首都(1 * 1)
非关系型数据库:基于非关系模型创建的数据库。如:Redis,Hbase,mongoDB,MemcacheDB等
优点:性能强,速度块(可存储在内存上),格式灵活(键值对,文档类,图片等)
缺点:不支持SQL语句。无事务处理。扩展性强(表无直接关系)