Я роблю невелику програму, де користувачі створюють пости або пишуть блоги. У цих публікаціях інші користувачі можуть сподобатись або не сподобатися публікації, як у фейсбуці, або підняти або відхилити публікацію, як у стартовому потоці. Я хотів би знати хорошу структуру бази даних, яка зазвичай використовується, і програма ефективно працює з цією структурою. У мене є два варіанти
Спочатку
Повідомлення:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
id
Описаним вище способом є постід. У стовпці "Подобається" 1,2,3
- ідентифікатор користувача, який сподобався чи висловив поштову публікацію чи блог. 7,55,44,3
ідентифікатор користувачів, які не любили публікацію чи блог або відхилили їх.
Друге
Повідомлення:
id head message datepost
1 ab anchdg DATE
Подобається:
id postid userid
1 1 1
2 2 2
Не любить:
id postid userid
1 1 7
2 1 55
Таким чином, я повинен створити дві окремі таблиці для лайків та не любить, щоб отримати подобається повідомлення. Таким чином таблиці, тобто Likes
&, Dislikes
будуть заповнені значною мірою. Це може зробити стіл важким і обробку повільною.
Отже, я хотів би знати, який кращий та стандартний спосіб досягти цього завдання?