
Прикладные программные средства
261
процессы и явления), информация о которых должна содержать-
ся в БД и обеспечивать реализацию возможных запросов к БД и
решение задач.
Реальные предметные области представляют собой системы
взаимосвязанных объектов, например, учет товаров, поставляе-
мых некоторой фирмой на различные склады. Проектируя такую
базу данных, пользователь должен предусмотреть, какая инфор-
мация ему может потребоваться в будущем. Так, по всей видимо-
сти,
на основе этих данных нужно будет получать перечень това-
ров,
имеющихся в наличии, регистрировать перевод товара из
одного склада в другой, изменение ассортимента товаров, полу-
чать списки сотрудников, заключивших договоры на поставки.
Для каждого склада должна поддерживаться возможность полу-
чения имени руководителя этого склада, общего количества и сум-
мы поставленного товара. Для каждого сотрудника фирмы долж-
на поддерживаться возможность выдачи номера удостоверения
по полному имени сотрудника, выдачи полного имени по номеру
удостоверения, получения информации о занимаемой должности
сотрудника и о размере зарплаты.
Предположим, что мы решили реализовать эту предметную
область. Тогда для обеспечения пользователя указанной инфор-
мацией в базе данных должны храниться справочные данные о
товарах, складах, сотрудниках и др. Очевидно, что в качестве
свойств объекта Сотрудник должны выступать: полное имя со-
трудника, номер его удостоверения, информация об его должнос-
ти,
размер зарплаты.
Важный момент в проектировании моделей данных - выбор
ключа. Это связано с тем, что, с одной стороны, ключ должен
выполнять свою главную задачу однозначной идентификации, а
с другой - включать в свой состав минимально необходимое (для
выполнения задачи идентификации) количество атрибутов.
Прежде всего СУБД должна
знать,
что она работает
с
несколь-
кими информационно связанными объектами, ей должны быть
известны структура и смысл каждого поля (например, что Номер
сотрудника в объекте СОТРУДНИКИ и Исполнитель в объекте
ДОГОВОРЫ означают одно и то же), а также понимать, что в
ряде случаев изменение информации в одном объекте должно вы-
зывать модификацию второго объекта, чтобы их общее содержи-
мое было согласованным. Например, если заключается новый до-
говор, то необходимо добавить запись в объект ДОГОВОРЫ, а
также соответствующим образом изменить объект ПОСТАВКИ.