Реляционная модель данных
Обзор моделей
Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.
В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц. Взаимосвязи также рассматриваются в качестве объектов. Каждая таблица представляет один объект и состоит из строк и столбцов.
Иерархическая модель данных строится по принципу иерархии типов объектов, т. е. один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии,— подчиненными. Между главным и подчиненными типами объекта устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует, несколько подчиненных типов объекта. В то же время для каждого экземпляра, главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом древе за единственным исключением: для каждого порожденного (подчиненного) типа объекта может быть только один исходный (главный) тип объекта.
В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным, и подчиненным (в сетевой модели главный объект обозначается термином «владелец набора», а подчиненный — термином «член набора»). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей.
При обсуждении различных взаимосвязей объектов предметной области воспользуемся вновь примерами из системы госпиталя. Обработка данных в такой системе используется с целью регистрации и страхования клиентов, при ретроспективном анализе и в исследованиях последствий медикаментозного лечения. Обрабатываются сведения о пациентах, врачах, процедурах, медикаментах и т. д. На этих примерах мы также проиллюстрируем различные подходы к построению модели данных.
Рассмотрим пример базы данных, показанной на рис. 4.3а. Данные в реляционной модели представляются в виде таблицы. В терминологии реляционной модели таблица, подобная представленной на рис. 4.3а, называется отношением. Чтобы не смешивать отношения с взаимосвязями между объектами, иногда мы будем называть отношение таблицей. Каждый столбец в таблице является атрибутом. Значения в столбце выделяются из домена, т. е. домен суть множество значений, которые может принимать некоторый атрибут. Так, домен для номера пациента составляют все четырехзначные целые положительные числа (0000, 0001, ...., 9999), однако в настоящий момент таблица ПАЦИЕНТЫ содержит только значения 1111, 1234, 2345, 4876, 5123 и 6845. Строки таблицы называются кортежами.
Представление данных с помощью реляционной модели. Первичным ключом является номер пациента, т. е. номер пациента должен быть уникальным. Таблица имеет три атрибута и (в данный момент времени) шесть кортежей. Мы рассматриваем адрес пациента как единый атрибут, так как не предполагаем в дальнейшем рассматривать его компоненты (номер дома, улицу, город и штат) в отдельности
В соответствии с традиционной терминологией можно сказать, что столбцы таблицы представляют элементы данных, а строки — записи.
Отношение представляет собой множество элементов — кортежей, а по определению множество не допускает наличия одинаковых элементов. Однако в обычном файле таких ограничений не существует.
Использование реляционной модели данных в системах управления базами данных было предложено в 1970 г. доктором Э. Ф. Коддом. Процесс выявления объектов и их взаимосвязей с помощью концепций реляционной модели и табличной формы представления называется процессом нормализации. Теория нормализации основана на том, что определенные наборы отношений в процессе выполнения обновлений обнаруживают лучшие свойства по сравнению с любыми другими наборами отношений, содержащими те же данные.
Концептуальная модель применяется для разработки логической модели, которая затем может быть отображена в реляционную, иерархическую или сетевую модель.или на инвертирован ные по нескольким ключам файлы.
Одним из главных достоинств реляционного подхода является егс простота, а отсюда — и доступность для понимания конечным пользователем. Конечные пользователи не имеют дела с физической структурой памяти. Вместо этого они могут сосредоточиться на содержательной стороне проблемы. Возможность эксплуатации базы данных без знания деталей ее построения называется независимостью данных. Для обеспечения связи между таблицами некоторые из них должны содержать общие атрибуты.