什么是数据库
目前来说,对于数据库,并没有一个统一的定义。随着数据库(DB:DataBase)历史的发展,对于数据库的定义,也有很大的差别。
一般来说,业内对以下几个定义相对比较认可:
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 –百度百科
数据库是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。 –MBA智库百科
上面的定义,虽然说法不同,但都可以简单理解为数据库是存放数据的仓库,具有组织、存储、管理的功能。
数据库的特点
- 数据结构化:数据库中的数据存储,基于一定的数据格式,且数据之间具有联系。
- 数据共享性高、冗余度低:数据库中的数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,另外,也可以避免数据之间的不相容性与不一致性。
- 数据独立性高:数据与应用程序之间相互独立。数据与数据的结构存储在数据库中,由数据库管理系统(DBMS:Database Management System)进行管理。应用程序仅负责业务逻辑的实现,既不存储数据,也不存储数据的结构。数据与应用程序的独立,可以大大减轻应用程序的维护工作,方便各种应用程序的开发。
- 数据控制能力强:数据库中的数据由DBMS进行统一管理,可以方便的对数据权限、数据安全性、数据完整性进行管理,并具有较强的数据备份和恢复能力。
MySQL简介
MySQL是一款由瑞典MySQL AB公司开发、发布并支持的开放源代码的数据库管理系统(DBMS)。是一个跨平台的、轻量型的关系型数据库管理系统。被广泛应用在个人、企业、政府等大中小型网站开发中。是一款优秀的支持OLTP(联机事务处理过程:On-Line Transaction Processing)场景的数据库。
目前,MySQL属于Oracle旗下产品。
相较于Oracle、SQL Server、DB2等大型数据库管理系统,MySQL体积较小,但运行速度快、成本低(开源、免费),并且能够满足90%以上的应用场景。
MySQL版本历史
时间 | 里程碑 |
---|---|
1996 年 | MySQL 1.0 发布。它的历史可以追溯到 1979 年,作者 Monty 用 BASIC 设计的一个报表工具 |
1996 年 | 10 月 3.11.1 发布。MySQL 没有 2.x 版本 |
2000 年 | ISAM 升级成 MyISAM 引擎。MySQL 开源 |
2003 年 | MySQL 4.0 发布,集成 InnoDB 存储引擎 |
2005 年 | MySQL 5.0 版本发布,提供了视图、存储过程等功能 |
2008 年 | MySQL AB 公司被 Sun 公司收购,进入 Sun MySQL 时代 |
2009 年 | Oracle 收购 Sun 公司,进入 Oracle MySQL 时代 |
2010 年 | MySQL 5.5 发布,InnoDB 成为默认的存储引擎 |
2016 年 | MySQL 发布 8.0.0 版本。为什么没有 6、7?5.6 可以当成 6.x,5.7 可以当成 7.x |
MySQL8
MySQL8是目前最新发布的稳定的版本。MySQL8与MySQL5,是目前行业内使用最广泛的两个发行版本。低于5.0的版本,官方已不再提供支持。
MySQL发行版本
针对不同的用户,MySQL 分为两个版本:
- MySQL Community Server(社区版):该版本是自由下载且完全免费的,但是官方不提供技术支持。
- MySQL Enterprise Server(企业版):该版本是收费的,而且不能下载,但是该版本拥有完善的技术支持(官方提供电话技术支持)。
MySQL的优势
- 运行速度快:MySQL体积小,命令执行的速度快。
- 成本低:MySQL是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本。
- 易上手:与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用。
- 可移植性强:MySQL能够运行于多种系统平台上,如windouws,Linux,Unix,MacOS等。
- 适用性广:MySQL支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用。
- 接口丰富:提供了用于C、C++、Java、.Net、Perl、PHP、Python、Ruby等多种编程语言的API接口。
- 支持多种标准:支持标准SQL语法、ODBC和JDBC数据库中间件。
- 安全性高:提供灵活安全的权限管理体系和密码传输体系,允许基于主机的白名单验证。
本站所有内容均为原创,本站保留所有权利。仅允许非商业用途的转载,但必须注明来源网站、作者、来源链接!否则,由此造成的一切后果,由转载方承担!
干货分享、技术提升、面试笔试、学习交流,欢迎关注公众号:xuesql。QQ学习交流群:209942678。