ScholarGate
Ассистент

Модели данных и языки запросов

Модели данных — это концептуальные основы, которые определяют, как данные структурируются, связываются и ограничиваются, а языки запросов — это формальные обозначения, используемые для извлечения и манипулирования данными в рамках этих моделей.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Модель данных — это набор концептуальных инструментов для описания данных, связей между данными, семантики данных и ограничений согласованности; язык запросов — это нотация для запроса информации из базы данных, выраженной в такой модели, и ее модификации.

Scope

Эта область охватывает абстракции, используемые для описания данных — реляционную модель, диаграммы «сущность-связь», а также полуструктурированные и документные модели — вместе с декларативными и алгебраическими языками, главным образом реляционной алгеброй и SQL, используемыми для выражения запросов и обновлений к ним. Она рассматривает, как модель определяет схемы, экземпляры, ключи и ограничения целостности, и как выразительная способность языка запросов связана с базовой моделью. Она исключает физическое хранение, индексирование и выполнение запросов (рассматриваемые в обработке и оптимизации запросов) и дисциплину проектирования по уточнению схем (рассматриваемую в проектировании баз данных и нормализации).

Sub-topics

Core questions

  • Как модель данных представляет сущности, связи и ограничения?
  • Какова связь между реляционной моделью, реляционной алгеброй и SQL?
  • Как концептуальный дизайн «сущность-связь» отображается на логическую реляционную схему?
  • Как полуструктурированные и документные модели обменивают жесткие схемы на гибкость?
  • Что определяет выразительную мощность и ограничения языка запросов?

Key concepts

  • отношение, кортеж и атрибут
  • схема и экземпляр
  • ключи и ограничения целостности
  • реляционная алгебра
  • SQL
  • диаграмма «сущность-связь»
  • полуструктурированные данные
  • документные и JSON-модели
  • независимость данных

Key theories

Реляционная модель
Реляционная модель Кодда представляет все данные как отношения (наборы кортежей по именованным атрибутам), отделяя логическое представление данных от их физического хранения и обеспечивая математическую основу, базирующуюся на теории множеств и предикатной логике.
Реляционная полнота
Язык запросов является реляционно полным, если он может выразить любой запрос, выразимый в реляционной алгебре; этот критерий, введенный Коддом, устанавливает базовый уровень для выразительной мощности практических языков, таких как SQL.
Модель «сущность-связь»
Модель «сущность-связь» Чена описывает мир в терминах сущностей, их атрибутов и связей между ними, предоставляя высокоуровневую нотацию концептуального проектирования, которая может быть систематически преобразована в реляционные схемы.

Clinical relevance

Модели данных и языки запросов являются основой практически всех информационных систем: реляционная модель и SQL лежат в основе корпоративных баз данных, финансовых систем и веб-бэкендов, в то время как моделирование «сущность-связь» структурирует анализ требований, а документные и полуструктурированные модели поддерживают гибкое хранение веб-данных, логов и конфигурационных данных.

History

Ранние базы данных использовали иерархические и сетевые (CODASYL) модели с навигацией, привязанной к физическому хранению. Реляционная модель Кодда 1970 года ввела независимость данных и декларативную алгебру; это привело к появлению System R и Ingres в 1970-х годах и к SQL, который стал стандартом ISO. Модель «сущность-связь» Чена 1976 года добавила концептуальный уровень проектирования, а полуструктурированные и документные модели появились с развитием веба и XML в конце 1990-х годов.

Key figures

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

Related topics

Seminal works

  • codd1970
  • chen1976
  • silberschatz2019

Frequently asked questions

В чем разница между реляционной алгеброй и SQL?
Реляционная алгебра — это процедурный математический язык операторов (выборка, проекция, соединение, объединение и т. д.) над отношениями, используемый для рассуждений о запросах и их оптимизации. SQL — это практический декларативный язык, используемый в реальных системах; он основан на реляционной алгебре и исчислении, но добавляет такие функции, как группировка, агрегация, обработка NULL-значений и семантика мультимножеств (мешков).
Зачем моделировать данные концептуально перед проектированием таблиц?
Концептуальные модели, такие как диаграммы «сущность-связь», фиксируют требования на языке, понятном пользователям — вещи и связи между ними — независимо от реализации. Преобразование проверенного концептуального дизайна в реляционные таблицы уменьшает избыточность и ошибки проектирования по сравнению с непосредственным созданием таблиц.

Methods for this concept

Related concepts