Jorgen's blog Jorgen's blog
首页
  • 平台架构
  • 混合式开发记录
  • 推送服务
  • 数据分析
  • 实时调度
  • 架构思想

    • 分布式
  • 编程框架工具

    • 编程语言
    • 框架
    • 开发工具
  • 数据存储与处理

    • 数据库
    • 大数据
  • 消息、缓存与搜索

    • 消息队列
    • 搜索与日志分析
  • 前端与跨端开发

    • 前端技术
    • Android
  • 系统与运维

    • 操作系统
    • 容器化与 DevOps
  • 物联网与安全

    • 通信协议
    • 安全
    • 云平台
newland
  • 关于我
  • 终身学习
  • 关于时间的感悟
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

jorgen

Love it, make mistakes, learn, keep grinding.
首页
  • 平台架构
  • 混合式开发记录
  • 推送服务
  • 数据分析
  • 实时调度
  • 架构思想

    • 分布式
  • 编程框架工具

    • 编程语言
    • 框架
    • 开发工具
  • 数据存储与处理

    • 数据库
    • 大数据
  • 消息、缓存与搜索

    • 消息队列
    • 搜索与日志分析
  • 前端与跨端开发

    • 前端技术
    • Android
  • 系统与运维

    • 操作系统
    • 容器化与 DevOps
  • 物联网与安全

    • 通信协议
    • 安全
    • 云平台
newland
  • 关于我
  • 终身学习
  • 关于时间的感悟
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 时序数据库
  • Postgres
  • MongoDB入门与实践
  • NewSQL数据库:关系型与NoSQL的完美结合
  • Redis入门与实践:高性能键值数据库指南
  • Redis入门与实践
  • SQL基础:关系型数据库的语言
  • 关系型数据库基础
  • 关系型数据库基础与SQL入门
    • 前言
    • 关系型数据库的核心概念
      • 数据模型与表结构
      • 关键术语解析
    • SQL基础操作
      • 数据查询语言(DQL)
      • 数据操作语言(DML)
    • 数据库设计最佳实践
      • 1. 范式化设计
      • 2. 索引策略
      • 3. 事务处理
    • 关系型数据库 vs NoSQL
    • 结语
  • 关系型数据库基础理论
  • 关系数据库设计与SQL基础
  • 数据库分类与选型指南
  • 数据库性能优化与调优实战指南
  • 数据库索引与性能优化
  • 数据库索引原理与优化
  • 数据库设计与数据建模:从概念到实践
  • 数据库事务与并发控制:保证数据一致性的核心技术
  • 数据库事务与并发控制:保证数据一致性的核心机制
  • 数据库安全与权限管理-保护数据的基石
  • 数据库备份与恢复策略-确保数据安全的最后一道防线
  • 数据库分布式架构:从CAP理论到分片策略的全面解析
  • 数据库监控与运维-确保数据库健康运行的守护者
  • 数据库高可用方案-构建永不掉线的数据库架构
  • 数据库连接池技术:提升应用性能的关键组件
  • 数据库查询优化与执行计划分析-提升SQL性能的关键技术
  • 数据库迁移策略:平滑过渡的关键步骤与技术实现
  • 数据库缓存策略:提升系统性能的关键武器
  • 数据库性能问题诊断与排查-从现象到根源的系统化方法
  • 数据库版本管理与演进-构建平滑升级的技术路径
  • 数据库分片与分布式数据管理-构建可扩展数据架构的核心技术
  • 数据库云服务与托管解决方案-构建现代化数据架构的必经之路
  • database
Jorgen
2023-11-15
目录

关系型数据库基础与SQL入门

# 前言

在数据库的广阔世界中,关系型数据库(RDBMS)至今仍是企业级应用的中流砥柱。当我们谈论PostgreSQL、MySQL时,是否真正理解它们背后的核心原理?🤔 本文将带你从零开始,揭开关系型数据库的神秘面纱,掌握SQL这一数据操作的"通用语言"。

提示

关系型数据库就像一个高度组织化的数字图书馆,每本书(数据)都有明确的分类(表)和编号(主键),通过借阅卡(外键)建立书籍之间的关联。

