Demiurg
Guest
Внешние ключи и InnoDb
Проблема в следующем:
есть каталог сайтов.
имеется таблица с сайтами sites(sites_uid , code , status)
code - некое абстрактное число, уникальное для каждого сайта,
status - статус (опубликован, ожидает просмотра и прочее)
причем для одного сайта может быть 2 записи в таблице с одинаковым code и разным status. Имеется уникальный ключ (code, status).
Теперь, у каждого сайта могут быть прессрелизы табличка pressreleases.
Теперь сам вопрос:
Как связать эти две таблицы и какие констрейнты вешать?
у меня было несколько вариантов:
прессрелизы ссылаются на sites_uid.
минусы - sites_uid не является идентификатора сайта, при изменении статуса придется менять ссылающееся поля.
ссылаться на code
минусы- при удалении записи удаляются все прессрелизы ссылающийся на этот сайт несмотря на то, что сайт может остаться в базе с другим статусом
ссылаться на (code, status)
минусы - в ссылающейся таблице status всегд будет "опубликован" (тк прессрелизы к неопубликованным сайтам нас не интересуют), при обнавлении информации о сайте(запись с статусом "опубликован" удаляется, запис со статусом "ожидает просмотра" апдейтится до "опубликован") прессрелизы опять же удаляются.
Есть у кого нибудь еще идеи ?
заранее спасибо.
Проблема в следующем:
есть каталог сайтов.
имеется таблица с сайтами sites(sites_uid , code , status)
code - некое абстрактное число, уникальное для каждого сайта,
status - статус (опубликован, ожидает просмотра и прочее)
причем для одного сайта может быть 2 записи в таблице с одинаковым code и разным status. Имеется уникальный ключ (code, status).
Теперь, у каждого сайта могут быть прессрелизы табличка pressreleases.
Теперь сам вопрос:
Как связать эти две таблицы и какие констрейнты вешать?
у меня было несколько вариантов:
прессрелизы ссылаются на sites_uid.
минусы - sites_uid не является идентификатора сайта, при изменении статуса придется менять ссылающееся поля.
ссылаться на code
минусы- при удалении записи удаляются все прессрелизы ссылающийся на этот сайт несмотря на то, что сайт может остаться в базе с другим статусом
ссылаться на (code, status)
минусы - в ссылающейся таблице status всегд будет "опубликован" (тк прессрелизы к неопубликованным сайтам нас не интересуют), при обнавлении информации о сайте(запись с статусом "опубликован" удаляется, запис со статусом "ожидает просмотра" апдейтится до "опубликован") прессрелизы опять же удаляются.
Есть у кого нибудь еще идеи ?
заранее спасибо.