2.4.1 Гибкость, отсутствие избыточности и масштабируемость модели

iDevice ikoon 2.4.1 Гибкость, отсутствие избыточности и масштабируемость модели

Лучшая модель, или, по крайней мере, наиболее успешная / наиболее распространенная - это реляционная, в которой записи заменены на строки, сгруппированные в таблицах, которые между собой связаны частями содержания строк в самих строках. То, что называется сущностью в ER-модели, является строкой в реляционной модели и таблица в реляционной таблице отвечает совокупности (набору) сущностей (группе) в ER-модели. Столбцы реляционной модели соответствуют атрибутам ER-модели. Термин связь (отношение) используется в обеих моделях для того, чтобы показать, как сущности / строки и / или группы сущностей / таблицы связаны между собой. Также путь создания отношений похож, поскольку используются атрибуты / столбцы как обычно в таблице.

Идентификаторы определяются как для однозначной идентификации строки в таблице, так и для ускорения поиска. Индекс похож на ключ ER-модели, так как уникальные идентификаторы (признаки) эквивалентны потенциальному ключу. Могут существовать также неуникальные признаки и у них нет соответствия в ER-модели, где их не используют (они не существуют). Неуникальные признаки проистекают не из понимания содержания, а скорее соображения производительности, которая теоретически должна быть ограничена уровнем физической реализации, однако их можно эффективно определить, зная только логическую структуру данных.

Перед исследованием реляционной модели полезно обобщить различные классификации. Имеются два фундаментальных аспекта (основных положений), связанные с реляционными базами данных: формальная теория и разнообразные практические приложения.


Хотя эти два аспекта совпадают, они расходятся классификационно, как показано в следующей таблице:

E/R модель

Формальная теория

Реальное приложение

Совокупность сущностей

Отношение (!)

Таблица

Сущность

Кортеж (Tuple)

Строка (запись)

Атрибут

Атрибут

Столбец (поле)

 

Потенциальный ключ

Уникальный индекс

Домен (Domain)

Допустимые значения

Реляционная база данных состоит из таблиц, каждая из которых представляет информацию, связанную с группой «субъектов», например, клиент компании (покупатель). Таблица состоит из строк, каждая из которых содержит информацию, которая находится в связи с четко определенным субъектом, например, с конкретным покупателем. Таблица состоит из столбцов, представляющих разную, но однотипную информацию (бизнес-имя, финансовый код, ...) по субъектам. Уникальный индекс (также известный как первичный ключ, или первоначальный ключ) используется для различения специфической строки в таблице. Две таблицы могут быть связаны друг с другом столбцами с одинаковым содержанием, существующими в обеих таблицах, например, таблица «покупатель» и «счет» могут иметь отношения (взаимодействовать) через столбец, что содержит код для покупателя, так как эти данные доступны в обеих таблицах.

Хорошо спроектированная реляционная база данных имеет ряд важных и полезных признаков:

  • Отсутствует избыточность данных. Это означает, что существующие данные в базе данных не могут быть образованы путем объединения или комбинирования прочих данных той же базы данных. Примером избыточности являются столбцы или строки с повторными данными. Существуют различные методы и меры по устранению избыточности, и они рассматриваются более близко в разделе более «нормальной формы». Очевидно, что может существовать желаемые или необходимые дублирования, но они связаны с резервным копированием базы данных или с сохранением в RAID-системе. Такое дублирование не влияет на логический уровень, независимо от того, как это создается, оно связано с физическим уровнем.
  • Снижение дублирования. Определенный уровень дублирования необходим при создании отношений, или связей. Хорошим примером может служить существование в таблице столбца кода покупателя, как в вышеприведенном примере: он имеется как в таблице покупателей для различения одной строки от другой, так и в таблице счетов, показывая для какого покупателя, каждый счет выставлен.
  • Ссылочная целостность. Должно быть невозможно удалить информацию, которая необходима для квалифицирования другой информации. Используя опять предыдущий пример, ссылочная целостность избегает удаления покупателя, кому выписан счет, исключая счета недействительных покупателей. Ссылочная целостность может работать и в обратном направлении, удаляя все счета конкретного покупателя, если покупатель сам себя удалил (как правило, описанный случай не представляется возможным из-за существующего закона, который запрещается удаление отчетных данных).

Высокая скорость исследования данных, которую получают путем определения индексов. Не только уникальный индекс (или уникальный ключ) является полезным для увеличения скорости поиска, но также и неуникальный индекс является полезным для ускорения поиска. Примером неуникального индекса является индекс, который создан, например, с использованием фамилии руководителя компании: он не является уникальным, поскольку различные руководители могут обладать одинаковыми фамилиями. Несмотря на это, этот индекс допускает быстрое нахождение данных фирмы, если известна только фамилия руководителя.