我是ZGB,Java领域新星创作者,阿里云专家博主,华为云·云享专家博主,掘金创作者等等,热衷技术分享,欢迎与我交流技术。
简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,2008年被Sun公司收购,2009年Sun 被Oracle收购。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
1.数据库与数据库管理系统
- DB:数据库(Database)
即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
- DBMS:数据库管理系统(Database Management System)
是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控 制。用 户通过数据库管理系统访问数据库中表内的数据。
- SQL:结构化查询语言(Structured Query Language)
专门用来与数据库通信的语言。
2.MySQL优点
1.开放源代码,使用成本低。
- 性能卓越,服务稳定。
- 软件体积小,使用简单,并且易于维护。
- 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
- 许多互联网公司在用,经过了时间的验证。
3.Oracle与MySQL比较
- Oracle 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要 求。
- MySQL 由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码 这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库
4.关系型数据库(RDBMS)与非关系型数据库(非RDBMS)
关系型数据库:
关系型数据库模型是把复杂的数据结构归结为简单的 二元关系 (即二维表格形式)。
非关系型数据库:
可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层 的解析,性能非常高 。同时,通过减少不常用的功能,进一步提高性能。
关系型数据库有哪些:
- Oracle,MySQL,SQL Server
非关系型数据库有哪些:
- 键值型数据库:Redis
- 文档型数据库:MongoDB
- 搜索引擎数据库:ES、Solr
- 列式数据库:HBase
- 图形数据库:InfoGrid
5.关系型数据库设计规则 :
- 一个数据库中可以有多个表,每个表都有一个名字,表名具有唯一性。
- E-R(entity-relationship,实体-联系)模型中有三个主要概念是: 实体集 、 属性 、 联系集 。 一个实体集(class)对应于数据库中的一个表,一个实体则对应于数据库表 中的一行,也称为一条记录。一个属性对应于数据库表中的一列 ,也称为一个字段。
- 表与表的记录之间的关系:一对一关系、一对多关系、多对多关系。
6.ORM思想(了解):
数据库中的一个表 <---> Java或Python中的一个类
表中的一条数据 <---> 类中的一个对象(或实体)
表中的一个列 <----> 类中的一个字段、属性(field)