Использование одной вики-таблицы для нескольких предметных таблиц

0

Интересно узнать, может ли кто-нибудь помочь понять, хорошо ли я использую одну таблицу с содержанием вики для нескольких объектов, поэтому:

TABLE wiki
 ==>  wiki_id
      wiki_content
      wiki_language
      wiki_user_id

TABLE houses
      house_id
      house_name
      house_year
      house_location
 ==>  wiki_id

TABLE architects
      arch_id
      arch_name
      arch_born
      arch_died
 ==>  wiki_id

Я думаю, что это может быть правильный путь, если я использую:

SELECT * FROM houses WHERE house_id = '123' INNER JOIN wiki ON houses.wiki_id = wiki.wiki_id

но у меня нет опыта работы с базами данных.

Структура wiki, по сути, идентична в обоих случаях, поэтому я ошибаюсь, используя одну таблицу вики для двух разных таблиц? Могу ли я столкнуться с проблемами в будущем в этом решении для разработки db?

Теги:
database
wiki

3 ответа

1
Лучший ответ

Если информация о вики напрямую связана с домами и архитекторами, я не вижу проблем с их связыванием с внешними ключами. Это отношение от одного до нескольких для нескольких объектов. Пока они связаны, тогда их можно связать.

Это может быть проблема с целостностью данных, если набор вики, связанных с домами, полностью отделен от вики, связанных с архитекторами, поскольку ограничение внешнего ключа не гарантирует, что это всегда верно.

1
SELECT *
FROM wiki AS w
    JOIN houses AS h ON w.wiki_id = h.wiki_id
    JOIN architects AS a ON  w.wiki_id = a.wiki_id
WHERE house_name = 'big tall house'
    AND house_location = 'two blocks that way'
;
  • 0
    спасибо, мне очень нужна практика оптимизации запросов и возможности запросов
1

Если вы будете обращаться с домами и архитекторами в пределах одной и той же вики, я бы подумал, что именно так вы захотите это сделать.

Как у вас есть это, вы можете видеть, какие дома (и какие архитекторы) связаны с данной вики. Разделение вещей на две таблицы wiki указывает на то, что они не являются частью одной и той же вики, что может указывать на то, что ваша вики слишком "тесно связана" с вашими домами и вашими архитекторами.

  • 0
    спасибо обоим за одинаковый ответ, извините, я не могу дважды ответить на вопрос! одна вики для двух таблиц, два ответа для одного акса!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню