Як правильно створювати структуру бази даних
У мене вже кілька разів запитували, як створюється структура бази даних. Як зрозуміти: які таблиці потрібні і які поля в них будуть потрібні? Я постараюся в цій статті якщо і не дати точну відповідь на це питання, то хоча б направити мислення в потрібне русло.
У будь-якого сайту, де потрібно база даних, є набір якихось об`єктів, сутностей. Наприклад, якщо це форум, то, очевидно, будуть потрібні такі об`єкти: користувачі, теми, повідомлення. Для соціальної мережі, наприклад, будуть потрібні такі об`єкти: користувачі, повідомлення, друзі, записи на стіні і так далі.
Тобто Ваша сама перше завдання - це виділити об`єкти, які будуть використовуватися на сайті.
Друге завдання - це у кожного об`єкта виділити властивості. Наприклад, властивості у таблиці з повідомленнями. Очевидно, що це унікальний ідентифікатор, заголовок повідомлення, сам текст, дата додавання, інформації про користувачів, який додав це повідомлення, та інше. ось для кожного властивості і потрібно створювати окреме поле в таблиці. Нічого зайвого бути не повинно, тільки те, що потім буде потрібно при виведенні цієї інформації.
Третє завдання - це прибрати дублювання. Наприклад, в тій же таблиці з повідомленнями інформація про користувача може бути різною. Але потрібно уникати, наприклад, e-mail користувача або його логін. Набагато краще буде поставити id_пользователя. А цей id пов`язує таблицю з повідомленнями з таблицею з користувачами, де з цього id можна однозначно визначити користувача і всі його дані.
Четверта задача - це продумати ключі та індекси. Очевидно, що id повинен бути PRIMARY KEY. Але є ще й унікальні поля, для яких потрібно поставити UNIQUE. Наприклад, це можуть бути логін користувача і його e-mail. Також якщо з якихось даними буде часто вестися вибірка, то має сенс зробити для них індекс, тоді така вибірка буде проходити швидше.
І наостанок, п`ята задача - це створити всі таблиці з усіма полями. Тут вже без коментарів.
Отже, підведу підсумок по тому, як правильно створювати структуру бази даних:
- Виділити об`єкти (сутності) на сайті.
- Продумати властивості для кожного з об`єктів.
- Мінімізувати дублювання.
- Додати ключі та індекси.
- Створити всі таблиці, наприклад, в phpMyAdmin.
Відразу скажу, що заздалегідь Ви все ніколи не передбачте. Тому робіть рівно ті таблиці і ті поля, які гарантовано Вам будуть потрібні. А якщо щось забудете, то завжди це можна буде додати. Що стосується правильності структури, то тут та сама історія: робіть, як можете, а потім в процес роботи з базою даних, Ви самі побачите недоліки створеної структури і зможете їх виправити.
- Відеоурок - вибірка даних з бази даних
- Що таке dbus
- Що таке svg? Стилізуємо об`єкти.
- Як зробити коментування на сайті
- Як зробити тестування на сайті
- Що таке svg? Анімуємо svg об`єкти.
- Як створити движок для сайту
- Як зробити сторінку користувача
- Як зробити чат
- Запит sql на вибірку записів
- Реалізація пошуку на сайті через php
- Знайомство з phpmyadmin
- Об`єкт object в jаvascript
- Повідомлення на html5.
- Управління базами даних в phpmyadmin
- Mysql
- Нормальні форми баз даних.
- Права (привілеї) користувачів в mysql
- Створення об`єктів в jаvascript
- План розкрутки форуму
- Красиві модальні вікна на jаvascript.