Здравствуйте!
Есть несколько сущностей:
- Оптический кросс, со следующими атрибутами: id кросса, номер кросса, тип кросса, id узла связи на котором установлен кросс (на каждом узле связи может быть много кроссов);
- Оптическая муфта с атрибутами: id, координаты, номер, тип.
- Оптический кабель с атрибутами: id, номер, тип кабеля, "точка А", точка "Б". Каждый кабель может начинаться либо в кроссе либо в муфте, и заканчиваться либо в кроссе либо в муфте.
Сейчас организовано так для таблицы кабелей:
- номер
- тип кабеля
- кросс начала
- муфта начала
- кросс окончания
- муфта окончания.
При таком решении в коде приходится проверять много условий, например при задаче получить список кабелей в заданном узле связи.
Как организовать таблицы и связи между ними таким образом, чтобы в коде было как можно меньше условных операторов?
DieZz: а сделать к примеру: а если оставить конец, но сделать тип конца( 1 или 2 ), тоже самое с началом. Да плохо, что будет один внешний ключ на две таблицы, но зато меньше будет условие