Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Структурный подход к организации баз данных

..pdf
Скачиваний:
4
Добавлен:
12.11.2023
Размер:
14.79 Mб
Скачать

(Джон Уаит\

ОПЕРАЦИЯПАЦИЕНТА

(Пол Кошера

"Экземпляр набора

~~

(член

 

 

(член

набора)

 

 

набора)

ОПЕРАЦИЯ-ПАЦИЕНТА

ОПЕРАЦИЯ-ПАЦИЕНТА

Экземпляр набора

/Удалений

<Экземпляр набора

( камней из [ Желчного пузыря

Нарушение

 

пробила

/

 

уникаль-(Джон Уайтп

Пол Кошер

ноети

{(владелец)

{(владелец)

владельца\

 

В экземпляр*,

 

набора

 

Удалений ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ

п а ц и ен т-п ер ен ес - о п ерац и ю

 

 

камней из

 

 

желчного

 

 

пузыря

Рис. 4.21. а) Один экземпляр набора, в котором содержатся сведения об удалении камней из желчного пузыря; б) два экземпляра набора, в которых владельцами являются паци­ енты Джон Уайт и Пол Кошер, и имеется один и тот же экземпляр записи-члена — удаление камней из желчного пузыря

Запись ХИРУРГ называется владельцем, а запись ОПЕРАЦИЯ — членом

этого набора.

Каждый экземпляр набора ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ представляет иерархическую взаимосвязь между пациентом и операцией. Существенное различие между сетевой и иерархической моделями данных состоит в том, что в сетевой модели каждая запись может участвовать в любом числе наборов и играть роль как владельца, так и члена набора.

На рис. 4.23 показаны примеры экземпляров наборов ПАЦИЕНТ- ПЕРЕНЕС-ОПЕРАЦИЮ и ОПЕРАЦИЯ-ПАЦИЕНТА.

4.5.2. Три дополнительных класса типов наборов

На рис. 4.24 показаны типы наборов, образованные типами запи­ сей ПАЦИЕНТ и ОПЕРАЦИЯ (первый класс).

Второй класс включает наборы, состоящие из трех или более записей (рис. 4.25). Такой набор называется многочленным. Записью-владельцем здесь является ПАЦИЕНТ, а записями-членами — ОПЕРАЦИЯ и ЗАБО­ ЛЕВАНИЕ.

Третий класс представлен так называемыми сингулярными наборами. Этот класс также определяется в терминах записи-владельца и записичлена. Однако в отличие от рассматривавшихся случаев в базе данных может содержаться только один экземпляр сингулярного набора. Такую структуру можно использовать двояко:

Рис. 4.22. Представление данных с помощью сетевой модели. Взаимосвязь «многие ко многим» реализуется двумя типами наборов:

1)ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ (запись-владелец ПАЦИЕНТ, запись-член ОПЕРАЦИЯ);

2)ОПЕРАЦИЯ-ПАЦИЕНТА (запись-владелец ХИРУРГ, запись-член ОПЕРАЦИЯ)

Рис. 4.23. Экземпляры наборов ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ (ППО) и ОПЕРА­ ЦИЯ-ПАЦИЕНТА (ОПП) сетевой модели данных, представленной на рис. 4.22

ВЫПОЛНЕН-

ПЛАНИРУЕМАЯ

НАЛ ОПЕРАЦИЯ^ ^

' ОПЕРАЦИЯ

ОПЕРАЦИЯ

Рис. 4.24. Два набора, в которых участвуют одни и те же типы записей. Это дает возможность отразить два аспекта взаимосвязей между запи­ сями. В первом наборе ПЛАНИРУЕМАЯ-ОПЕ- РАЦИЯ участвуют записи ПАЦИЕНТ и ОПЕ­ РАЦИЯ. Во втором наборе ВЫПОЛНЕННАЯОПЕРАЦИЯ участвуют те же типы записей

Рис. 4.25. Многочленный набор. Один экземпляр записи-владельца и пять экземпляров записей-членов

1. С помощью сингулярного набора можно объединить записи,

укоторых нет естественного владельца.

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

Рассмотрим структуры, которые можно построить на основе сингу­ лярного набора.

С лучай I. Пациент может быть помещен в госпиталь для предопера­ ционного обследования (см. рис. 4.24). Набор ПЛАНИРУЕМАЯ-ОПЕРА­ ЦИЯ, объединяющий записи ПАЦИЕНТ и ОПЕРАЦИЯ, отличается от набора ВЫПОЛНЕННАЯ-ОПЕРАЦИЯ.

С лучай 2. С помощью нескольких наборов можно построить иерар­ хическую структуру (см. рис. 4.27).

С лучай 3. С помощью нескольких наборов можно построить так называемую У-структуру (см. рис. 4.28).

Впоследствии Вручную соединяются с соответствующим пациентом. Поело соединения с пациентом планируемая операция считается Выполненной

4.26. Сингулярный тип набора

ВЫПОЛНЕННАЯ

ОПЕРАЦИЯ

ОПЕРАЦИЯ-И- ЛЕЧЕН И Е

 

Рис. 4.28. У-структура может быть

Рис. 4.27. Иерархическая структура

построена с помощью нескольких на­

определена с помощью наборов

боров

4.5.3. Операции включения и удаления в сетевой модели данных

Включение. Допускается добавление новой записи ХИРУРГ в каче­

стве экземпляра владельца в экземпляр набора ОПЕРАЦИЯ-ПАЦИЕН­ ТА, в котором экземпляр ОПЕРАЦИЯ отсутствует. При этом вводятся сведения о хирурге, не прооперировавшем ни одного пациента. Аналогич­ ным образом можно вводить сведения о пациенте вне зависимости от сведений о хирурге.

Удаление. При удалении экземпляра владельца ХИРУРГ удаляются

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

Аналогично при удалении экземпляра владельца ПАЦИЕНТ удаля­ ются все указатели, связывающие перенесенные данным пациентом опе­ рации в экземпляре набора ПАЦИЕНТ-ПЕРЕНЕС-ОПЕРАЦИЮ. Ин­ формация же о хирургах, оперировавших данного пациента, остается неизменной.

4.5.4. Достоинства модели

Главными достоинствами сетевой модели данных являются:

наличие успешных реализаций систем управления базами данных, обеспечивающих эту сетевую модель (как и в иерархической модели);

простота реализации часто встречающихся в реальном мире взаимо­ связей «многие ко многим».

Сетевая модель данных широко пропагандируется Рабочей группой

по базам данных Ассоциации КОДАСИЛ. Отчеты РГБД 1971 и 1978 гг. несомненно окажут Влияние на будущие национальные и международные стандарты баз данных.

4.5.5. Недостатки модели

Основной недостаток сетевой модели состоит в ее сложности. При­ кладной программист должен детально знать логическую структуру базы данных, поскольку ему необходимо осуществлять навигацию среди раз­ личных экземпляров наборов и экземпляров записей. Другими словами, программист должен представлять «свое» текущее положение в экземпля­ рах наборов при «продвижении» по базе данных. Однако программи­ рование операций, требующих перемещения по наборам, в модели дан­ ных КОДАСИЛ значительно облегчается за счет предоставления точек входа в их экземпляры.

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

Средство обеспечения более высокой степени независимости данных.

Навигацию в базе данных должны непосредственно осуществлять не­ сколько хорошо продуманных программ. Остальные прикладные про­ граммы лишь вызывают указанные программы.

Обсудив три подхода в области моделей данных, рассмотрим три важнейшие функции АБД. Прежде всего он ответствен за разработку концептуальной модели предметной области, описывающей все представ­ ляющие интерес объекты и взаимосвязи. Концептуальная модель должна быть трансформирована в модель данных, поддерживаемую конкретной СУБД. Следовательно, АБД необходимо спроектировать логическую мо­ дель. Наконец, исходя из логической модели он должен спроектировать физическую (внутреннюю) модель, которая будет обеспечивать требуе­

мые операционные характеристики.

второй задач

рассматривается

Методология

решения

первой и

в гл. 5 и .6. Методы же проектирования физической

модели описаны

в части 3 настоящей книги.

 

 

 

 

Л И Т Е Р А Т У Р А

 

 

 

 

 

1. Б А Т Е С. Л. Ап

1п1гоёис1юп 1о Оа1аЬазе 5уз1етз. 2пё её., ТНе 5уз1ешз Р го д га т тт д

Зепез, Аёё1зоп-\Уез1еу РиЪНзЫпд Сотрапу, 1977. Русский

перевод:

Д е й т К.

Введение в системы баз данных. М., Наука,

1980.

 

Мапа^ешеп!

2. Тз1сЬгНг15 Пюуз1з С. апё

Ь о с Н о у з к у РгеёепсН Н. Эа1а Вазе

5уз1ешз. Асаёепис-Ргезз.— А зиЬз1сПагу о! Нагсоиг! Вгасе ЛоуапоуюН РиЪНзНегз, 1977.

3.У е Н е г М. Рппар1ез о! Оа1а Вазе 5уз1ешз. Рарег ргезеп!её а! 1Не 1п1егпа1юпа1 СошриПпд Зутрозшт, Ье1де, Ве1&шт, АргП 1977.

4. С о ё ё Е. Р. А Не1аПопа1 Моёе1 о! Оа1а 1ог Ьагде ЗНагеё Па1а Вапкз. С оттитсаПопз о! 1Не АСМ, Уо1. 13 (Липе 6, 1970).

5.С о ё ё Е. Р. Риг1Нег ЫогшаНгаПоп о! 1Не Ре1аНопа1 Моёе1. Оа1а Вазе Зуз1ешз, Соигап! Сошри1ег Заепсе Зушроз1а 6, РгепНсе-НаИ, 1972.

6.В а с Ь г п а п С. \У. ТНе Рго^гашшег аз Ыау1&а1ог. Сошшипюа1юпз о! 1Не АСМ, Уо1. 16, N0. И (ЫоуешЬег 1973).

7.

6 11 е

Т.

АУПНат. ТНе Соёазу1 АрргоасЬ 1о ^а^а Вазе Мапа^етеп!. А \УПеу-1п1ег-

 

заепсе

РиЬПсаНоп,

ЛоНп

АУПеу & Зопз, 1978. Русский

перевод: О л л е

Т. В. Пред­

 

ложения КОДАСИЛ по управлению базами данных. М., Финансы и статистика,

1981.

8.

Кпи1 Ь

Оопа1ё Е. ТНе Аг{ о! Сошри1ег Ргодгаш ттд, Уо1. 3: ЗогПп^ апё

ЗеагсЫп^,

 

Аёё180П-)Уез1еу РиЬНзЫп^ Сотрапу, 1973.

Русский деревод:

К н у т

Д.

Искусство

 

программирования для ЭВМ. Т. 3. Сортировка и поиск. М., Мир, 1978.

 

 

 

9. М а г Н п

Лашез. Рппс1р1ез о! Оа1а-Вазе Мападетеп*. РгепНсе-На11, 1976. Русский

 

перевод:

М а р т и н

Дж.

Организация

баз

данных

в вычислительных

системах.

10.

М., Мир,

1980.

 

 

 

 

 

 

 

 

1п!огтаНоп

Ра 1т е г

1ап Ц. Оа1а Вазе 5уз1етз: А РгасНса1 Ре1е1епсе: (3. Е.

 

 

Заепсез, 1пс., \Уе11ез1еу, МаззасНизеНз, 1978.

Эа^а-Вазе Мападетеп! 5уз1етз. АСМ

И. Р гу Л. Р. апё 5 1 Ь 1еу

Е. М. Еуо1и1юп

о!

 

СотриНп^ Зигуеуз, Зрес1а1 1ззие: Оа1а-Ьазе Мападетеп! Зуз1етз, Уо1. 8, N0. 1

 

(МагсН 1976).

 

 

 

(РВ

177 682).

СООАЗУЬ

Оа1а

Вазе

12. СОВОЬ

Ех*епзюпз 1о Напё1е Оа1а Вазез

 

Тазк Огоир, (Лапиагу 1968).

 

АргП

1971

(ауаПаЫе {гот

АззоааНоп

13. Нерог!,

СООАЗУЬ Т>а\а Вазе Тазк Огоир,

 

1ог СотриПпд МасНтегу,

Уогк).

 

 

 

 

 

 

 

 

14.ТНе №Нопа1 Зутрозшт оп СотрагаНуе Ва{а Вазе Мапа^етеп! 5уз1етз, Уо1 I,

Аёуапсеё Мапа&етеп! НезеагсН 1п1егпаНопа1, 1пс., (Липе 26—28, 1978).

Г л а в а 5

ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ (КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ)

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

При разработке концептуальной модели может оказаться полезным аппарат реляционного подхода, не зависящий от особенностей реализации: концептуальная модель предметной области может быть впоследствии отображена на реляционную, иерархическую или сетевую модель данных. К сожалению, разработчики баз данных, имеющие дело с иерархиче­ скими СУБД или СУБД, базирующимися на предложениях РГБД КОДАСИЛ, редко прибегают к методам нормализации, рассматриваемым в на­ стоящей главе, хотя их применение упрощает проектирование.

Проектирование концептуальной модели предметной области

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

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

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

Итак, первый этап — анализ данных, позволяющий собрать инфор­ мацию об элементах данных и их взаимосвязях.

5.1. АНАЛИЗ ДАННЫХ

5.1.1. Сбор информации о данных, используемых в существующих прикладных программах

Сбор информации о данных является трудоемкой задачей и требует непременного участия руководства. АБД должен разработать план про­ ведения обследования предприятия. С помощью вопросника или иного подобного средства ему нужно составить списки данных, необходимые работникам всех уровней управления (исполнительного, функционального

и эксплуатационного). Причем на различных уровнях данные могут об­ рабатываться или накапливаться. Затем АБД предстоит проанализиро­ вать все направления использования данных на предприятии.

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

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

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

Ниже приводится краткое содержание анкет. Здесь не предлагается их конкретный формат. Важно, чтобы были получены ответы на все пере­ численные вопросы. Выбор формата может определяться используемым словарем данных или существующими на предприятии стандартами опре­ деления данных. Окончательный формат анкет устанавливает АБД.

Содержание анкет

1. И м я и описание объекта данны х. Указываются основное имя и

синонимы. Примеры: «Счета», «Журнал регистрации продукции», «Форма учета счетов». Дается вербальное описание смыслового содержания имени, даже если его смысл представляется очевидным. В общих чертах описывается функциональное назначение и использование объекта в функ­

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

2. Элементы данны х. Для каждого элементарного данного, входя­ щего в конкретный объект, указывается:

а) его имя и описание. Перечисляются имена, акронимы и дается их расшифровка. Приводится полное вербальное описание элемента; б) источник. Перечисляются источники элемента в структуре пред­

приятия, например заказчик, внутренние документы, отдел сбыта; в) атрибуты. Указываются тип значения атрибута (числовой, алфа­

витный, текстовый), единицы измерения (доллары, футы), а при необ-

ходимости и допустимые диапазоны значений (например, от 100 до 500);

г) использование элемента данных. Примеры: «Содержит сведения об адресе», «Используется для определения количества», «Используется в шкале платежей»;

д ) ограничения безопасности/чувствительности. Перечисляются свя­

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

вы д ач а;

е) степень важности. Указывается степень важности данного элемента. Она должна определяться значением элемента данных для реализаций или расширения функций предприятия. Следует избегать негативных формулировок типа «Без этого элемента данных невозможно

