172 похожих чатов

Привет, подскажите, пожалуйста, если у меня есть табличка Item, на

которую ссылаются другие 10 табличек, я могу как-то разрешить использовать одну запись в таблице Item только для одной связи среди всех 10 таблиц? Например, чтобы первая и вторая таблицы не могли вместе сослаться на первую запись таблицы Item.

8 ответов

9 просмотров
Yegor-Yudin Автор вопроса

То есть на одну запись таблицы Item в принципе может быть только одна ссылка

Только триггером, по идее.

Попробуйте озвучить прикладную задачу. Вполне может оказаться, что такой изврат совсем не нужен, и есть решение намного более простое.

Yegor-Yudin Автор вопроса
Михаил Шурутов
Попробуйте озвучить прикладную задачу. Вполне може...

Есть таблица StorageItem, которая представляет из себя краткую инфу о файле и его ссылку на удаленном хранилище. Есть промежуточные таблицы UserFiles, ProductFiles и тд., которые хранят ссылку на юзера/продукт и сторедж айтем. Таким образом выходит, что хранилище для всех файлов всех сущностей якобы одно. Но из-за этого на один сторедж айтем может сослаться и юзер, и продукт, хотя такого быть не должно.

Yegor Yudin
Есть таблица StorageItem, которая представляет из ...

Т.е. продуктовые файлы не могут принадлежать пользовательским, получается?

Yegor Yudin
Есть таблица StorageItem, которая представляет из ...

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

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

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
Карта сайта