# 关系型数据库的核心概念

# 数据模型与表结构

关系型数据库基于关系模型,将数据组织成二维表格的形式。每个表由**行(记录)和列(字段)**组成:

erDiagram
    CUSTOMERS ||--o{ ORDERS : places
    CUSTOMERS {
        int customer_id PK
        string name
        string email
        string phone
    }
    ORDERS {
        int order_id PK
        int customer_id FK
        date order_date
        decimal total_amount
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 关键术语解析

术语 说明 示例
主键(PK) 唯一标识表中每行记录 customer_id
外键(FK) 建立表之间关系的字段 orders.customer_id → customers.customer_id
范式 数据库设计的规范化标准 第一范式(1NF):无重复组
索引 加速查询的数据结构 为email字段创建B-tree索引

# SQL基础操作

# 数据查询语言(DQL)

-- 查询客户订单总金额超过1000的记录
SELECT 
    c.name AS customer_name,
    COUNT(o.order_id) AS order_count,
    SUM(o.total_amount) AS total_spent
FROM 
    customers c
JOIN 
    orders o ON c.customer_id = o.customer_id
GROUP BY 
    c.customer_id, c.name
HAVING 
    SUM(o.total_amount) > 1000
ORDER BY 
    total_spent DESC;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 数据操作语言(DML)

-- 插入新客户
INSERT INTO customers (name, email, phone)
VALUES ('张三', 'zhangsan@example.com', '13800138000');

-- 更新订单状态
UPDATE orders 
SET order_status = 'shipped'
WHERE order_id = 1024 AND order_date > '2023-01-01';

-- 删除过期订单
DELETE FROM orders 
WHERE order_date < '2023-01-01' AND order_status = 'cancelled';
1
2
3
4
5
6
7
8
9
10
11
12

# 数据库设计最佳实践

# 1. 范式化设计

遵循数据库范式可以减少数据冗余:

  • 第一范式(1NF):确保每列都是原子值
  • 第二范式(2NF):在1NF基础上,非主键字段完全依赖主键
  • 第三范式(3NF):在2NF基础上,消除传递依赖

# 2. 索引策略

-- 为高频查询字段创建索引
CREATE INDEX idx_customers_email ON customers(email);

-- 复合索引优化多条件查询
CREATE INDEX idx_orders_customer_date ON orders(customer_id, order_date);
1
2
3
4
5

# 3. 事务处理

BEGIN TRANSACTION;

-- 批量更新操作
UPDATE products 
SET stock_quantity = stock_quantity - 10 
WHERE product_id = 505;

UPDATE orders 
SET order_status = 'processing' 
WHERE order_id = 2001;

COMMIT; -- 或 ROLLBACK 回滚
1
2
3
4
5
6
7
8
9
10
11
12

# 关系型数据库 vs NoSQL

特性 关系型数据库 NoSQL数据库
数据模型 表格结构 文档/键值/列族/图
查询语言 SQL 特定API
扩展性 垂直扩展 水平扩展
适用场景 事务处理、复杂查询 大数据、高并发

💡 经验之谈:选择数据库时,不要盲目追求新技术。90%的业务场景中,经过良好设计的关系型数据库仍然是最佳选择。只有在处理海量非结构化数据或需要极高扩展性时,才考虑NoSQL方案。

# 结语

关系型数据库是数据管理领域的基石,SQL则是每个开发者必备的技能。掌握这些基础概念后,当你再次面对PostgreSQL或MySQL时,将不再是简单地执行SQL语句,而是真正理解数据在表间流动的优雅逻辑。记住:没有最好的数据库,只有最适合的数据库 🚀

"数据是新时代的石油,而关系型数据库就是精炼厂" —— 数据库架构师箴言

#关系型数据库#SQL#数据库设计
上次更新: 2026/01/28, 14:21:05
关系型数据库基础
关系型数据库基础理论

← 关系型数据库基础 关系型数据库基础理论→

最近更新
01
LLM
01-30
02
intro
01-30
03
intro
01-30
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jorgen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式