В настоящее время я создаю схему базы данных для нового проекта Rails, и я хочу, чтобы все было правильно, поэтому я лучше спрошу!Соглашение об именах для таблиц SQL при определенных обстоятельствах
Представьте себе: у меня есть таблица под названием «articles», и эти статьи должны иметь теги. То, что я сейчас сделаю, относительно просто. Создайте еще одну таблицу под названием «теги», а третий - «article_tags». Каждая статья и тег имеют уникальный идентификатор, а «article_tags» - это таблица сопоставления, которая объединяет нужные идентификаторы статей и тегов идентификаторов.
Таблицы:
- articles
- tags
- article_tags (mapping)
"Проблема" Сейчас у меня это: не только статей, есть теги, но и мои "пользователей" (другая таблица). Эти теги должны быть в двух разных таблицах, которые затем приводят к некоторому довольно странному наименованию.
Таблицы:
- articles
- article_tags (no mapping)
- article_article_tags (mapping???)
- users
- user_tags (no mapping)
- user_user_tags (mapping???)
Есть ли у вас какие-либо (общие) советы, как улучшить именования этих таблиц, потому что вы можете видеть выше, не делает меня очень счастливым ...
Являются ли теги одинаковыми для статей и пользователей? –
Нет, поэтому мне нужны две таблицы для тегов :( – krebas
вместо повторения слова, я бы использовал множественные версии для первых экземпляров их, например 'article_article_tags', это может показаться немного странным, пока вы не привыкнете к нему, но его можно легко прочитать как «статьи» article_tags'. ... или у вас может быть одна таблица «тегов» с столбцом для указания типа тега. – Uueerdo