一、什么是数据库
数据库( DataBase, DB) 是一 个 存储 数据 的 仓库。 为了 方便 数据 的 存储 和 管理, 它将 数据 按照 特定 的 规律 存储 在 磁盘 上。 通过 数据库 管理 系统, 可以 有效地 组织 和 管理 存储 在 数据库 中的 数据。 如今, 已有 Oracle、 SQL Server 和 MySQL 等 诸多 优秀 的 数据库。
1.什么是数据库
数据库( DataBase, DB) 是按 照数 据 结构 来 组织、 存储和 管理 数据 的 仓库。数据库 是一 个 长期 存储 在 计算机 内 的、 有组织 的、 有 共享 的、 统一 管理 的 数据 集合。 它是 一个 按 数据 结构 来 存储 和 管理 数据 的 计算机 软件 系统。 也就是说, 数据库 包含 有两 种 含义: 保管 数据 的“ 仓库”, 以及 管理 数据 的 方法 和 技术。
2.数据库 系统
数据库 系统 包括 3 个 主要 的 组成部分。
⑴ 数据库: 用于 存储 数据 的 存储 空间。
⑵ 数据库 管理 系统: 用于 管理 数据库 的 软件。
⑶ 数据库 应用 程序: 为了 提高 数据库 系统 的 处理 能力 所 使用 的 管理 数据库 的 软件 补充。
数据库( DataBase, DB) 提供 一个 存储 空间 用于 存储 数据, 就 像 一个 仓库 一样, 可以 存储 很多 种 不同 的 文件。 一个 数据库 系统 可能 包含 有很 多种 数据库。
数据库 管理 系统( Database Management System, DBMS) 是 用于 创建、 管理、 和 维护 数据库 时 所 使用 的 软件, 介于 用户 和 操作系统 之间, 对 数据库 进行 管理。 DBMS 能 定义 数据 存储 结构, 提供 数据 的 操作 机制, 维护 数据库 的 安全性、 完整性 和 可靠性。
数据库 应用 程序( Database Application), 相对于 DBMS, 数据库 应用 程序 可以 帮助 用户 实现 对 数据库 操作 的 更高 要求, 可以 让 管理 过程 更加 的 直观 和 友好。
3.SQL 语言
SQL 的 含义 是 结构 化 查询 语言( Structured Query Language), 它是 用来 实现 对 数据库 进行 查询 和 修改 操作 的 标准 语言。 SQL 语言 包含 以下 4 个 部分。
⑴ 数据 定义 语言( DDL): DROP、 CREATE、 ALTER 等 语句。
⑵ 数据 操作 语言( DML): INSERT、 UPDATE、 DELETE 语句。
⑶ 数据 查询 语言( DQL): SELECT 语句。
⑷ 数据 控制 语言( DCL): GRANT、 REVOKE、 COMMIT、 ROLLBACK 等 语句。
4.数据库 访问 技术
数据库 存储 的 程序 最终 是要 为 软件 服务 的, 因此, 程序 通过 数据库 访问 技术 访问 调用 数据库。 不同 的 程序设计 语言 会 采用 不同 的 数据库 访问 技术。 主要 的 数据库 访问 技术 有 ODBC、 JDBC、 ADO. NET、 PDO 等。
二、MySQl简介
MySQL 是一 个 开放 源 码 的 小型 关联 式 数据库 管理 系统, 开发者 为 瑞典 MySQL AB 公司。 目前 MySQL 被 广泛 地 应用 在 Internet 上 的 中小型 网 站 中。 由于 其 体积 小、 速度快、 总体 拥有 成本 低, 尤其是 开放 源 码 这一 特点, 许多 中小型 网 站 为了 降低 网 站 总体 拥有 成本 而 选择 了 MySQL 作为 网 站 数据库。
MySQL 最初 的 开发者 的 意图 是 用 mSQL 和他 们 自己的 快速 低级 例程( ISAM) 去 连接 表格。 经过 一些 测试 后, 开发者 得出 结论: MySQL 并没有 他们 需要 的 那么 快 和 灵活。 这 导致 了 一个 使用 几乎 和 mSQL 一样 的 API 接口 的 用于 他们的 数据库 的 新的 SQL 接口 的 产生, 这样, 这个 API 被 设计 成 允许 为 用于 mSQL 而 写的 第三方 代码 更容易 移植 到 MySQL。
MySQL 这个 名字 是 怎么 来的 已经 不清楚 了。 基本 指南 和 大量 的 库 和 工具 带有 前缀“ my” 已经 有 10 年 以上, 而且 不管怎样, MySQL AB 创始人 之一 的 的 女儿 也叫 My。 这 两个 到底 是 哪一个 给出 了 MySQL 这个 名字 至今 依然是 个 迷, 包括 开发者 在内 也不 知道。 MySQL 的 海豚 标志 的 名字 叫“ sakila”, 它是 由 MySQLAB 的 创始人 从 用户 在“ 海豚 命名” 的 竞赛 中 建议 的 大量 的 名字 表中 选出 的。 获胜 的 名字 是由 来自 非洲 斯 威 士 兰 的 开源 软件 开发者 Ambrose Twebaze 提供。 根据 Ambrose 所说, Sakila 来自 一种 叫 SiSwati 的 斯 威 士 兰 方言, 也是 在 Ambrose 的 家乡 乌干达 附近 的 坦桑尼亚 的 Arusha 的 一个 小镇 的 名字。
2008 年 1 月 16 日 MySQL AB 被 Sun 公司 收购。 而 2009 年, SUN 又被 Oracle 收购。 就这 样 如同 一个 轮回, MySQL 成为 了 Oracle 公司 的 另一个 数据库 项目。
MySQL 是 数据库 的 一种, 具有 数据库 的 通用 特征, 同时, 比起 其他 类型 的 数据库, 它 还 具有 自己 鲜明 的 特点。
1.MySQL 介绍
MySQL 是一 个 小型 的 开源 的 关系 型 数据库 管理 系统, 与其 他 大型 数据库 管理 系统 例如 Oracle、 DB2、 SQL Server 等 相比, MySQL 规模 小, 功能 有限, 但是 它 体积 小、 速度快、 成本 低, 且 它 提供 的 功能 对 稍微 复杂 的 应用 已经 够用, 这些 特性 使得 MySQL 成为 世界上 最受 欢迎 的 开放 源 代码 数据库。
2.MySQL 版本 介绍
针对 不同 的 用户, MySQL 分为 两个 不同 的 版本:
● MySQL Community Server( 社区 版): 该 版本 完全 免费, 但是 官方 不提 供 技术 支持。 用户 可以 自由 下载 使用。
● MySQL Enterprise Server( 企业 版 服务器): 为 企业 提供 数据库 应用, 支持 ACID 事务处理, 提供 完整 的 提交、 回 滚、 崩溃 恢复 和 行政 锁定 功能。 需要 付费 使用, 官方 提供 技术 支持。
三、MySQL的技术体系
1.C/ S 架构
C/ S( Client/ Server) 结构, 即 大家 熟知 的 客户 机 和 服务器 结构。 通过 C/ S 可以 充分 利用 两端 硬件 环境 的 优势, 将 任务 合理 分配 到 Client 端 和 Server 端来 实现, 降低 了 系统 的 通讯 开销。 目前 大多数 应用 软件 系统 都是 C/ S 形式 的 两层 结构。
在 C/ S 模式 中 服务器 通常 采用 高性能 的 PC、 工作站 或 小型机, 并 采用 大型 数据库 系统, 如 Oracle、 MySQL 等。 客户 端 需要 安装 专用 的 客户 端 软件。 用户 使用 应用 程序 时, 首先 启动 客户 端 通过 有关 命令 告知 服务器 完成 各种 操作, 而 服务器 则 按照 命令 提供 相应 的 服务。 每一个 客户 端 软件 都 可以向 一个 服务器 或 应用 程序 服务器 发出 请求。
2.MySQL 命令行 实用 程序
MySQL 数据库 管理 系统 提供 了 许多 命令行 工具 程序, 这些 工具 用来 管理 MySQL 服务器、 对 数据库 进行 访问 控制、 管理 MySQL 用户 以及 数据库 备份 和 恢复 工具 等。 这些 工具 程序 分为 MySQL 服务器 端 工具 程序 和 客户 端 工具 程序。
3.MySQL Workbench
MySQL Workbench 是一 款 专为 MySQL 设计 的 ER/ 数据库建模 工具。 它是 著名 的 数据库 设计 工具 DBDesigner4 的 继任者。 你 可 以用 MySQLWorkbench 设计 和 创建 新的 数据库 图示, 建立 数据库 文档, 以及 进行 复杂 的 MySQL 迁移。 主要 功能 如下。
● 数据库 设计 和 模型 建立。
● SQL 开发。
● 数据库 管理。
MySQL Workbench 同时 有 开源 和 商业化 两个 版本。
⑴ MySQL Workbench Community Edition( 社区 版本), 用户 可 免费 使用。
⑵ MySQL Workbench Standard Edition( 商业 版本), 需要 收取 费用, 官方 提供 技术 支持。
两个 版本 的 软件 均 支持 Windows 和 Linux 系统。
四、MySQL的应用领域和前景
MySQL 数据库 有很 多 优势, 下面 总结 几点。
⑴ MySQL 是 开放 源 代码 的 数据库, 任何人 都可以 获得 该 数据库 的 源 代码。 这就 使得 任何人 都可以 修正 MySQL 的 缺陷。 并且 任何 人都 能以 任何 目的 来 使用 该 数据库。 Richard Stallman 提出 GUN 工程 以及 GPL 许可 协议, 目的 是 为 用户 提供 可以 自由 使用 的 软件。 MySQL 作为 一 款 自由 软件, 延续 并 继承 了 GUN 的 思想, 保证 了 MySQL 是一 款 可以 自由 使用 的 数据库。
⑵ MySQL 能够 实现 跨 平台 操作, 不仅 可以 在 Windows 系列 操作系统 上 运行, 还可 以在 UNIX、 Linux 和 Mac OS 等 操作系统 上 运行。 因为 很多 网 站 都 选择 UNIX、 Linux 作为 网 站的 服务器, 所以 MySQL 的 跨 平台 性 保证 其 在 Web 应用 方面 的 优势。 虽然 微软 公司 的 SQL Server 数据库 是一 款 很 优秀 的 商业 数据库, 但是 其 只能 在 Windows 系列 的 操作系统 上 运行。 因此 MySQL 数据库 的 跨 平台 性 决定 其 应用 前景 广泛。
⑶ MySQL 数据库 是一 款 自由 软件。 任何人 都可以 从
MySQL 的 官方 网 站 下载 该 软件。 有些 社区 版本 的 MySQL 都是 可以 免费 使用 的。 即使是 需要 付费 的 附加 功能, 其 价格 也是 很 便宜 的。 相对于 Oracle、 DB2 和 SQL Server 这些 价格 昂贵 的 商业 软件, MySQL 具有 绝对 的 价格 优势。 ⑷ MySQL 功能 强大 且 使用 方便。 MySQL 是一 个 真正 的 多用户、 多 线程 SQL 数据库 服务器。 它是 以 客户 机/ 服务器 结构 的 实现, 由 一个 服务器 守护 程序 mysqld 和 很多 不同 的 客户 程序 与 库 组成。 它 能 快速、 有效 和 安全 地处 理 大量 的 数据。 相对于 Oracle 等 数据库 来说, MySQL 的 使用 是非 常 简单 的。 这 也为 MySQL 在 各行各业 得到 广泛 的 应用 奠定 了 基础。