maxon
Новичок
Проектируем БД учета инцидентов
Столкнулся с трудностями при проектировании ИС для телекоммуникационного бизнеса. Существуют сущность "Инцидент" - жалоба от абонента, партнера или внутреннего сотрудника тел. компании.
Также имеются такие сущности как:
"Абонент" - абонент телекоммуникационной компании.
"Партнер" - компания-оператор, с которой имеется общий канал связи.
"Сотрудник" - сотрудник компании.
"Инцидент" имеет такие ключевые атрибуты как "инициатор" (тот, от кого поступила жалоба) и "ответственный" (тот, кто будет разбираться с жалобой).
Примерная структура этих сущностей:
Инцидент
-ID инцидента
-ID инициатора (FK)
-ID ответственного (FK)
описание
статус
FK - наследуемый ключ
Абонент
-ID абонента
-ID объекта
-номер договора
-имя
-адрес
Партнер
-ID парнтера
-имя
Сотрудник
-ID сотрудника
-ID отдела
-имя
-телефон
В данной системе"инициатором" может являться любое лицо из "Абонентов", "Сотрудников", и "Партнеров", и в свою очередь, "ответственным" может являться как "Сотрудник", так и "Партнер" компании. Т.е. моей целью является такой вариант, когда при регистрации инцидента в БД можно назначать "инициатором" и "ответственным" любого из этих лиц, но хранить всех "инициаторов" и "ответственных" в одной таблице было бы нецелесообразно. Я предполагаю что должны появиться отдельный таблицы "инициатор" и "ответственный", но не могу понять как через них увязывать "партнеров", "сотрудников" и "абонентов".
Каким образом правильно сформировать структуру БД?
Столкнулся с трудностями при проектировании ИС для телекоммуникационного бизнеса. Существуют сущность "Инцидент" - жалоба от абонента, партнера или внутреннего сотрудника тел. компании.
Также имеются такие сущности как:
"Абонент" - абонент телекоммуникационной компании.
"Партнер" - компания-оператор, с которой имеется общий канал связи.
"Сотрудник" - сотрудник компании.
"Инцидент" имеет такие ключевые атрибуты как "инициатор" (тот, от кого поступила жалоба) и "ответственный" (тот, кто будет разбираться с жалобой).
Примерная структура этих сущностей:
Инцидент
-ID инцидента
-ID инициатора (FK)
-ID ответственного (FK)
описание
статус
FK - наследуемый ключ
Абонент
-ID абонента
-ID объекта
-номер договора
-имя
-адрес
Партнер
-ID парнтера
-имя
Сотрудник
-ID сотрудника
-ID отдела
-имя
-телефон
В данной системе"инициатором" может являться любое лицо из "Абонентов", "Сотрудников", и "Партнеров", и в свою очередь, "ответственным" может являться как "Сотрудник", так и "Партнер" компании. Т.е. моей целью является такой вариант, когда при регистрации инцидента в БД можно назначать "инициатором" и "ответственным" любого из этих лиц, но хранить всех "инициаторов" и "ответственных" в одной таблице было бы нецелесообразно. Я предполагаю что должны появиться отдельный таблицы "инициатор" и "ответственный", но не могу понять как через них увязывать "партнеров", "сотрудников" и "абонентов".
Каким образом правильно сформировать структуру БД?