Задать вопрос
@Dogrtt
Qt/Python разработчик

Можно ли в одну ячейку SQL записать несколько FOREIGN KEY?

Собираюсь написать приложение на C++ Qt, для ведения проектов на предприятии (отслеживание стадии разработки изделия, комплектность КД, присваивание децимальных номеров и тому подобное). Встал вопрос организации SQLite базы. Дело в том, что не на всех стадиях разработки требуется фуллхаус документов, - где-то ведомость покупных изделий не нужна, где-то утверждающие листы. Куча вопросов. Как отобразить это в базе?

Я придумал такую структуру - три таблицы на типы документов (для КД, для ТД и для ПД)(Спецификация, Маршрутная карта, и т.д.), три таблицы для самих документов (относительный путь, название, исполнитель ...) и одна таблица с стадиями ( название, литера ...). Так вот, как отобразить упомянутый выше факт, что не все документы на всех этапах нужны? А если привязываться к теме вопроса, то могу ли я, указав в таблице "стадии" колонку "необходимые документы", запихнуть в ячейку все айдишники нужных документов? Или одна ячейка - один FOREIGN KEY?
Да, скомканно спросил, вывалил много не по теме вопроса, но это осознанно, так как мой подход, скорее всего, вообще не правелен, тогда может кто подскажет, как лучше это дело спроектировать?
  • Вопрос задан
  • 455 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@kttotto
пофиг на чем писать
Теоретически Вы можете в одно поле запихнуть весь список id записей, как строку, как массив и т.д., но это очень плохой подход. Я так понимаю, что Вам нужна связь многие-ко многим: должна быть таблица, в которой в одной колонке будет id "этапов", а второй соответствующие этим этапам id документов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы