为什么要使用数据库
持久化
- 持久化:把数据保存到可掉电式存储设备中以供之后使用。数据持久化意味着将内存中的数据保存到硬盘上。
- 持久化的作用:将内存中的数据存储在能够长时间保存的存储介质中(关系数据库、磁盘文件、XML数据文件)。
数据库使用场景
- 用户的登录信息
- 用户购物的订单信息保存
- 微信聊天在退出重新登录后,能查询到之前的聊天记录
数据库与数据库管理系统
数据库的相关概念
DB:数据库(Database)即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
SQL:结构化查询语言(Structured Query Language)专门用来与数据库通信的语言。
数据库与数据库管理系统的关系
数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
常见的数据库管理系统
目前互联网上常见的数据库管理软件有Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix等。
Oracle 1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气越来越大,公司也改名叫 Oracle 公司。 2007年,总计85亿美金收购BEA Systems。 2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。
2013年,甲骨文超越IBM,成为继Microsoft后全球第二大软件公司。
如今 Oracle 的年收入达到了 400 亿美金,足以证明商用(收费)数据库软件的价值。
SQL Server
SQL Server 是微软开发的大型商业数据库,诞生于 1989 年。C#、.net等语言常使用,与WinNT完全集成,也可以很好地与Microsoft BackOffice产品集成。
DB2 IBM公司的数据库产品,收费的。常应用在银行系统中。
PostgreSQL PostgreSQL 的稳定性极强,最符合SQL标准,开放源码,具备商业级DBMS质量。PG对数据量大的文本以及SQL处理较快。
SyBase
已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
SQLite
嵌入式的小型数据库,应用在手机端。 零配置,SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复。
informix
IBM公司出品,取自Information 和Unix的结合,它是第一个被移植到Linux上的商业数据库产品。仅运行于unix/linux平台,命令行操作。 性能较高,支持集群,适应于安全性要求极高的系统,尤其是银行,证券系统的应用。
MySQL介绍
MySQL是一个开放源代码的关系型数据库管理系统
为什么要选择使用MySQL?
为什么在这么多的数据库厂商中选择MySQL?主要原因如下:
- 开源,节省使用成本。
- 性能卓越,服务稳定。
- 软件体积小,使用简单,易于维护。
- 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
- 许多互联网公司在用,经过了时间的验证。
Oracle vs MySQL
Oracle:收费高,适合对性能要求以及安全性更高的大型跨国企业。
MySQL:开源免费,体积小、速度快,使用成本低,可处理上千万条记录的大型数据库,适合中小型企业。