数据库基础概念梳理

1. 数据存储类型

  • 表 (Table): 存储结构化数据的标准方式,数据以行和列的形式组织,具有固定的格式。
  • 非结构化数据 (Unstructured Data): 如音频、视频、图片、文本文档等,其格式不固定,不易直接用表存储。

2. SQL 的核心优势
SQL 尤其擅长处理和操作存储在中的结构化数据
2.1 数据类型约束 (Data Type Constraints): 定义列可存储的数据种类。
整数类型:
TINYINT (1字节)
SMALLINT (2字节)
MEDIUMINT (3字节)
INT (4字节, 约 -21亿 ~ 21亿,无符号约 0 ~ 42亿)
BIGINT (8字节)
小数类型:
FLOAT (单精度浮点数, 4字节)
DOUBLE (双精度浮点数, 8字节)
DECIMAL/NUMERIC (定点小数, 精确存储)
字符串类型:
CHAR (定长字符串)
VARCHAR (可变长字符串)
日期/时间类型:
DATE (日期)
TIME (时间)
DATETIME (日期和时间)
TIMESTAMP (时间戳, 通常记录自 ‘1970-01-01 00:00:00’ UTC 以来的秒数或毫秒数,不易读但效率高)
其他类型:
BIT (位, 常用于布尔值)
ENUM (枚举类型)
JSON (存储 JSON 格式数据)
TEXT (存储大文本)
BLOB (存储大二进制对象, 如图片、文件)
2.2 自增长约束 (AUTO_INCREMENT):通常用于整数主键列,值自动递增。
2.3 主键约束 (PRIMARY KEY): 唯一标识表中的每一行,值
不允许重复
不允许为空 (NOT NULL)**。一个表只能有一个主键(可以是单列或多列组合)。
***2.4 非空约束 (NOT NULL)**强制该列必须有值,不能为 NULL
2.5 默认值约束 (DEFAULT): 当插入数据未指定该列值时,自动填充预设的默认值。
2.6 检查约束 (CHECK): 定义列值必须满足的条件 (如 Age >= 18)。注意:某些场景下使用可能不够灵活或影响性能,需谨慎评估。
2.7 外键约束 (FOREIGN KEY): 建立表之间的关系,确保一个表(子表)中某列的值必须在另一个表(父表)的主键列中存在。*注意:能保证引用完整性,但过度使用或在分布式/高并发场景下可能带来性能和维护复杂度,需权衡使用。

================================================
3. 确保数据完整性与一致性:约束 (Constraints)
数据库通过约束来保证数据的准确性和可靠性。

================================================
4. 数据库高级对象与功能

  • 索引 (Index): 核心作用是大幅提升数据查询 (SELECT) 的性能(但会略微降低 INSERT/UPDATE/DELETE 速度)。
  • 视图 (View): 基于查询结果的虚拟表,简化复杂查询,提供安全访问层。
  • 函数 (Function): 封装可重用的操作逻辑,可分为内置函数和用户自定义函数 (UDF)。
  • 存储过程 (Stored Procedure): 预编译的 SQL 语句集合,可包含逻辑控制语句,在数据库服务器端执行。
  • 触发器 (Trigger): 一种特殊的存储过程,在特定数据库事件(如 INSERT, UPDATE, DELETE)发生时自动执行。

================================================
5. SQL 语言分类

  • DML (Data Manipulation Language - 数据操作语言): 用于操作表中的数据本身。
    • INSERT (增加数据)
    • DELETE (删除数据)
    • UPDATE (修改数据)
  • DQL (Data Query Language - 数据查询语言): 核心是 SELECT,用于从表中检索查询数据。
  • DDL (Data Definition Language - 数据定义语言): 用于定义和修改数据库结构对象。
    • CREATE (创建数据库、表、视图、索引、函数、存储过程等)
    • ALTER (修改数据库、表、视图、索引等结构)
    • DROP (删除数据库、表、视图、索引、函数、存储过程等)
  • DCL (Data Control Language - 数据控制语言): 用于管理数据库访问权限和安全。
    • GRANT (授予用户/角色权限)
    • REVOKE (撤销用户/角色权限)

6. 注意事项

  1. SQL 大小写不敏感: SQL 关键字 (如 SELECT, FROM) 和数据库对象名(如表名、列名)在标准 SQL 中通常不区分大小写。但为了提高可读性和一致性,建议遵循一定的命名和书写规范(如关键字大写)。
  2. 表关系: 数据库设计核心在于理解并合理设计表与表之间的关系(如一对一、一对多、多对多),通常通过主键和外键实现。
  3. DBA (数据库管理员): 负责数据库的安装、配置、维护、备份、恢复、性能优化、安全管理和用户权限分配等工作的专业人员。

你可能感兴趣的:(数据库)