SQL初始

关系数据库概述总结

一、为什么需要数据库?

  1. 传统文件存储的痛点

    • 读写文件需重复编写解析代码
    • 海量数据查询逻辑复杂
    • 数据接口不统一,难以复用
  2. 数据库的价值

    • 应用层通过标准接口操作数据,解耦存储细节
    • 专业数据管理,提升读写效率与可维护性

二、数据模型演进

1. 三种经典数据模型

  • 层次模型:树状结构(如组织架构),适合单向层级关系
  • 网状模型:多对多复杂网络(如城市路网),处理复杂关联
  • 关系模型:二维表格(如 Excel),通过行 / 列唯一标识数据

2. 关系模型为何成为主流?

  • 易理解:贴近日常表格认知
  • 数学基础:基于集合论与笛卡尔积(无需深入数学定义)
  • 灵活关联:通过主键 / 外键建立 “一对多” 关系(如班级表与学生表)

三、关系表核心要素

1. 数据类型(常用)

类型说明
INT4 字节整数(±21 亿)
BIGINT8 字节长整数(±922 亿亿,推荐用于 ID)
VARCHAR(N)变长字符串(如姓名、地址,避免浪费存储空间)
DECIMAL(M,N)高精度小数(财务计算,如DECIMAL(20,10)
DATETIME日期时间(如2025-06-21 14:30:00

2. 设计原则

  • 优先选择BIGINT+VARCHAR组合
  • 财务场景用DECIMAL而非浮点型
  • 字符类型根据业务需求选择定长CHAR或变长VARCHAR

四、主流关系数据库分类

类型代表产品适用场景
商用数据库Oracle、SQL Server、DB2企业级复杂业务(高并发、强一致)
开源数据库MySQL、PostgreSQL互联网应用(成本低、扩展性强)
桌面数据库Access单机轻量级应用(如小型管理系统)
嵌入式数据库SQLite移动端 / 嵌入式设备(低功耗、轻量级)

五、SQL 核心知识

1. 定义

结构化查询语言(Structured Query Language),用于操作数据库的标准语言,支持跨数据库系统。

2. 核心功能分类

分类功能描述典型操作
DDL数据定义语言创建表CREATE TABLE、修改结构ALTER TABLE
DML数据操作语言插入INSERT、更新UPDATE、删除DELETE
DQL数据查询语言查询SELECT(最常用操作)

3. 语法特点

  • 关键字不区分大小写SELECTselect等价(教程约定大写)
  • 表名 / 列名大小写敏感:取决于数据库(如 MySQL 在 Linux 区分,Windows 不区分)
  • 方言问题:标准 SQL 外,各厂商有扩展(如 Oracle 的 PL/SQL、MySQL 的存储过程)

六、总结

关系数据库通过二维表模型简化数据管理,SQL 作为通用操作语言成为开发必备技能。实际应用中需根据场景选择数据库类型,优先使用标准 SQL 保证可移植性,复杂场景结合具体数据库方言优化性能。