当前使用的数据库,主要分为两类:
- 文档型,如Sqlite,就是一个文件,通过对文件的复制完成数据库的复制
- 服务型,如Mysql、Postgre,数据存储在一个物理文件中,但是需要使用终端以Tcp/Ip协议连接,进行数据库的读写操作
E-R模型
-
当前物理的数据库都是按照E-R模型进行设计的
-
E表示entry,实体
-
R表示relationship,关系
-
一个实体转换为数据库中的一个表
-
关系描述两个实体之间的对应规则(关系),包括
-
一对一
角色表中的一条数据
对应 员工表中 的一条员工的数据
-
roles角色表
|
id | role |
|
---- | ---- |
|
1 | ceo |
staffs员工表
|
id | name | role_id |
|
1 | 雷军 |
1 |
-
一对多
一个班级表的一条数据可以对应学生表中多条数据
| id |
class ||
---- | :--------- ||
1 | 云计算1810 ||
2 | 云计算1809 |
|
id | name | class_id |
|
1 | 鲨鱼 | 1
|
|
2 | 闫雨欣 |
2 |
|
3 | 闫立行 |
2 |
反之就是
多对一
- 多对多(扩展自修)
一个老师可以教授多个班级,一个班级可以有多个老师。
此时,就需要三个表。
-
老师表
-
班级表
-
用来表示他们关系的表
这个第三张表就是多对多关系需要的表
teacher表
| id
| name |
| ---- | ------ |
| 1
| 晗哥 |
| 2
| 西瓜甜 |
class表
| id
| name |
| ---- | ---------- |
| 1
| 云计算1810 |
| 2
| 云计算1809 |
| 3
| 云计算1808 |
teacher2class表
| id
| teacher_id | class_id |
| ---- | ---------- | -------- |
| 1
| 1 | 1 |
| 2
| 1 | 3 |
| 3
| 2 | 1 |
| 4
| 2 | 2 |
- 关系点表示被转换为数据库表中的一个列 ,在关系型数据库中一行就是一个对象。
RDBMS
RDBMS 指的是关系型数据库管理系统。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如
微软的 SQL Server和 Microsoft Access, IBM
DB2, 甲骨文的Oracle以及开源的 MySQL和PostgreSQL(读作:post - gress - Q - L, 简略念为"postgres")
。
RDBMS 中的数据存储在被称为表(tables)的数据库对象中。
表是相关的数据项的集合,它由列和行组成。
MySQL 5.7主要特性:
-
更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的
-
更好的InnoDB存储引擎
-
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能
-
更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题
-
原生JSON类型的支持
-
更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
-
新增sys库:以后这会是DBA访问最频繁的库
名词解释:
QPS:Queries Per
Second意思是 每秒查询率,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
下载链接:https://pan.baidu.com/s/1rzS-bgHZhXjg8dk4rbO5Zw
提取码:qu4f
复制这段内容后打开百度网盘手机App,操作更方便哦
资料来源:
http://video.mobiletrain.org/course/index/courseId/570