数据库基础
- 1.什么是数据库?
- 2.为什么要学习数据库?
- 3.主流的数据库(了解)
- 4.服务器,数据库,表之间的关系
- 5.数据的逻辑存储
- 6.MYSQL架构
- 7.存储引擎
1.什么是数据库?
数据库(Database,简称DB),长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"。用来存放管理数据。
2.为什么要学习数据库?
看了数据库的介绍,好像跟文件差不多?存储数据用文件不是也一样吗? 文件有一些缺点:
- 安全性问题无法保证
- 不利于数据的查询和管理
- 不利于存储海量的数据
- 文件在程序中控制不方便
当然了文件的这些缺点就是数据库的优点所在了。
3.主流的数据库(了解)
• SQL Sever:微软的产品,.Net程序员的最爱,中大型项目。
• Oracle:甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
• MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
• PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
• SQLite:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
• H2:是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
4.服务器,数据库,表之间的关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
5.数据的逻辑存储
基本上数据就是按照行与列的方式进行储存的。
6.MYSQL架构
MYSQL的架构一共为四层 分别是:
1.连接层:负责处理客户端接入,像用户登录、授权、连接管理等都在此进行。
2.服务层:是核心层,包含诸多关键功能模块。SQL 接口接收客户端 SQL 命令并返回结果;解析器对 SQL 进行词法和语法分析等待
3.引擎层:决定表数据的读写和存储方式,是较为重要的一层。服务层制定执行计划后,由引擎层执行具体的数据读写操作。
4.存储层:为上层服务提供基础文件服务,存储着日志、数据、索引等文件,与引擎层交互,是数据的物理存储基础
7.存储引擎
我们一般就使用两个。