Моделирование систем управления. Формирование требований и разработка концептуальной модели. Разработка математической модели системы массового обслуживания, страница 19

Скругленный прямоугольник: ПАРОЛИ Скругленный прямоугольник: ДЕНЕЖНЫЕ
СУММЫ
Скругленный прямоугольник: НОМЕРА
СЧЕТОВ
 


  ДОМЕНЫ

2. 8. 9. Построение модели хранилища средствами ERD

Построение модели ведется в следующей последовательности:

1)  проводится идентификация сущностей, атрибутов и ключей,

2)  проводится идентификация отношений между сущностями и определяется их значение,

3)  проводится разрешение недопустимых отношений n:m.

1. Идентификация сущностей, атрибутов и ключей

Идентификация проводится на основе анализа хранилищ и сравнение входных и выходных потоков данных.

В качестве примера рассмотрим базу данных бухгалтера, содержащую данные о персонале. Хранилище имеет следующие входные и выходные потоки:

 


                                НАЕМ, УВОЛЬНЕНИЕ                                                   ИЗМЕНЕНИЕ В З/ПЛ

АДРЕСА СЛУЖАЩИХ                                                                                                                              ИСТОРИЯ ЗАНЯТОСТИ

                                                                              ПОДРОБНОСТИ  З/ПЛ

Описание и сравнение входных и выходных потоков данных

В рассматриваемом примере структура данных имеет вид:

      ВХОДНЫЕ ДАННЫЕ                                                      ВЫХОДНЫЕ ДАННЫЕ

ВНОВЬ_НАНЯТЫЕ                                                                                     АДРЕС_СЛУЖАЩЕГО

   Дата_найма                                                                         фамилия

  фамилия                                                                              адрес

  таб_номер                                                                         ПОДРОБНОСТИ_З/ПЛ

  адрес                                                                                    фамилия

  должность                                                                           таб_номер

  начальная_з/пл                                                                   текущая_з/пл

УВОЛЕННЫЕ                                                                                 ИСТОРИЯ_ЗАНЯТОСТИ

  фамилия                                                                              фамилия

  таб_номер                                                                           таб_номер

ИЗМЕНЕНИЕ_АДРЕСА                                                                      дата_найма

  фамилия                                                                          ИСТОРИЯ_КАРЬЕРЫ

  таб_номер                                                                           должность

  старый_адрес                                                                      дата_изменения

  новый_адрес                                                                                  ИСТОРИЯ_З/ПЛ

ИЗМЕНЕНИЕ_З/ПЛ                                                                            з/пл

  фамилия                                                                              дата_изменения

  таб_номер

  старая_з/пл

  новая_з/пл

  дата_изменения

На основании анализа данных выявляется, какие данные необходимо хранить в хранилище, чтобы они удовлетворяли входным и выходным потокам. Так, нет необходимости в хранилище только предыдущей (старой) з/пл. Для сущности ИСТОРИЯ_З/ПЛ необходимо иметь всю последовательность изменения з/пл. Также не нужен старый адрес и нет необходимости в сущности ПОДРОБНОСТИ_З/ПЛ, если есть ИСТОРИЯ_З/ПЛ.

В результате такого анализа структура хранилища примет вид:

  фамилия   ИСТОРИЯ_КАРЬЕРЫ

  таб_номер                                                                    должность

  адрес   дата_изменения

  текущая_з/пл   ИСТОРИЯ_З/ПЛ

  дата_найма                                                                  з/пл

                                                                                                                дата_изменения

На следующем шаге выполняется упрощение структуры (устранение избыточности).

Из рассмотренной выше структуры в качестве избыточных данных можно убрать текущая_з/пл, т.к. она определяется последним состоянием з/пл и указывается в ИСТОРИЯ_З/ПЛ. Можно убрать дата_найма, т.к. это данное определяется первой записью в ИСТОРИЯ_КАРЬЕРЫ или в ИСТОРИЯ_З/ПЛ. Можно убрать дата_изменения в ИСТОРИЯ_КАРЬЕРЫ, т.к. она обычно совпадает с дата_изменения в ИСТОРИЯ_З/ПЛ. Можно объединить ИСТОРИЯ_З/ПЛ и ИСТОРИЯ_КАРЬЕРЫ в виде ИСТОРИЯ_З/ПЛ_КАРЬЕРЫ. В результате получим структуру:

  фамилия

  таб_номер

  адрес

ИСТОРИЯ_З/ПЛ_КАРЬЕРЫ

  з/пл

  должность

  дата_изменения

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

- неизменные данные

фамилия

адрес                СОТРУДНИК,

таб_номер

- изменяющиеся данные

з/пл

должность                 ИСТОРИЯ_З/ПЛ_КАРЬЕРЫ.

дата_изменения

Затем в группах выделяются ключевые атрибуты.

В рассматриваемом примере в каждой группе за ключевой атрибут необходимо взять таб_номер. В результате структура данных представится в виде двух файлов:

   СОТРУДНИК

  #таб_номер

  фамилия

  адрес

 

ИСТОРИЯ_З/ПЛ_КАРЬЕРЫ

#таб_номер

дата_изменения

должность

з/пл

 


                  

2. Определение отношений между сущностями

На этом этапе между выше определенными сущностями устанавливаются связи и отношения. Кроме того, определяются отношения с окружающими сущностями.