Сценарий
Мне нужно спроектировать движение оборудования из многих источников и мест назначения.У меня есть следующие примеры таблиц:
CREATE TABLE Area{
Id INT,
Name VARCHAR(50),
//some other fields
}
CREATE TABLE Stowage{
Id Int,
Name VARCHAR(50),
//some other fields
}
CREATE TABLE Movement{
OriginId INT,
DestinationId INT,
}
Но мне нужно какое-то движение, например:
- Происхождение : Площадь; Пункт назначения : Район
- Источник : Район; Назначение : укладка
- Происхождение : укладка; Пункт назначения : Район
- Источник : Склад; Назначение : укладка
Но у меня есть только два столбца, и мне нужно более одного внешнего ключа для столбца.
Возможное решение в уме
- Создание таблиц MovementArea, MovementStowage, MovementStowageArea и создание соответствующих им внешних ключей.
- Не создавайте внешний ключ для столбцов OriginId и DestinationId и заполняйте его по мере необходимости.
Последний вопрос
Есть ли другой способ решения этой проблемы в SQL или какое из предложенных решений является наиболее приемлемым для этого сценария?