Изучение структурной и целостной частей реляционной модели базы данных. Типы данных, используемые в программировании. Домены, отношения, атрибуты и кортежи отношения. Потенциальные ключи и целостность сущностей. Операции, нарушающие ссылочную целостность.
Согласно данной концепции основой информационной технологии являются данные, организованные в БД, адекватно отражающие реалии действительности в той или иной предметной области и обеспечивающие пользователя актуальной информацией в соответствующей предметной области. Как сущности, атрибуты и связи отображаются на структуры данных - определяется моделью данных. Традиционно все СУБД классифицируются в зависимости от модели данных, которая лежит в их основе. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие. Согласно Дейту, реляционная модель состоит из трех частей: · Структурной части.Любые данные, используемые в программировании, имеют свои типы данных. Реляционная модель требует, чтобы типы используемых данных были простыми. Для уточнения этого утверждения рассмотрим, какие вообще типы данных обычно рассматриваются в программировании. Как правило, типы данных делятся на три группы: · Простые типы данных. Простые, или атомарные, типы данных не обладают внутренней структурой.Домен характеризуется следующими свойствами: · Домен имеет уникальное имя (в пределах базы данных). · Домен определен на некотором простом типе данных или на другом домене. · Домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена. Например, домен , имеющий смысл "возраст сотрудника" можно описать как следующее подмножество множества натуральных чисел: Если тип данных можно считать множеством всех возможных значений данного типа, то домен напоминает подмножество в этом множестве. Например, домены "Вес детали" и "Имеющееся количество" можно одинаково описать как множество неотрицательных целых чисел, но смысл этих доменов будет различным, и это будут различные домены.Отношение , определенное на множестве доменов (не обязательно различных), содержит две части: заголовок и тело. Заголовок отношения содержит фиксированное количество атрибутов отношения: Тело отношения содержит множество кортежей отношения. Рассмотрим отношение "Сотрудники" заданное на доменах "Номер_сотрудника", "Фамилия", "Зарплата", "Номер_отдела". Т.к. все домены различны, то имена атрибутов отношения удобно назвать так же, как и соответствующие домены. (3, Сидоров, 3000, 1) такое отношение естественным образом представляется в виде таблицы: Таблица 1 Отношение "Сотрудники" Хотя любое отношение можно изобразить в виде таблицы, нужно четко понимать, что отношения не являются таблицами.Во второй части реляционной модели данных определяются два ограничения, которые должны выполняться в любой реляционной базе данных.Для представления этой информации в базе данных используются привычные для программистов типы данных - строковые, численные, логические и т.п. Ответ - пустую дату - не вполне удовлетворителен, т.к. простейший запрос "выдать список людей в порядке возрастания дат рождения" даст заведомо неправильных ответ. Для того чтобы обойти проблему неполных или неизвестных данных, в базах данных могут использоваться типы данных, пополненные так называемым null-значением. Null-значение - это, собственно, не значение, а некий маркер, показывающий, что значение неизвестно. Первый вариант состоит в том, чтобы ограничиться использованием обычных типов данных и не использовать null-значения, а вместо неизвестных данных вводить либо нулевые значения, либо значения специального вида - например, договориться, что строка "АДРЕС НЕИЗВЕСТЕН" и есть те данные, которые нужно вводить вместо неизвестного адреса.Подмножество атрибутов отношения будем называть потенциальным ключом, если обладает следующими свойствами: 1. Любое отношение имеет по крайней мере один потенциальный ключ. Действительно, если никакой атрибут или группа атрибутов не являются потенциальным ключом, то, в силу уникальности кортежей, все атрибуты вместе образуют потенциальный ключ. Потенциальный ключ, состоящий из одного атрибута, называется простым. При первом взгляде на таблицу, изображающую это отношение, может показаться, что в таблице имеется три потенциальных ключа - в каждой колонке таблицы содержатся уникальные данные.Предположим, что нам требуется хранить информацию о наименовании поставщиков, наименовании и количестве поставляемых ими деталей, причем каждый поставщик может поставлять несколько деталей и каждая деталь может поставляться несколькими поставщиками. О том, как правильно нормализовать отношения, будет сказано в следующих главах, сейчас же предложим разнести данные по трем отношениям - "Поставщики", "Детали", "Поставки". Эта связь определяется семантикой предметной области и описывается фразами: "Поставщики выполняют Поставки", "Детали поставляются через Поставки". Отношение, входящее в связь со стороны "много" (например, "Поставки"), называется дочернем отношением. Отношение называется род