1、什么是数据库
通俗来讲,数据库就是用于存储数据的仓库。很多人可能会问,存储数据用文件不就行了吗?为什么还要弄数据库?
文件存储数据具有以下几个缺点:
- 文件的安全性问题
- 文件不利于查询和数据库管理
- 文件不利于存放海量数据
- 文件在程序中控制不方便
为了解决上面这些问题,专家们设计了更加有利于我们管理数据的工具——数据库。数据库的使用方便了我们对数据的操作、管理和控制,数据库的操作水平也是衡量一个程序员能力的重要指标。
2、MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。
MySQL是最流行的RDBMS(关系型数据库管理系统)之一,关系型数据库将数据保存在不同的表中,而不是把所有数据放在一个大仓库内,这样就提高了数据库的速度和灵活性。
MySQL所使用的sql语言是用于访问数据库的最常用的标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,为多种编程语言提供了API,尤其是开放源码这一特点,一般的中小型网站的开发都使用MySQL作为网站数据库。
3、关系型数据库和非关系型数据库的比较
(1)关系型数据库
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。
优点:
- 它的逻辑是常见的表结构,容易理解;
- 数据一致性高,冗余低,数据完整性好,便于操作;
- 技术成熟,功能强大,sql语言通用,支持很多复杂操作。
缺点:
- 每次操作都要进行sql语句的解析,消耗较大;
- 不能很好的满足并发需求,尤其是海量数据的高效率读写时,关系型数据库读写稍显不足;
- 固定的表结构,灵活度稍欠。
(2)非关系型数据库
Nosql(Not only sql,非关系型数据库)严格上不是一种数据库,应该是一种数据结构化存储的集合,可以使文档或者键值对等
优点:
- 弱化数据结构的一致性,使用更加灵活;
- 高并发,读写能力强;
- 拥有良好的可扩展性。
缺点:
- 通用性差,没有sql语句那样通用的语句;
- 不支持复杂操作;
- 不支持事务。