MySQL(一)概述
最近因为工作需要计划重新复习一遍MySQL,把我认为的重点记录下来。
1. 为什么MySQL很火?
- 开放源代码,使用成本低
- 性能卓越,服务稳定
- 软件体积小,使用简单,并且易于维护
- 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助
- 许多互联网公司在用,经过了时间的验证
2. Oracle和MySQL对比
- Oracle更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求。
- MySQL由于其体积小,速度快,总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter,YouTube,阿里巴巴,蚂蚁金服,去哪儿,美团外卖,腾讯)
3.什么是关系型数据库(RDBMS)?
- 关系型数据库是
最古老
的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系
(即二维表格形式)。 - 关系型数据库以
行(row)
和列(column)
的形式存储数据,以便于用户理解。这一系列的行和列被称为表(table)
,一组表组成了一个库。 - 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用
关系模型
来表示。关系型数据库,就是建立在关系模型
基础上的数据库。 - SQL就是关系型数据库的查询语言。
- 优势:
- 复杂查询——可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
- 事务支持——使得对于安全性能很高的数据访问要求得以实现。
4. 关系型数据库设计规则
- 关系型数据库的典型数据结构就是
数据表
,这些数据表的组成都是结构化的(Structured)。 - 将数据放到表中,表再放到库中。
- 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中“类”的设计。
5. 关系型数据库设计规则
- 关系型数据库的典型数据结构就是
数据表
,这些数据表的组成都是结构化的(Structured)。 - 将数据放到表中,表再放到库中。
- 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中“类”的设计。
- 表、记录、字段
- E-R(entity- relationship,实体-联系)模型中有三个主要概念是:实体集、属性、联系集。
- 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称一条记录。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。