数据库 (Database,DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库管理系统 (Database Management System,DBMS):一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。可分为关系型数据库和非关系型数据库两大类。
数据库管理员 (Database Administrator,DBA):负责数据库的安装、配置、维护、性能优化等工作的专业技术人员。
数据库开发人员 (Database Developer):负责数据库设计、开发、测试等工作的专业技术人员。
数据分析师 (Data Analyst):利用数据库中的数据进行分析,为决策提供支持的专业技术人员。
关系型数据库 (Relational Database):基于关系模型组织数据的数据库,数据以表格形式存储,每个表格由行(记录)和列(字段)组成。支持 SQL 语言、数据完整性约束(如主键、外键)、ACID 特性。例如 MySQL、PostgreSQL、Oracle、SQL Server 等。
SQL (Structured Query Language,结构化查询语言):用于管理关系型数据库的标准编程语言。包括数据定义(DDL)、数据操纵(DML)、数据控制(DCL)等。
NoSQL (Not Only SQL):非关系型数据库的统称,适用于大规模数据存储和高并发访问、非结构化的数据。
ACID (Atomicity, Consistency, Isolation, Durability):关系型数据库的事务特性。
原子性 (Atomicity):事务中的所有操作要么全部成功,要么全部失败。
一致性 (Consistency):事务执行后,数据库状态保持一致。
隔离性 (Isolation):并发事务之间相互隔离。
持久性 (Durability):事务提交后,结果永久生效。
CAP 定理 (Consistency, Availability, Partition Tolerance):分布式系统中,一致性、可用性和分区容错性三者不可兼得。
一致性 (Consistency):所有节点的数据一致。
可用性 (Availability):系统始终可用。
分区容错性 (Partition Tolerance):网络分区时系统仍能运行。
数据定义语言 (Data Definition Language,DDL):用于定义数据库对象(如表、视图、索引)的语言,例如 CREATE
、ALTER
、DROP
。
数据操纵语言 (Data Manipulation Language,DML):用于操作数据库中的数据(如插入、删除、修改)的语言,例如 INSERT
、DELETE
、UPDATE
。
数据查询语言 (Data Query Language,DQL):用于查询数据库中的数据(如 SELECT
)的语言。
数据控制语言 (Data Control Language,DCL):用于控制数据库访问权限(如 GRANT
、REVOKE
)的语言。
数据模型 (Data Model):对现实世界数据特征的抽象,用来描述数据、组织数据、操作数据。
数据表 (Data Table):数据表是数据库中用于存储数据的基本结构,由行(记录)和列(字段)组成。一个数据库中可包含多个数据表。
关系模型 (Relational Model):用二维表结构表示实体及实体间联系的数据模型。
实体 (Entity):客观存在并相互区别的事物。
属性 (Attribute):实体所具有的某一特性。
元组 (Tuple):关系表中的一行,表示一个实体。
主键 (Primary Key):表中唯一标识每一行的字段或字段组合。主键具有唯一性,且不可为空。
外键 (Foreign Key):表中的一个字段,其值必须匹配另一个表的主键值。外键用于维护表之间的关系,支持级联操作。
索引 (Index):用于加速数据检索的数据库对象。
多表合并 (Table Merge):将多个表中的数据合并到一个表中。可以减少表数量,简化数据库结构,减少表之间的关联操作。
表拆分 (Table Splitting):将一个表中的数据拆分成多个表。可以减少单表的数据量,提高查询性能。按拆分方式,可分为水平拆分和垂直拆分。
级联操作 (Cascade Operation):级联操作是指在数据库中,当 对一个表进行某些操作(如删除或更新)时,自动对相关表进行相应的操作。级联操作通常与外键约束一起使用,以维护表之间的数据一致性。
非关系型数据库 (NoSQL Database):不基于关系模型的数据库,适用于处理大规模、非结构化数据。具有灵活的数据模型、高扩展性、CAP 定理。包括键值存储、文档存储、列存储、图存储等存储形式。
CAP 定理 (Consistency, Availability, Partition Tolerance):分布式系统中,一致性、可用性和分区容错性三者不可兼得。
一致性 (Consistency):所有节点的数据一致。
可用性 (Availability):系统始终可用。
分区容错性 (Partition Tolerance):网络分区时系统仍能运行。
键值数据库 (Key-Value Store):以键值对的形式存储数据。如 Redis、Memcached 等。
文档数据库 (Document Store):以文档 (如 JSON、XML) 的形式存储数据。如 MongoDB、CouchDB 等。
列族数据库 (Column-family Store):以列族的形式存储数据。如 Cassandra、HBase 等。
图数据库 (Graph Database):以图结构存储数据,用于处理高度互联的数据。如 Neo4j、OrientDB 等。常见于社交网络分析、推荐系统、知识图谱。
云数据库 (Cloud Database):部署在云平台上的数据库服务。
数据库范式 (Normalization):通过分解表结构来减少数据冗余和提高数据一致性的过程。常见范式包括:
第一范式 (1NF):表中的每一列都是不可再分的原子数据项。
第二范式 (2NF):满足 1NF,且非主属性完全依赖于主键。
第三范式 (3NF):满足 2NF,且非主属性不依赖于其他非主属性。
数据库反范式 (Denormalization):为了提高查询性能,故意违反范式规则,增加数据冗余。可以提高查询效率,但会增加存储空间和更新成本。
数据库事务 (Transaction):一组数据库操作,要么全部执行成功,要么全部失败。遵循 ACID 特性。
数据库触发器 (Trigger):在特定事件发生时自动执行的数据库操作。
数据库游标 (Cursor):用于逐行处理查询结果集的数据库对象。
并发控制 (Concurrency Control):控制多个用户同时访问数据库时可能产生的数据不一致问题。
备份与恢复 (Backup and Recovery):防止数据丢失和灾难恢复的技术。
数据库快照 (Snapshot):数据库在某一时刻的副本。
数据库归档 (Archiving):将不再需要频繁访问的数据移动到低成本存储的过程。
数据库分片 (Sharding):将数据库分割成多个小片段(分片),分布在不同的服务器上。
数据库 ORM (Object-Relational Mapping):对象关系映射,将对象模型映射到关系模型的技术。可以简化开发,提高代码复用性。
数据库 ETL (Extract, Transform, Load):数据清洗,指数据抽取、转换和加载的过程,用于将数据从源系统迁移到目标系统。
数据仓库 (Data Warehouse):用于存储和分析大量历史数据的数据库,支持复杂查询和数据挖掘。可以从多个数据源抽取数据,并支持快速查询和分析。常见于商业智能(BI)、数据分析。
数据湖 (Data Lake): 用于存储大量原始数据的存储系统,支持多种数据格式(结构化、半结构化、非结构化)。存储成本低,支持大数据处理和分析。常见于大数据分析、机器学习。
数据挖掘 (Data Mining):从大量数据中提取隐含的、未知的、潜在有用的信息的过程。
大数据 (Big Data):无法用传统数据库工具处理的海量、高增长率和多样化的信息资产。
区块链 (Blockchain):一种分布式数据库技术,具有去中心化、不可篡改、可追溯等特点。
时序数据库 (Time Series Database,TSDB):一种专门用于存储、管理和分析时间序列数据的数据库管理系统。时间序列数据是指按时间顺序记录的数据点,通常具有时间戳和测量值,常见于物联网(IoT)、金融等领域。例如 TimescaleDB、OpenTSDB、InfluxDB、IoTDB、TDengine 等。