выполнить то-то». Рекомендуется

приводить

аргументы, основываясь

на использовании элемента данных

(пункт г);

 

ж ) взаимосвязи элемента данных. Описываются способы совместного

Использования данного элемента с другими, не обязательно принадлежа­ щими рассматриваемому объекту. Примеры взаимосвязей: номер дета­ ли — наименование, код операции — трудозатраты, номер заказа — номер поставки;

3.Продолжительность хранения и усл о ви я п ер ево да в архив. Ука­

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

Одновременно с проведением анкетирования АБД должен исследо­ вать информационные потоки в аппарате управления, в канцелярии, при обработке данных. Целью такого исследования является не столько проверка правильности заполнения анкет, сколько разработка модели предприятия. В результате АБД получает представление о документо­ обороте предприятия, определяет пути и способы передачи данных.

Следующий невероятно, наиболее важный этап — анализ организа­ ции хранения данных, базирующийся На результатах анкетирования и Исследования документооборота. Этот анализ достаточно просто оп> сывается, но не так легко выполняется. АБД разрабатывает графическую схему объектов и элементов данных, на которой указываются исходные данные, формирующие их подразделения или виды деятельности, ре­ зультирующие данные и использующие их подразделения (рис. 5.1).

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

неточностями в исходных описаниях,

