которую ссылаются другие 10 табличек, я могу как-то разрешить использовать одну запись в таблице Item только для одной связи среди всех 10 таблиц? Например, чтобы первая и вторая таблицы не могли вместе сослаться на первую запись таблицы Item.
То есть на одну запись таблицы Item в принципе может быть только одна ссылка
Только триггером, по идее.
Попробуйте озвучить прикладную задачу. Вполне может оказаться, что такой изврат совсем не нужен, и есть решение намного более простое.
Есть таблица StorageItem, которая представляет из себя краткую инфу о файле и его ссылку на удаленном хранилище. Есть промежуточные таблицы UserFiles, ProductFiles и тд., которые хранят ссылку на юзера/продукт и сторедж айтем. Таким образом выходит, что хранилище для всех файлов всех сущностей якобы одно. Но из-за этого на один сторедж айтем может сослаться и юзер, и продукт, хотя такого быть не должно.
Т.е. продуктовые файлы не могут принадлежать пользовательским, получается?
Думаю я, что > Есть промежуточные таблицы UserFiles, ProductFiles и тд., которые хранят ссылку на юзера/продукт и сторедж айтем. Все эти таблицы надо слить в одну, где будет проставлен нужный тип: user, product, etc; и ключ, совпадающий с ПК storageitem.
Обсуждают сегодня