Загрузка данных


@startuml
skinparam classAttributeIconSize 0
skinparam shadowing false

' ==================== Основные классы ====================

class Заказчик {
  + ID_Заказчика : Integer <<PK>>
  + ФИО : String
  + Тип : String <<enum>> (ФизическоеЛицо, ЮридическоеЛицо)
  + Телефон : String
  + Email : String
  + Адрес : String
  + ИНН : String
}

class Заказ {
  + ID_Заказа : Integer <<PK>>
  + НомерЗаказа : String
  + ДатаПоступления : Date
  + ДатаИсполнения : Date
  + Статус : String <<enum>>
  + Сумма : Decimal
  + ОсобыеПожелания : Text
}

class Чертеж {
  + ID_Чертежа : Integer <<PK>>
  + НомерЧертежа : String
  + ДатаСоздания : Date
  + ФайлЧертежа : String
  + Описание : Text
}

class Сырье {
  + ID_Сырья : Integer <<PK>>
  + Наименование : String
  + Порода : String <<enum>> (Дуб, Сосна, Осина...)
  + Сорт : String
  + ЕдиницаИзмерения : String
  + Количество : Decimal
}

class Поставщик {
  + ID_Поставщика : Integer <<PK>>
  + Наименование : String
  + КонтактноеЛицо : String
  + Телефон : String
  + Email : String
}

class Участок {
  + ID_Участка : Integer <<PK>>
  + НомерУчастка : String
  + Наименование : String
  + ВидРабот : String
}

class Сотрудник {
  + ID_Сотрудника : Integer <<PK>>
  + ФИО : String
  + Должность : String
  + Специализация : String
}

class Деталь {
  + ID_Детали : Integer <<PK>>
  + Наименование : String
  + Размеры : String
  + Материал : String
  + Количество : Integer
}

class Изделие {
  + ID_Изделия : Integer <<PK>>
  + Наименование : String
  + Тип : String
}

class ГотоваяПродукция {
  + ID_Продукции : Integer <<PK>>
  + ДатаГотовности : Date
  + Статус : String <<enum>>
}

class КонтрольКачества {
  + ID_Контроля : Integer <<PK>>
  + ДатаПроверки : Date
  + Результат : String <<enum>> (Успешно, Брак)
  + Рекомендации : Text
}

' ==================== Связи ====================

Заказчик "1" -- "0..*" Заказ : оформляет

Заказ "1" -- "1" Чертеж : имеет
Заказ "1" -- "0..*" ГотоваяПродукция : выполняется_в

Чертеж "1" -- "0..*" Деталь : содержит

Поставщик "1" -- "0..*" Сырье : поставляет

Сырье "0..*" -- "0..*" Участок : обрабатывается_на

Участок "1" -- "0..*" Сотрудник : работает_на

Деталь "0..*" -- "1" Изделие : используется_для

Изделие "0..*" -- "1" ГотоваяПродукция : входит_в

ГотоваяПродукция "0..*" -- "0..*" КонтрольКачества : проходит

Участок "1" -- "0..*" КонтрольКачества : выполняет_контроль

@enduml