数据库概述
为什么要使用数据库
将数据持久化,如文件、数据库或其他
相关概念
DB(数据库)DBMS(数据库管理系统,如Mysql)SQL(与数据库通信语言,读soko)
客户1-3<-->Web服务器<-->MySQL<-->数据库<-->表1-3
常见的DBMS:Oracle、MySQL、Microsoft SQL Server
开源软件,遵循GPL协议
版本5.8直接跳跃至8.0版本
Oracle与MySQL
Oracle适合大型跨国国企商业数据库,缺点收费高;而MySQL适合中小型公司
关系型数据库与非关系型数据库
RDBMS是主流,最古老,数据放入表格中。表与表之间也存在关系,这种联系成为关系模型。优势:方便在一个以及多个表之前做复杂的查询
非RDBMS是传统关系数据库的阉割版本,不需要经过SQL的解析,性能非常高,主流非RDBMS是免费的。如键值型数据库,用于内存缓存,如Redis;文档型数据库,XML、JSON等格式;搜索引擎数据库,核心原理是“倒排索引”;列式数据库,适用于分布式文件系统,大数据技术,如Hbase。
非RDBMS可以 称为NoSQL
关系数据库的设计规则
E-R模型主要有三个概念:实体集、属性、联系集
RDBMS典型数据结构是数据表,一个实体相当于一行,一个属性相当于一列或一字段
ORM思想,数据表<--->Java类
表的关联关系
一对一关联:一对一常可以设计成一张表,实际开发中应用不多,如常用表与非常用表,因为一张表I/O多,冗余多。
一对多关联:客户表和订单表
多对多关联:要表示这种关系,要创建第三个表——联接表
自我引用:主管是员工,也是其他员工的主管