Основываясь на анализе требований, мы решили использовать для хранения данных нашего приложения следующие таблицы:
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.