Грунтуючись на аналізі вимог, ми вирішили використовувати для зберігання даних нашого додатку наступні таблиці:
tbl_user
зберігає інформацію користувача, включаючи імʼя користувача та пароль;tbl_post
зберігає інформацію про записи блогу:
title
: необхідно, заголовок запису;content
: необхідно, вміст запису у форматі Markdown;status
: необхідно, статус запису. Може приймати значення:
tags
: опціонально. Список розділених комою тегів, які відносять запис до тієї чи іншої категорії;tbl_comment
зберігає інформацію про коментарі. Кожен коментар асоціюється із деяким записом і містить наступні поля:
author
: необхідно, імʼя автора;email
: необхідно, email автора;url
: опціонально, адреса веб-сайту автора;content
: необхідно, текст коментаря у текстовому форматі;status
: необхідно, статус коментаря, який показує, затверджений коментар (значення 2) чи ні (значення 1);tbl_tag
зберігає інформацію про теги записів та їх кількості. Використовується для побудови хмари тегів. Таблиця містить наступні поля:
name
: необхідно, унікальне імʼя тега;frequency
: необхідно, кількість використань тега у записах.tbl_lookup
зберігає інформацію про текстові синоніми цілочисельних даних (кодів).
Коди використовуються при розробці, синоніми безпосередньо відображаються користувачам.
Наприклад, ми використовуємо ціле число 1 для позначення чорнового статусу запису і рядок Чернетка
, яку ми відображаємо користувачам.
Таблиця містить наступні поля:
name
: текстове представлення даних, що відображається користувачеві;code
: цілочисельне представлення даних;type
: тип даних;position
: порядковий номер для даних одного типу.Наступна діаграма сутність-звʼязок (ER) показує структуру таблиць і звʼязків між ними.
Діаграма сутність-звʼязок БД системи управління блогом
Інформація: Ми називаємо всі таблиці та їх поля у нижньому регістрі, так як різні СУБД сприймають регістр по-різному.
Також ми використовуємо префікс
tbl_
. Зроблено це із двох причин. По-перше, префікс дозволяє зберігати дані декількох додатків в одній БД, що часто доводиться робити в умовах віртуального хостингу. По-друге, використання префіксів зменшує ймовірність збігу імен таблиць із зарезервованими ключовими словами СУБД.
SQL, відповідний ER-діаграмі вище, ви можете знайти у демо-блозі.
У встановленій копії фреймворку вони знаходяться у файлі /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql
.
Ми розділили розробку нашого додатку на кілька основних етапів:
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.