2014-09-28 3 views
0

Мне интересно, какой был бы лучший дизайн базы данных для веб-сайта, который позволяет пользователям (позволяет предполагать пользователей 10 тыс.) Оставлять заметки для себя в сопровождении даты. Пользователь будет видеть только свои заметки.Дизайн базы данных для ноутбука/календаря

Пример того, что пользователь увидит:

28.9.2014
-Went хранить
-Took собаку на прогулку

21.9.2014
-Called Майк

ответ

1

Создайте таблицу пользователей, а затем создайте таблицу заметок. Поместите идентификатор пользователя в таблицу заметок и покажите только заметки с этим идентификатором пользователя.

users 
- user_id (INT PK) 

notes 
- id (INT PK) 
- user_id (INT) 
- note (TEXT) 
- created_at (DATETIME) 

SELECT note,created_at FROM notes WHERE user_id=1 

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

SELECT note FROM notes WHERE user_id=1 AND DATE(created_at) = CURDATE() 
+0

Это выглядит хорошо, спасибо. Знаете ли вы, можно ли перечислить все заметки в виде списка с датами в качестве заголовков без необходимости поиска в базе данных каждый раз с определенной датой? – Unanana

+0

Добро пожаловать. Конечно, вы можете сделать это, хотя это несколько более сложный запрос, вы бы * вероятно * хотели использовать 'GROUP BY' в этом. Пожалуйста, отметьте это как решение. Благодарю. :) – timgavin

Смежные вопросы