Добавлен: 19.10.2018
Просмотров: 4559
Скачиваний: 71
Примечания:
1) «М», «Ж».
2) дд.мм.гг
3 Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные — строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами.
4) Следующее значение (инкремент).
5) «служ», «дом», «мбл», «проч».
6) число от 3 до 5, макс 2 знака после запятой.
7) необязательный (цифровой код города) цифровой номер, допустимы разделители-дефисы.
Таблица 4.2.
Ограничения кортежей
Таблица 4.3.
Ограничения уникальности
Таблица 4.4.
Динамические ограничения
№ п/п |
Группа атрибутов |
Ограничение |
1 |
Стаж |
Стаж ←Стаж + 1 – значение атрибута «стаж» может лишь увеличиваться на единицу |
2 |
Счет в банке.Расходы в месяц. |
Расходы в месяц ← Расходы в месяц ± Х — значение атрибута «Расходы в месяц» может лишь увеличиваться |
3 |
Цена |
Цена ← Цена ± Х – значения атрибута «Цена» может увеличиваться или уменьшаться |
4 |
Договор с заказчиком.Сумма |
Сумма ← Сумма ± Х – значения атрибута «Сумма» может увеличиваться или уменьшаться |
5 |
Банк.Дата открытия счета |
Дата открытия счета ← Дата открытия счета + Х – значения атрибута «Дата открытия счета» может лишь увеличиваться. |
6 |
Дата закупки |
Дата закупки ← Дата закупки + Х – значение атрибута «дата закупки» может лишь увеличиваться. |
7 |
Дата выпуска |
Дата выпуска ← Дата выпуска + Х – значение атрибута «дата выпуска» может лишь увеличиваться. |
Таблица 4.5.
Другие ограничения
Таблица 4.6.
Операционные правила
№ п/п |
Группа атрибутов |
Ограничение |
1 |
Атрибуты, относящиеся к сотруднику: Табельный номер, Фамилия, Имя, Отчество, … и т.д. |
При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
2 |
Атрибуты, относящиеся к сотруднику: Табельный номер, Фамилия, Имя, Отчество, … и т.д. |
При добавлении записи о сотруднике все сведения переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут хранится вечно, если не будут удалены. |
3 |
Атрибуты, относящиеся к сотруднику: Табельный номер, Фамилия, Имя, Отчество, … и т.д. |
При обновлении записи о сотруднике все сведения перезаписываются в базе данных. «Старые сведения» переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
4 |
Атрибуты, относящиеся к учебному заведению: Код учебного заведения, Факультет, Специальность и т.д. |
При удалении записи об учебном заведении все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивное базе в течение 1 месяца, затем автоматически удаляются. |
5 |
Атрибуты, относящиеся к учебному заведению: Код учебного заведения, Факультет, Специальность и т.д. |
При добавлении данных об учебном заведении, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
6 |
Атрибуты, относящиеся к учебному заведению: Код учебного заведения, Факультет, Специальность и т.д. |
При обновлении записи об учебном заведнии все сведения перезаписываются в базе данных. Старые сведения переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе 1 месяц, а затем автоматически удаляются. |
7 |
Атрибуты относящиеся к клиенту: Фамилия, Имя, Отчество и т.д. |
При удалении записи о клиенте все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивное базе в течение 6 месяцев, затем автоматически удаляются. |
8 |
Атрибуты относящиеся к клиенту: Фамилия, Имя, Отчество и т.д. |
При добавлении данных о клиенте, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
9 |
Атрибуты относящиеся к клиенту: Фамилия, Имя, Отчество и т.д. |
При обновлении записи о клиенте все сведения перезаписываются в базе данных. Старые сведения переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе 2 года, а затем автоматически удаляются. |
10 |
Атрибуты относящиеся к банку: Номер счета, Название банка, Сумма счета и т.д. |
При добавлении данных о банке, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
11 |
Атрибуты относящиеся к банку: Номер счета, Название банка, Сумма счета и т.д. |
При удалении записи о банке все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивное базе в течение 2 лет, затем автоматически удаляются. |
12 |
Атрибуты относящиеся к банку: Номер счета, Название банка, Сумма счета и т.д. |
При обновлении записи о банке все сведения перезаписываются в базе данных. «Старые сведения» переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
13 |
Атрибуты относящиеся к оборудованию: Код оборудования, Название оборудования, Номер оборудования. |
При удалении записи об оборудовании, все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивной базе в течение 6 месяцев, затем автоматически удаляются. |
14 |
Атрибуты относящиеся к оборудованию: Код оборудования, Название оборудования, Номер оборудования. |
При добавлении данных об оборудовании, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
15 |
Атрибуты относящиеся к оборудованию: Код оборудования, Название оборудования, Номер оборудования. |
При обновлении записи об оборудовании все сведения перезаписываются в базе данных. Старые сведения переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе 4 месяца, а затем автоматически удаляются. |
16 |
Атрибуты, относящиеся к производителю: Код производителя, Страна, Город и т.д. |
При удалении записи о производителе все сведения переносятся в архивную базу с указанием причины удаления, дате-времени. Эти сведения хранятся в архивной базе в течение 2 лет, затем автоматически удаляются. |
17 |
Атрибуты, относящиеся к производителю: Код производителя, Страна, Город и т.д. |
При добавлении данных о производителе, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
18 |
Атрибуты, относящиеся к производителю: Код производителя, Страна, Город и т.д. |
При обновлении записи о производителе данные перезаписываются в базе данных. Старые сведения переносятся в архивную базу с указанием даты-времени и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе 2 месяца, а затем автоматически удаляются. |
19 |
Атрибуты, относящиеся к адресу: Город, название улицы. |
При удалении записи об адресе все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивной базе в течение 6 месяцев, затем автоматически удаляются. |
20 |
Атрибуты, относящиеся к адресу: Город, название улицы. |
При добавлении данных об адресе, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
21 |
Атрибуты, относящиеся к адресу: Город, название улицы. |
При обновлении записи об адресе все сведения перезаписываются в базе данных. Старые сведения переносятся в архивную базу с указанием даты-времени, причины изменения и имени пользователя, выполнившего изменение. Эти сведения хранятся в архивной базе 2 месяца, а затем автоматически удаляются. |
22 |
Атрибуты, относящиеся к поставщику: Код поставщика, страна, город и т.д. |
При удалении записи о поставщике сведения переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе в течение 5 лет, а затем автоматически удаляются. |
23 |
Атрибуты, относящиеся к поставщику: Код поставщика, страна, город и т.д. |
При добавлении записи о платеже сведения переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут хранится вечно, если не будут удалены. |
25 |
Атрибуты, относящиеся к подготовке к мероприятию: набор персонала, покупка оборудования, печать рекламы и т.д. |
При добавлении данных о подготовке к мероприятию, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление. Эти сведения будут храниться вечно, если не будут удалены. |
26 |
Атрибуты, относящиеся к подготовке к мероприятию: набор персонала, покупка оборудования, печать рекламы и т.д. |
При обновлении записи о подготовке к мероприятию данные перезаписываются в базе данных. «Старые сведения» автоматически удаляются. |
27 |
Атрибуты, относящиеся к подготовке к мероприятию: набор персонала, покупка оборудования, печать рекламы и т.д. |
При удалении записи о подготовке к мероприятию все сведения переносятся в архивную базу с указанием причины удаления. Эти сведения хранятся в архивной базе в течение 6 месяцев, затем автоматически удаляются. |
28 |
Атрибуты, относящиеся к договору с заказчиком: номер договора, дата заключения, сумма и т.д. |
При обновлении записи о договоре с заказчиком, данные перезаписываются в базе данных. «Старые сведения» автоматически удаляются. |
29 |
Атрибуты, относящиеся к договору с заказчиком: номер договора, дата заключения, сумма и т.д. |
При добавлении данных, они переносятся в базу данных, с указанием имени пользователя, выполнившего добавление, даты-времени. Эти сведения будут хранится вечно, если не будут удалены. |
30 |
Атрибуты, относящиеся к договору с заказчиком: номер договора, дата заключения, сумма и т.д. |
При удалении записи о договоре с заказчиком все сведения переносятся в архивную базу с указанием причины удаления, даты-времени. Эти сведения хранятся в архивной базе в течение 2 месяцев, затем автоматически удаляются. |
Таблица 4.7.
Ссылочные правила
№ п/п |
Родительская сущность/связь |
Дочерняя сущность/связь |
Правило удаления |
Другие правила |
1 |
Сотрудник |
Место |
каскадное |
|
2 |
Сотрудник |
Учебное заведение |
Каскадное |
|
3 |
Сотрудник |
Контакт |
Каскадное |
|
4 |
Телефон |
Контакт |
Строгое |
|
5 |
Клиент |
Место |
Каскадное |
|
6 |
Оборудование |
Закупка |
Строгое |
|
7 |
Клиент |
Контакт |
Каскадное |
|
9 |
Сумма |
Сумма счета |
Каскадное |
|
11 |
Поставщик |
Место |
Каскадное |
|
13 |
Адрес |
Учебное заведение |
Строгое |
|
14 |
Заказчик |
Номер договора |
Каскадное |
|
15 |
Оборудование |
Доставка |
Каскадное |
|
4.3 Вывод
В результате проектирования глобальной ER-модели, соответствующей локальным ER-моделям для отдельных автоматизируемых функций, получена графическая модель, включающая 18 сущностей в третьей нормальной форме. Введенная 1 обобщенная сущность содержит 3 категории. Разработанные спецификации ограничений и операционных правил включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для глобальной ER-модели.
5 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ И
РАЗРАБОТКА SQL-КОДА БАЗЫ ДАННЫХ
Данный раздел посвящен проектированию реляционной модели и программированию базы данных на ее основе. Здесь выполняется перевод глобальной ER-модели в реляционную форму, специфицируются ограничения и правила поддержания целостности на реляционном уровне. Для приведения ER-модели к реляционной форме производится устранение категорий и замена явных связей неявными, основанными на общих атрибутах. Специфицируются ограничения целостности и операционные правила на уровне концептуальной реляционной модели. Разрабатывается программный SQL-код, обеспечивающий создание таблиц базы данных. Стандартные ограничения целостности реализуются с помощью табличных средств.
5.1 Устранение категорий и явных связей
В данном подразделе в глобальной ER-модели устраняются категории сущностей либо путем расщепления обобщенной сущности, либо путем слияния категорий, либо путем выделения категорий в отдельные сущности. Затем устраняются явные связи типа «многие ко многим» и «один ко многим», в результате чего модель переходит в реляционную форму. Графическое представление реляционной модели приведено на рис. 5.1 в конце раздела.
5.1.1 Устранение категорий сущностей
Категории обобщающей сущности «Клиент» устранены путем выделения в отдельные сущности категорий «Заказчик», «Поставщик» и «Производитель», имеющих собственные атрибуты.
5.1.2 Устранение явных связей типа «многие ко многим»
Явные связи типа «многие ко многим» устранены путем замены их одноименной сущностью с копированием идентификаторов связываемых сущностей в состав атрибутов для сохранения неявных связей. В результате появились новые сущности: «Контакт сотрудника», «Место», «Образование», «Работа», «Контакт клиента», «Контакт банка».
5.1.3 Устранение явных связей типа «один ко многим»
Явные связи типа «один ко многим» заменены неявными путем копирования атрибутов-идентификаторов родительской сущности во множество атрибутов дочерней сущности. Такое копирование произведено для сущностей «Учебное заведение», «Выполнил», «Производит», «Заказывает».
5.2 Спецификации ограничений и правил
В данном подразделе ограничения и правила, сформулированные в разд. 4 для глобальной ER-модели, трансформированы применительно к реляционной модели, а именно:
– ограничения атрибутов сущностей (таблица 5.1);
– ограничения кортежей (таблица 5.2);
– ограничения уникальности (таблица 5.3);
– динамические ограничения (таблица 5.4);
– прочие ограничения (таблица 5.5);
– операционные правила (таблица 5.6);
– стандартные ссылочные правила (таблица 5.7) .
При этом динамические и прочие ограничения, а также операционные правила преобразованы к событийно-ориентированной форме для последующей реализации в виде триггеров базы данных.
Таблица 5.1
Ограничения атрибутов