которое он обязан обнаружить

и устранить. Удобным средством при

анализе данных может оказаться

словарь данных.

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

управлять информационными ресурсами и вносить необходимые измене­ ния в принятую схему обработки данных.

По завершении анализа АБД обязан обсудить с представителями различных подразделений выявленные связи между данными, их источ-

4 *

99

 

Первоначальная

схема данных

Данные,

Функциональная

Исследование

Выявленные в ходе

модель

потоков данных

анкетирования

Отдел овраг

 

 

Заказы

дотки заказав

 

 

Заказчики

Ведение счетов

 

 

 

 

 

Счета

отгрузка

 

 

Накладные

 

 

 

Опись

 

Функциональная схема данных

товаров

 

 

Функциональные

Походный

Функциональный

Функциональный

источник

одъект

потребитель

потребитель

отдел обработки--------^Заказы

ОЩаботка1

Счета

заказов

 

счетов

накладные

 

 

Отерузкач

Опись

товаров

Рис. 5.1. АБД должен разработать графическую схему объектов и элементов данных, содержащую:

1)функциональные источники данных;

2)функции получения или применения данных

ники и

требования пользователей. Необходимо, чтобы пользователи

и АБД

пришли к единому мнению относительно перспектив обработки

данных на предприятии.

После этого АБД может приступить к разработке модели данных (концептуальной модели базы данных).

5.1.2. Сбор информации о данных для перспективных приложений

Сбор информации для планирования перспективного использования базы данных — одна из наиболее важных и сложных задач АБД. Обычно после ввода базы данных в эксплуатацию пользователи, оценив на практике ее значение для принятия решений и обработки информации, предъявляют более высокие требования к составу реализуемых функций, вносят предложения по введению новых перекрестных ссылок и улучшению операционных характеристик системы. Если основу проектирования со­ ставляют только текущие требования к базе данных, то это может за­ труднить реализацию новых. Для того чтобы подобные проблемы в буду­ щем не возникали, АБД должен заранее учитывать возможные пути использования информации. Это достаточно трудно, но тем не менее АБД приходится выявлять неучтенные объекты и взаимосвязи, которые могут и не быть задействованы ни в каких функциях, и детально обсуждать их с пользователями. Информация о вероятных путях перс­ пективного использования данных не только необходима для проектиро­ вания концептуальной и логической модели, но может оказать опреде­ ленное влияние на выбор способа физической реализации базы данных. Выбор физической модели в особенности зависит от оценок будущих объемов информации.

Соседние файлы в папке книги