# 4 数据库
## 4 数据库
一般在服务器端产生[动态内容](static_vs_dynamic_content.html)的网站都使用了数据库来做数据存贮或缓存。
**数据库(Database)**简单地说就是一个结构化的数据集合[1](#fn_1),通过**数据库管理系统(DBMS)**与用户交互(由于数据库和数据库管理系统的紧密联系,数据库管理系统有时也被宽泛地称为数据库,本指南也是如此,读者不难从上下文中推断出其具体含义)。数据库管理系统有很多不同种类[2](#fn_2),当今流行的数据库主要是以SQL语言进行操作的*关系型数据库(Relational DBMS)*,如[MySQL](http://www.mysql.com/),[PostgreSQL](http://postgresql.org/),[MS SQL Server](http://www.microsoft.com/sqlserver/),[Oracle](https://www.oracle.com/database/index.html)等;以及*NoSQL数据库*,如[MongoDB](https://www.mongodb.org/),[Redis](http://redis.io/)等。下面对这两类数据库分别做一介绍。
> 1. 根据 <https://en.wikipedia.org/wiki/Database>: "A database is an organized collection of data."[↩](#reffn_1 "Jump back to footnote [1] in the text.")
> 2. 光是分类标准就有一个列表:<https://en.wikipedia.org/wiki/Database#Examples>[↩](#reffn_2 "Jump back to footnote [2] in the text.")
- 前言
- 1 Web概述
- 1.1 什么是Web
- 1.2 超文本和超链接
- 1.3 URL
- 1.4 DNS
- 1.5 HTTP
- 1.5.1 客户端请求
- 1.5.2 服务器应答
- 1.5.3 进一步了解HTTP
- 1.6 HTTPS
- 2 Web浏览器
- 2.1 HTML
- 2.1.1 文档类型声明
- 2.1.2 标签和属性
- 2.1.3 文档结构
- 2.1.4 DOM
- 2.1.5 进一步了解HTML
- 2.2 CSS
- 2.2.1 样式与样式表
- 2.2.2 样式表语法
- 2.2.3 级联样式表
- 2.2.4 进一步了解CSS
- 2.3 JavaScript
- 2.3.1 script标签
- 2.3.2 操纵DOM
- 2.3.3 jQuery
- 2.3.4 进一步了解JavaScript
- 2.4 Ajax
- 2.5 移动设备与响应式Web设计
- 3 Web服务器
- 3.1 方法与资源
- 3.2 状态代码
- 3.3 静态内容与动态内容
- 3.4 编程语言与技术
- 3.4.1 CGI
- 3.4.2 PHP
- 3.4.3 Java
- 3.4.4 Python
- 3.4.5 Ruby
- 3.4.6 Node.js
- 3.5 RESTful Web API
- 3.6 服务器架构
- 3.7 Web缓存
- 3.8 服务器推送
- 4 数据库
- 4.1 关系型数据库
- 4.2 NoSQL数据库
- 5 Web服务器的其他组件
- 5.1 Cron
- 5.2 消息队列
- 5.3 邮件服务器
- 6 开发工具与技术
- 6.1 Git
- 6.1.1 Git基础操作
- 6.1.2 Git基本原理
- 6.1.3 进一步了解Git
- 6.2 敏捷开发