文章目录
数据库的前言
数据(Data)
数据是指对客观事物藐视并可以鉴别的符号,这些顾好是可识别的,抽象的,它不仅仅指嫌疑上的文本(数字、字母、字符等)。
数据还有很多种形式:图形、音频、视频等。
为什么使用数据库?
存储方式 | 优点 | 缺点 |
---|---|---|
内存 | 速度快 | 不能都永久的保存,数据是临时状态的 |
文件 | 文件可以永久保存 | 使用I/O流操作文件,不方便 |
数据库(Database,DB)
数据库就是存储数据的仓库。
其本质就是一个文件管理,就是以文件的形式将数据保存到电脑的磁盘中(永久保存)。
Database Management System,DBMS(数据库管理系统)
数据库管理系统:一种操作和数据管理维护库的大型软件
Mysql就是数据库管理系统软件,安装了MySQL的电脑,可以称为数据库服务器
作用: 用于建立、使用和维护数据库,对数据库进行统一的管理。
数据库的分类
a. 关系型数据库
关系型数据库是将复杂的数据结构用较为简单的二维表来表示。
姓名 | 性别 | 年龄 |
---|---|---|
小明 | 男 | 12 |
小红 | 女 | 13 |
在该类型数据库中,对数据的操作基本上都建立在一张或多张表上,采用结构化查询语句(SQL)对数据库进行操作。关系型数据库是比较主流的数据库技术
常见的关系型数据库有:MySQL、Oracle、DB2、SQL Server等。
优点
- 易于维护:都是是哟个表结构,格式一致。
- 使用方便:SQL语言通用,可用于复杂查询。
- 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点
传统关系型数据库的硬盘I/O是一个很大的瓶颈,读写性能相对较差,尤其是海量数据的高效读写。
b. 非关系型数据库
NOSQL(Not Only SQL)泛指非关系型数据库。关系型数据库在超大规模和高并发的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。NOSQL数据库的生产就是为了解决这些问题。
常见的非关系型数据库管理系统有Redis、Memcached、MongoDB等。
优点
- 格式灵活:存储数据的格式可以是key、value形式。文档形式、图片形式等等。使用灵活,应用场景广泛,而关系型数据库则只支持基础的类型。
- 速度快:使用内存存储数据,而关系型数据库只能使用硬盘。
- 高扩展性。
缺点
- 不提供sql支持,学习和使用成本比较高。
- 数据结构相对复杂,复杂查询方面欠缺。
- 只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,关系型数据库显的更为合适。
- 不适合持久存储海量数据。
常见的关系型数据库
a. MySQL
MySQL是一种开放源代码的轻量级关系型数据库,MySQL数据库使用最常用的结构化查询语言(SQL)对数据库进行管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个人需要对其缺陷进行修改。
由于MySQL数据库体积小、速度快、成本低、开放源码等优点,现已被广泛应用于互联网上的中小型网站中,并且大型网站也开始使用MySQL数据库,如网易、新浪等。
虽然非关系型数据库的优点很多,但是由于其并不提供SQL支持、学习和使用成本较高并且无事务处理, 常用的关系型数据库
b. Oracle
Oracle数据库是由美国的甲骨文(Oracle)公司开发的世界上第一款支持SQL语言的关系型数据库。经过多年的完善与发展,Oracle数据库已经成为世界上最流行的数据库,也是甲骨文公司的核心产品。
Oracle数据库具有很好的开放性,能在所有的主流平台上运行,并且性能高、安全性高、风险低;但是其对硬件的要求很高、管理维护和操作比较复杂而且价格昂贵,所以一般用在满足对银行、金融、保险等行业大型数据库的需求上。
c. DB2
DB2是IBM公司著名的关系型数据库产品。DB2无论稳定性,安全性,恢复性等等都无可挑剔,而且从小规模到大规模的应用都可以使用,但是用起来非常繁琐,比较适合大型的分布式应用系统。
d. SQL Server
SQL Server是由Microsoft开发和推广的关系型数据库,SQL Server的功能比较全面、效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Windows操作系统紧密继承,无论是应用程序开发速度还是系统事务处理运行速度,都能得到大幅度提升。但是,SQL Server只能在Windows系统下运行,毫无开放性可言。