Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по базам данных1.doc
Скачиваний:
132
Добавлен:
02.05.2014
Размер:
2.53 Mб
Скачать

4.2.7. Обзор моделей данных

Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.

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

Иерархическая модель данных строится по принципу иерархии типов объектов, т. е. один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, – подчиненными. Между главным и подчиненными типами объекта устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом древе за единственным исключением: для каждого порожденного (подчиненного) типа объекта может быть только один исходный (главный) тип объекта.

В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным, и подчиненным (в сетевой модели главный объект обозначается термином «владелец набора», а подчиненный – термином «член набора»). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей.

4.3. Реляционная модель данных

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

Рассмотрим пример базы данных, показанной на табл. 4.1. Данные в реляционной модели представляются в виде таблицы. В терминологии реляционной модели таблица, подобная представленной на табл. 4.1, называется отношением.Чтобы не смешивать отношения с взаимосвязями между объектами, иногда мы будем называть отношение таблицей. Каждый столбец в таблице являетсяатрибутом.Значения в столбце выделяются издомена,т. е. домен суть множество значений, которые может принимать некоторый атрибут. Так, домен для номера пациента составляют все четырехзначные целые положительные числа (0000, 0001,...., 9999), однако в настоящий момент таблица ПАЦИЕНТЫ содержит только значения 1111, 1234, 2345, 4876, 5123 и 6845. Строки таблицы называютсякортежами.0

Таблица 4.1

ПАЦИЕНТЫ

Пациенты

Атрибут

Номер

Имя

Адрес

1111

Джон Уайт

15 Нью стрит, Нью-Йорк, Н-Й

1234

Мэри Джонс

10 Мэйн стрит, Рай, Н-Й

2345

Чарльз Браун

Догвуд лэйн, Харрисон, Н-Й

4876

Хол Кейн

55 Бостон построуд, Честер, Н-Й

5123

Пол Кошер

Конн Брук, Мэмаронек, Н–Й

6845

Энн Худ

Хилтон роуд, Ларчмонт, Н–Й

Первичным ключом является номер пациента, т е. номер пациента должен быть уникальным. Таблица имеет три атрибута и (в данный момент времени) шесть кортежей. Мы рассматриваем адрес пациента как единый атрибут, так как не предполагаем в дальнейшем рассматривать его компоненты (номер дома, улицу, город и т.д.) в отдельности.

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

Таблица 4.2

ХИРУРГИ

Номер патента хирурга

Имя

145

189

243

311

467

Бет Литл

Дэвид Розен

Чарльз Филд

Майкл Даймонд

Патриция Голд

Первичным ключом является номер патента хирурга

Таблица 4.3

ПАЦИЕНТ -И - ХИРУРГ

Номер пациента

Номер патента хирурга

Дата операции

Операция

Препарат, назначенный после операции

1111

145

1.01.77

Удаление камней из желчного пузыря

Пенициллин

1111

311

12.06.77

Удаление камней из почек

1234

243

05.04.76

Удаление катаракты

Тетрациклин

1234

467

10.05.77

Удаление тромба

2345

189

08.01.78

Операция на открытом сердце

Цефалоспорин

4876

145

05.11.77

Удаление желчного пузыря

Демициллин

5123

145

10.05.77

Удаление камней из желчного пузыря

6845

243

05.04.76

Замещение роговицы глаза

Тетрациклин

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

Таблица 4.4 представляет объект ПРЕПАРАТ и побочный эффект от его применения.

Таблица 4.4

ПРЕПАРАТ

Препарат, назначенный после операции

Побочный эффект от применения препарата

Пенициллин

Тетрациклин

Цефалоспорин

Демициллин

Сыпь

Лихорадка

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

Столбец или ряд столбцов называются возможным ключом (часто сокращенно – ключом) отношения, если его (их) значения однозначно идентифицируют строки таблицы. Основные термины реляционной модели приведены на табл. 4.5. Вполне вероятно, что отношение имеет более одного ключа. В этом случае удобно рассматривать один из ключей в качестве первичного. В отношении ПАЦИЕНТЫ, например, если задан номер пациента 1234, который является значением ключа, то и имя пациента — Мэри Джонс, и его адрес — 10, Мэйн стрит, Рай, Н.-Й. будут однозначно определены.

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

Таблица 4.5

ОСНОВНЫЕ ТЕРМИНЫ РЕЛЯЦИОННОЙ МОДЕЛИ

Термин

Альтернативный термин

Приблизительный эквивалент

Отношение

Атрибут Первичный ключ Кортеж

Домен

Таблица

Столбец

Строка

Файл (один тип записи, фиксированное число типов полей)

Поле (тип, а не экземпляр)

Ключ записи, идентификатор записи

Запись (экземпляр, а не тип)

Любому отношению присущи следующие свойства:

  1. Отсутствуют одинаковые строки.

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

  3. Порядок столбцов не существен (предполагается, что каждый столбец имеет уникальное имя).

  4. Все значения имеют атомарный характер, т е. их нельзя разбить на компоненты (без потери информации).

Отношение представляет собой множество элементов — кортежей, а по определению множество не допускает наличия одинаковых элементов Однако в обычном файле таких ограничений не существует.

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

Рис 4.З

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

Для обеспечения связи между таблицами некоторые из них должны содержать общие атрибуты. Например, в таблицах ПАЦИЕНТЫ и ПАЦИЕНТ -И-ХИРУРГ имеется избыточный атрибут «номер пациента». В результате между некоторыми таблицами возникает избыточность по ключу. Однако это не обязательно приводит к физической избыточности, поскольку таблицы отражают логическое представление пользователя.