跳转至

数据库简介

前言

在之前的 Java 学习中,我们编写的程序大多与控制台交互。它们的特点是:程序终止后,数据随之消失
为了实现数据持久化(保存数据以便下次使用),我们通常会使用数据库

数据库是一种能将内存数据固化到硬盘的技术载体,通过它可以保存大量结构化数据。


一、为什么使用数据库

1. 持久化的概念

持久化(Persistence)指将数据长期保存的过程。
程序运行在内存中,数据是暂时的,而数据库能将这些数据永久保存到硬盘中。

2. 持久化的常见方式

  • 存入关系型数据库(如 MySQL、Oracle)
  • 存入文件(CSV、TXT)
  • 存入 XML / JSON 等数据文件

二、数据库与数据库管理系统

名称 全称 含义
DB Database 数据库:存储数据的“仓库”,本质上是一种文件系统
DBMS Database Management System 数据库管理系统,用于管理数据库的创建、使用和维护
SQL Structured Query Language 结构化查询语言,是操作关系型数据库的通用语言

类比理解:

DBMS 像「视频播放器」,数据库(DB)像「视频文件」。
我们通过 DBMS(播放器)操作 DB(视频)。


三、数据库管理系统排名

常见的数据库管理系统包括:

  • MySQL
  • PostgreSQL
  • SQL Server
  • Oracle
  • DB2
  • SQLite
  • Redis
  • MongoDB

截至 2025 年,MySQL、PostgreSQL、Oracle、SQL Server 一直稳居前四。


四、RDBMS 与 非 RDBMS

分类 全称 示例
RDBMS 关系型数据库 MySQL、PostgreSQL、Oracle、SQL Server、DB2
非 RDBMS 非关系型数据库 Redis、MongoDB、Elasticsearch、HBase、Neo4j

1. 关系型数据库(RDBMS)

使用“表格(Table)”结构存储数据,以行和列为基本单位,通过 SQL 操作。

优点:

  • 数据结构固定
  • 支持事务
  • 查询能力强(支持多表 JOIN)
  • 有完善的安全与权限控制

2. 非关系型数据库(NoSQL)

更灵活的数据存储模型,不强制表结构约束,常用于高并发、大数据场景。

类型 存储结构 常见产品 应用场景
键值型 key-value Redis 缓存、Session 存储
文档型 JSON/XML MongoDB 半结构化数据
列式数据库 按列存储 HBase 大数据分析
图形数据库 节点+边 Neo4j 社交关系建模
搜索引擎型 倒排索引 Elasticsearch 全文检索

五、关系型数据库设计原则

1. ORM 映射关系

数据库 Java
一张表 一个类
一条记录 一个对象
一列字段 一个属性

2. E-R 模型三要素

  • 实体(Entity)
  • 属性(Attribute)
  • 联系(Relationship)

3. 表之间的关系

类型 示例 建表原则
一对一 用户 ↔ 用户详情 外键唯一或主键互为外键
一对多 学生 ↔ 成绩 在“多”的一方添加外键
多对多 学生 ↔ 课程 新建中间表存主键映射

六、MySQL 简介

1. 版本分类

版本 特点
Community 免费开源版,广泛使用
Enterprise 收费,含官方技术支持

2. 优势

  • 使用 C/C++ 编写,跨平台强
  • 支持多语言 API(Java / Python / PHP)
  • 查询优化出色,性能优越
  • 体积小,部署方便

3. MySQL vs Oracle

项目 MySQL Oracle
费用 免费 收费
性能 快速轻量 稳定安全
应用场景 Web系统 企业核心业务

七、MySQL、A5M2 安装

MYSQLインストール手順書

A5M2インストール


八、A5M2 连接 MySQL 步骤

A5:SQL Mk-2 是一个非常好用的日系 SQL 客户端工具(支持 ER 图、脚本导出、可视化编辑)。 下面是连接 MySQL 的常见操作步骤

  1. 启动 A5M2 打开 A5:SQL Mk-2 软件。
  2. 新建连接 点击菜单栏: 数据库 → 新建连接 → 选择 “MySQL”
  3. 填写连接信息
项目 示例 说明
连接名 MyLocalMySQL 任意填写
主机名 localhost 本机数据库
端口号 3306 MySQL 默认端口
用户名 root 或 devuser 数据库用户名
密码 ** 登陆密码
数据库名 test / your_db 要连接的数据库名

可选:勾选 “保存密码” 以免每次输入。 4. 测试连接 点击“测试连接”,出现成功即表示连接正常。 5. 保存并连接 点击“连接”即可进入数据库浏览界面。 6. 常见问题 若提示 “无法连接 3306 端口” → 检查 MySQL 服务是否已启动。 若提示 “Access denied” → 检查用户名、密码、主机权限。 若中文显示乱码 → 在连接设置中选择 UTF-8 编码。


九、五大主流数据库系统介绍与选型

MySQL

  • 类型:开源关系型数据库
  • 开发者:Oracle 公司
  • 优势:免费、跨平台、轻量级、多语言支持
  • 缺点:复杂事务与海量数据性能略弱
  • 典型场景:Web 应用、电商、ERP、小型系统

PostgreSQL

  • 类型:开源对象关系型数据库
  • 开发者:PostgreSQL 社区
  • 优点:SQL 标准兼容性最强,支持 GIS、事务、触发器
  • 缺点:学习曲线较陡,工具较少
  • 场景:企业系统、政府项目、BI 分析、GIS 应用

SQL Server

  • 类型:微软开发的关系型数据库
  • 优点:与 Windows/.NET 兼容性高,图形化工具友好
  • 缺点:商业授权昂贵,跨平台性较弱
  • 场景:企业内部管理系统(CRM、OA、财务)

Oracle Database

  • 类型:商业级关系型数据库
  • 优点:高性能、高可靠、强事务支持
  • 缺点:昂贵、部署复杂
  • 场景:银行、电信、保险、国家级系统

IBM DB2

  • 类型:企业级商业数据库
  • 优点:事务一致性强,大数据支持好
  • 缺点:成本高,生态闭环
  • 场景:金融、政府、主机系统

五大数据库对比表

特性 MySQL PostgreSQL SQL Server Oracle DB2
开源
免费 部分
操作系统 全平台 全平台 Win/Linux 全平台 全平台
性能优化 极高 极高
分布式支持 一般 一般
GIS 支持 一般 ✅ 强 一般 一般 一般
事务
适用场景 Web 应用 企业项目 Windows 系统 核心业务 金融系统

项目选型建议

场景 推荐数据库 理由
Web / 中小型项目 MySQL 开源轻量,部署简单
政府 / 金融类项目 PostgreSQL / Oracle 安全与事务控制优越
企业 OA / ERP 系统 SQL Server 与 .NET 平台兼容
跨平台开源项目 PostgreSQL 扩展性强,SQL 标准高
大型主机 / 批量计算 DB2 / Oracle 稳定高效,事务可靠

总结

  • 数据库的基本概念、
  • RDBMS 与 NoSQL 的区别、
  • 表设计原则、
  • MySQL 的安装与配置,
  • 深入对比了当前主流的五大数据库系统。

掌握 SQL 与数据库系统的差异,是后端开发的基础与架构设计核心。
选择合适的数据库系统,是实现高性能与高可用性系统的重要一步。