ScholarGate
助手

数据模型与查询语言

数据模型是规定数据如何结构化、关联和受约束的概念框架,而查询语言是用于在这些模型中检索和操作数据的形式化表示法。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

数据模型是用于描述数据、数据关系、数据语义和一致性约束的概念工具集合;查询语言是一种用于从以这种模型表示的数据库中请求信息和修改数据库的表示法。

Scope

该领域涵盖了用于描述数据的抽象——关系模型、实体-关系图以及半结构化和文档模型——以及用于表达查询和更新的声明式和代数语言,主要是关系代数和SQL。它探讨了模型如何定义模式、实例、键和完整性约束,以及查询语言的表达能力如何与底层模型相关联。它不包括查询的物理存储、索引和执行(在查询处理和优化中涵盖)以及细化模式的设计规范(在数据库设计和规范化中涵盖)。

Sub-topics

Core questions

  • 数据模型如何表示实体、关系和约束?
  • 关系模型与关系代数和SQL之间有什么关系?
  • 概念实体-关系设计如何映射到逻辑关系模式?
  • 半结构化和文档模型如何以灵活性换取严格的模式?
  • 查询语言的表达能力和局限性由什么决定?

Key concepts

  • 关系、元组和属性
  • 模式和实例
  • 键和完整性约束
  • 关系代数
  • SQL
  • 实体-关系图
  • 半结构化数据
  • 文档和JSON模型
  • 数据独立性

Key theories

关系模型
Codd的关系模型将所有数据表示为关系(命名属性上的元组集合),将数据的逻辑视图与其物理存储分离,并提供了基于集合论和谓词逻辑的数学基础。
关系完备性
如果一个查询语言能够表达关系代数中可表达的每个查询,那么它就是关系完备的;Codd引入的这个标准为SQL等实用语言的表达能力设定了基线。
实体-关系模型
Chen的实体-关系模型从实体、它们的属性以及它们之间的关系来描述世界,提供了一种高级的概念设计表示法,可以系统地转换为关系模式。

Clinical relevance

数据模型和查询语言是几乎所有信息系统的基础:关系模型和SQL支撑着企业数据库、金融系统和网络后端,而实体-关系建模则构建了需求分析,文档和半结构化模型支持网络、日志和配置数据的灵活存储。

History

早期数据库使用层次模型和网络(CODASYL)模型,其导航与物理存储紧密相关。Codd在1970年提出的关系模型引入了数据独立性和声明式代数;这导致了20世纪70年代的System R和Ingres以及SQL的出现,SQL后来成为ISO标准。Chen在1976年提出的实体-关系模型增加了概念设计层,而半结构化和文档模型则随着20世纪90年代末的网络和XML而兴起。

Key figures

  • Edgar F. Codd
  • Peter Chen
  • Jeffrey D. Ullman
  • Jennifer Widom

Related topics

Seminal works

  • codd1970
  • chen1976
  • silberschatz2019

Frequently asked questions

关系代数和SQL有什么区别?
关系代数是一种过程化的数学语言,包含对关系的操作符(选择、投影、连接、并集等),用于推理和优化查询。SQL是实际系统中使用的实用声明式语言;它基于关系代数和演算,但增加了分组、聚合、空值处理和多集(包)语义等功能。
为什么在设计表之前要进行概念数据建模?
实体-关系图等概念模型以用户理解的方式(事物及其之间的关系)捕获需求,且独立于实现。与直接创建表相比,将经过验证的概念设计转换为关系表可以减少冗余和设计错误。

Methods for this concept

Related concepts