Предположительно, вы будете хранить свои статьи отдельно от своих пользователей (для удовлетворения 3NF). С этой целью я хотел бы начать с чем-то вроде:
Users:
UserId int primary key.
Other user-specific data (name, address, affiliations, ...).
Articles:
ArticleId int primary key.
UserId references Users(UserId).
ArticleText varchar(big-enough-to-hold-article).
Типы данных для первичных ключей в ваших руках (они не влияют на аспект 3NF).
Если вы хотите разделить текст статьи на абзацы или добавить ключевые слова в статьи и т. Д., То это расширение. Здесь вы должны начать.
Это то, что сразу приходит в голову, что я буду смотреть за пределы базовой структуры, приведенной выше.
- Ключевые слова или условия поиска статей, хранящихся в двух других таблицах, один для хранения ключевых слов, а другой - для отношений между ключевыми словами и статьями.
- Сводка статей, может быть просто другой столбец в таблице «Статьи».
- Статьи, которые в конечном итоге нуждаются в большем, чем максимальное выделенное пространство, и в этом случае текст статьи можно разделить на другую таблицу с ссылкой внешнего ключа на
Articles(ArticleId)
и порядковый номер для заказа частей статьи.
Ваше описание вашего требования довольно расплывчато, пожалуйста, уточните дальше. –
Мы не знаем ваших потребностей, как мы можем помочь в разработке структуры? –
Я просто задавался вопросом, как вы думаете, что бы улучшить структуру базы данных статей вместе со статьями. Я полагаю? – articles