У меня есть проект, в котором у пользователей есть персональный календарь. В календаре пользователь может создавать чаты, писать заметки, сохранять файлы и т. Д. Это похоже на календарь Google. Таким образом, у нас есть две таблицы «Пользователи и календарь» (это таблицы дат и таблицы ссылок для другого объекта (заметки, файлы и т. Д.)). Структуры DB выглядят как Как создать структуру базы данных, такую как календарь Google
Но здесь у нас есть некоторые проблемы. Для одного пользователя мы генерируем 365 строк в календаре (или 366 в високосный год), поэтому, если у нас есть 100 пользователей, мы должны генерировать 36500 строк в год. Я думаю, что это не очень хороший способ. Можете ли вы рекомендовать мне хороший способ решить эту проблему?
В одной таблице хранить дату и/или действие. Отдельно храните пользователя, связанного с этой активностью. Если вам нравится, вы также можете иметь таблицу календаря со всеми практическими датами, но для этого нет необходимости, так как ее можно так же легко управлять на уровне приложения. – Strawberry
Спасибо за ур ответить @Strawberry. Но я не понимаю, ясно. Я имею в виду, что мне нужна таблица, в которой я сохранил информацию о дате, типе активности и идентификаторе активности? Таким образом, эта таблица имеет ссылку на пользователя и ссылается на многие другие таблицы (сущности). В таблицах есть столбцы (id user_id entity_type entity_id), где entity_type - где мы должны получать информацию (примечания, файлы и т. Д.) Entity_id - id в этой таблице – handless
Как правило, у вас может быть таблица событий (что происходит когда) и таблица посещаемость (кто участвует в этом): 'events (event_id *, event_title, event_datetime)', 'attendance (event_id *, user_id *)' - \ * = (компонент) PRIMARY KEY – Strawberry