| вс 10 Апрель 2011 | | Разместил(а): ib | | Просмотров: 13 |
Из предыдущего этапа известно, что нам потребуется 7 таблиц для реализации базы данных веб-приложения "Каталог рецептов". Рассмотрим схему базы данных веб-приложения:
1. Таблица HCR_RECEPT
Внешние ключи: category_id, photo_id и author_id. Количество указывается согласно полю "Единица измерения". Поле "Единица измерения" не использует отдельный справочник, поскольку на данный момент всего 5 ед. измерения. Цена будет всегда в рублях. Просмотры будут считаться по посетителям, т.е. по сессиям (можно ещё строже - по IP).
2. Таблица HCR_CATEGORY - категории рецептов (блюд).
Внешний ключ parent_id используется для представления категорий в виде иерархического дерева.

3. Таблица HCR_ELEMENTS - Список ингредиентов
Внешний ключи: group_id.

4. Таблица HCR_GROUP - используется для группировки ингредиентов в справочнике "Ингредиенты".
Внешний ключ parent_id используется для представления групп в виде иерархического дерева.

5. Таблица HCR_COMOSITION - Список использующихся ингредиентов в рецепте. Название ингредиента можно будет уточнить. По умолчанию название используемого ингредиента совпадает с выбранным ингредиентом в справочнике (таблица HCR_ELEMENTS). Единица измерения measure может принимать следующие значения: 'г', 'мл', 'шт', 'стол.лож.', 'чайн.лож.', 'стакан', 'щепотка', 'кг'.

6. Таблица HCR_COMMENT - комментарии к рецептам
Внешний ключ session_id указывает на системную таблицу WEB_SESSION_HISTORY, в которой собирается история посещений сайта пользователями Интернета и поисковыми роботами. Внешний ключ user_id указывает на системную таблицу SEC_USER, в которой находится список зарегистрированных пользователей сайта, в том числе системная запись полльзователя "Гость" с ИД равным 0 (комментарии ведь могут оставлять и не зарегистрированные пользователи). Для зарегистрированного пользователя поле username заполняется автоматически. Не зарегистрированным пользователям имя нужно будет вводить каждый раз. Поле status может принимать три значения: null - комментарий ждёт проверки модератора, 1 - комментарий опубликован и виден всем, 0 - комментарий заблокирован и не виден всем.

7. Таблица HCR_ORDER - список заказов
Поле status может принимать три значения: null - новый не обработанный заказ, 0 - обрабатываемый заказ, 1 - выполненный заказ. Поле dostavka будет принимать либо значение 1 (с доставкой), либо null - (без доставки). Итоговая сумма заказа будет равна сумме цены на изделие и стоимости доставки, если доставка включена. В session_id будем сохранять ИД сессии, что бы можно было собирать статистическую информацию.
Вот в принципе и всё, что требовалось сделать по базе данных.
Updated: 2011-06-17 15:30:49










