跳到主要内容

数据库相关名词解释

  • 数据库(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):用于定义数据库对象(如表、视图、索引)的语言,例如 CREATEALTERDROP
  • 数据操纵语言(Data Manipulation Language,DML):用于操作数据库中的数据(如插入、删除、修改)的语言,例如 INSERTDELETEUPDATE
  • 数据查询语言(Data Query Language,DQL):用于查询数据库中的数据(如 SELECT)的语言。
  • 数据控制语言(Data Control Language,DCL):用于控制数据库访问权限(如 GRANTREVOKE)的语言。
  • 数据模型(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 等。