数据库概述

1. 基础概念

  • 持久化:将内存中的数据保存到可掉电式存储设备(如硬盘、数据库、文件、XML 等),供后续使用,是企业级应用中数据固化的重要方式。
  • 核心术语
    • DB(数据库):存储数据的 “仓库”,本质是文件系统,用于保存有组织的数据。
    • DBMS(数据库管理系统):操纵和管理数据库的大型软件,用于建立、使用和维护数据库,用户通过它访问表中数据(如 MySQL、Oracle)。
    • SQL(结构化查询语言):专门用于与数据库通信的语言。
  • 关系:DBMS 管理多个数据库,每个数据库包含多个表,表存储具体数据。

2. 常见数据库管理系统(DBMS)

2.1 主流 DBMS 及特点

数据库 特点 适用场景
Oracle 第一个商用 RDBMS,功能强、安全性高,收费;收购 Sun 后拥有 MySQL 管理权 大型跨国企业
MySQL 开源、速度快、体积小、易维护,支持千万级记录,分社区版和商业版 互联网公司、中小型网站
SQL Server 微软开发,与 C#、.net 集成好,适合 Windows 环境 微软技术栈相关应用
PostgreSQL 稳定性强,符合 SQL 标准,开源,处理大数据量文本和 SQL 快 需高稳定性的企业级应用
SQLite 嵌入式小型数据库,零配置,崩溃后自动恢复 手机端应用
Redis 键值型非关系数据库,性能高 内存缓存、排行榜
MongoDB 文档型非关系数据库,存储 XML/JSON 格式文档 文档存储场景
Elasticsearch 搜索引擎数据库,基于倒排索引,检索效率高 全文检索场景

3. MySQL 重点信息

  • 概述:1995 年由瑞典 MySQL AB 公司开发,开源关系型数据库,2008 年被 Sun 收购,2009 年随 Sun 被 Oracle 收购;分社区版和商业版。
  • 特点
    • 数据存于不同表中,提高速度和灵活性;
    • 开源免费,可定制(基于 GPL 协议);
    • 支持大型数据库(千万条记录,64 位系统表文件最大 8TB);
    • 支持 C、Java、Python 等多种语言。
  • 关键节点:2010 年进入 Oracle 时代,2013 年 InnoDB 成为默认存储引擎,2018 年发布 MySQL 8.0.11 GA。
    Pasted image 20250725201802.png

4. 关系型数据库(RDBMS)与非关系型数据库(非 RDBMS)

4.1 关系型数据库(RDBMS)

  • 实质:基于二维表格(行 / 列)存储数据,表与表之间存在关系,用 SQL 操作。
  • 优势
    • 支持复杂查询(多表关联);
    • 支持事务,保证数据安全性。
  • 代表:Oracle、MySQL、SQL Server、PostgreSQL。

4.2 非关系型数据库(非 RDBMS)

  • 实质:基于键值对存储,无需 SQL 解析,性能高,功能简化。
  • 分类及代表
    • 键值型:Redis(内存缓存);
    • 文档型:MongoDB(存储 XML/JSON);
    • 搜索引擎:Elasticsearch(倒排索引,全文检索);
    • 列式存储:HBase(适合分布式文件系统)。
  • 适用场景:日志收集、排行榜、定时器等无需复杂关系的场景。

5. 关系型数据库设计规则

5.1 核心结构

  • 层次:数据→表→库;一个库含多个表,表名唯一。
  • ORM 映射
    • 表 ↔ 类;
    • 记录(行) ↔ 对象;
    • 字段(列) ↔ 类属性。

5.2 表的关联关系及建表原则

  • 一对一:可合并为一张表,如需拆分,从表外键唯一或外键作为主键(如学生基础信息表与档案表)。
  • 一对多:从表(多方)添加外键指向主表(一方)主键(如部门表与员工表)。
  • 多对多:需创建中间表,存储双方主键(如学生表与课程表通过选课表关联)。
  • 自我引用:表中字段关联自身主键(如员工表的 “主管编号” 关联同表 “员工编号”)。
    Pasted image 20250725201923.png
Java基础

节点流之二:FileInputStream-FileOutputStream

2025-8-21 15:00:00

数据库概述与安装

MySQL环境搭建

2025-7-25 20:43:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索