0 follower

Загальна структура

Грунтуючись на аналізі вимог, ми вирішили використовувати для зберігання даних нашого додатку наступні таблиці:

  • tbl_user зберігає інформацію користувача, включаючи імʼя користувача та пароль;
  • tbl_post зберігає інформацію про записи блогу:
    • title: необхідно, заголовок запису;
    • content: необхідно, вміст запису у форматі Markdown;
    • status: необхідно, статус запису. Може приймати значення:
      • 1: запис знаходиться у чорновому варіанті та прихований від читачів;
      • 2: запис опубліковано;
      • 3: запис із закінченим терміном дії: не публікується в загальному списку, але все ще доступний окремо.
    • 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.

Ми розділили розробку нашого додатку на кілька основних етапів:

  • Етап 1: створення прототипу системи керування блогом. Він повинен містити більшу частину необхідної функціональності;
  • Етап 2: управління записами: створення, видалення, відображення записів списком, відображення окремого запису;
  • Етап 3: управління коментарями: створення, оновлення, видалення, відображення списком і ствердження коментарів до записів;
  • Етап 4: реалізація портлетів: меню користувача, форми входу, хмари тегів і недавніх коментарів;
  • Етап 5: фінальна оптимізація і розгортання.

Found a typo or you think this page needs improvement?
Edit it on github !