Реляционная модель

Реляционная модель - самая популярная из логических моделей данных, перечисленных в публикации о моделях данных, и она лежит в основе баз данных SQL.

Реляционная модель - самая популярная из логическихмодели данных, и он лежит в основе баз данных SQL.

ВРеляционная модельоснован на двух простых концепциях:

  • столы
  • связи

Реляционная модель восходит к 1969 году, и работаЭдгар Ф. Кодд, английский ученый-компьютерщик. Хотя как программисты мы привыкли с любопытством смотреть на новые блестящие вещи, технология, которая может быть центральной во всем, что касается компьютеров в течение 50 лет, определенно заслуживает изучения.

Тот факт, что модель основана на таблицах, делает ее очень интуитивно понятной в использовании, потому что мы привыкли использовать таблицы для организации вещей. Подумайте, например, о таблице Excel.

С базами данных на основе SQL, такими как PostgreSQL, Oracle, MySQL, SQLite и MS SQL Server, и многими другими, данные, проанализированные с помощью модели ER, могут быть смоделированы с использованием реляционной модели и почти сразу же преобразованы в формат базы данных SQL, который может можно рассматривать как реальную реализацию реляционной модели, но мы поговорим об этом в других сообщениях.

В этом посте я хочу поговорить о теории и концепциях, на которых основана реляционная модель, не выраженных в математических терминах, а о том, что это означает на практике.

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

Таблицы

В реляционной моделистолпредставляет собой коллекцию предметов.

Он организован в ряды и столбцы:

Имя Возраст
Флавио 36
Роджер 7
Сид 6

Кортежи

Каждая запись в таблице называетсякортеж. Вы также можете использовать терминызаписыватьили жеряд.

Кортеж представляет собой строку таблицы, например:

Флавио 36

Атрибуты

Атрибут - это один единственный элемент в кортеже.

В этом примере:

Флавио 36

«Флавио» - это атрибут. 36 - еще один атрибут.

Кортежи уникальны

Каждый кортеж в таблице уникален.

В реляционной модели у нас не может быть повторяющихся данных, то есть каждая строка в таблице должна отличаться хотя бы по одному атрибуту.

Ключ отношения

Уникальность кортежа обеспечиваетсяключ отношения.

Ключ - это тот атрибут, который долженоднозначно идентифицироватькортеж.

Если ключ отношения представляет собой набор атрибутов, он должен бытьнеизбыточный. Это означает, что если мы удалим один из атрибутов ключа, ключ не сможет гарантировать его уникальность.

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

Ограничение целостности ключа

Ключевые атрибуты любого кортежа в таблице должныникогда не быть нулевым, и долженникогда не повторяй.

Учитывая ключ, мы должны иметь возможность указывать на конкретный кортеж / строку без двусмысленности.

Ограничения домена

Каждый атрибут имеетправила о том, какую ценность он может иметь.

Если мы решим хранить числа, например, мы не сможем хранить строки. И мы могли бы решить не хранить строки длиннее 10 символов для имен.

Мы также можем назвать этотип.

Ограничение ссылочной целостности

Если таблица содержит ссылку на вторичную таблицу или другие кортежи в той же таблице, мы должны соблюдать правила, предотвращающие разрыв ссылки.

В частности, мы не должны нарушать ссылку:

  • избегая удаления или редактирования первичного ключа записи, на которую мы указываем, в другой таблице.
  • избегайте вставки новой записи с несуществующим ключом для указания в другой таблице.
  • избегайте изменения ключа записи, на которую мы указываем, не гарантируя, что новый ключ существует в другой таблице.

СУБД (система управления базами данных) будет реализовывать меры, которые помогут нам реализовать ссылочную целостность.


Больше руководств по базам данных: