
- •Описание предметной области «Кулинария»
- •Описание предметной области
- •Функции системы
- •Определение связей между сущностями
- •Составление тз
- •Задание на этап
- •Общие сведения о системе
- •Общие сведения
- •Цели создания и назначения системы
- •Цели создания мультимедийной системы
- •Назначения системы
- •Требования к системе в целом
- •Требования к функциональности системы
- •Требования к надежности системы
- •Требования по эргономике и технической эстетике
- •Требования к доступности
- •Требования к эксплуатации, техническому обслуживанию, ремонту и хранению
- •Архитектура системы
- •Требования к обеспечению защиты персональных данных
- •Требования к защите информации от несанкционированного доступа
- •Требования по сохранности информации
- •Требования средств защиты от внешнего воздействия
- •Авторское право
- •3.4 Состав и содержание работ по созданию системы
- •Архитектура мис
- •Уровень представления
- •Уровень Бизнес-логики
- •Уровень данных
- •Разработка бд
- •Ход работы
- •Построение инфологической модели бд
- •Построение единой таблицы
- •Приведение таблицы к первой нормальной форме
- •Приведение таблицы ко второй нормальной форме
- •Приведение таблицы к третьей нормальной форме
- •Построение даталогической модели бд
- •Выбор субд
- •Построение физической модели бд
- •Определение запросов к бд
- •Задание на этап
- •Ход работы
- •Заключение этапа
- •7. Проектирование пользовательского интерфейса
- •7.1 Задание на этап
- •7.2 Ход работы
- •7.2.1 Основные задачи Web-приложения
- •7.2.2 Разработка структуры графического интерфейса системы
- •7.2.4 Общая структура интерфейса разделов
- •Приложение 1 Пользовательское соглашение
Определение запросов к бд
Задание на этап
В результате выполнения предыдущих этапов, наша бригада создала базу данных «Кулинария» в СУБД MySQL. На данном этапе нам необходимо разработать запросы к БД «Кулинария».
План работы:
1. Определить круг запросов, которые могут потребоваться пользователю при работе с информационной системой и базой данных.
2. Сформировать физическую базу данных.
3. Составить отчет о проделанной работе
Ход работы
Запросы используются для просмотра, изменения и анализа данных. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным.
Для начала определим, что обозначает понятие «Запрос». Запрос – это объект БД, позволяющий производить основные операции по обработке данных: сортировку, фильтрацию, объединение данных из разных источников, преобразование данных – и сохранять результаты с некоторым именем, чтобы в дальнейшем использовать их по мере необходимости. Главное предназначение запросов — это отбор данных на основании заданных условий. Запрос объединяет в себе возможности, предоставляемые сортировкой и фильтрацией. Он особенно удобен тем, что позволяет сохранить критерии отбора и сортировки с некоторым именем, чтобы задавать их каждый раз заново. Так же при помощи запроса можно создать так называемые вычисляемые поля, в которых производится преобразование данных в другой вид при помощи формул.
Еще одним преимуществом является то, что запросом можно отбирать данные не только из одной таблицы, но и из нескольких таблиц сразу. Запрос является производным объектом от таблицы. Однако результатом выполнения запроса является также таблица, т.е. запросы могут использоваться вместо таблиц. Запросы, как и фильтры, бывают простые и сложные. Простой запрос содержит одно условие, а сложный запрос содержит несколько условий для различных полей. В процессе создания запроса можно отбирать не только записи, но и поля, которые будут присутствовать в запросе.
На рисунке 6.1 представлена схема взаимодействия пользователя с системой.
Рисунок 6.1 - Схема взаимодействия пользователя с системой
Запросы в базе данных представляют собой наглядное представление вывода информации, запрашиваемой участником системы.
Вся информация формируется на основе запросов, поэтому нам необходимо определить модель взаимодействия с информационным ресурсом. Модель взаимодействия нашей системы - ролевая. Ролевая модель присваивает роли, и в зависимости от своей роли человек сможет так или иначе взаимодействовать с нашим информационным ресурсом.
Так как модель взаимодействия - ролевая, обозначим существующие роли в нашей системе:
Гость;
Авторизованный пользователь;
Модератор.
Алгоритм распределения ролей представлен на рисунке 6.2.
Рисунок 6.2 - Алгоритм распределения ролей
Запросы бывают на выборку, обновление, добавление, удаление и на создание таблиц. Различают постоянные запросы (те запросы, в которых условия выбора информации не меняются в течении длительного времени) и параметрические (те запросы, в которых параметры выбора информации изменяются).
В зависимости от роли пользователи могут совершать различные запросы. Алгоритм логики обработки запросов представлен на рисунке 6.3.
Рисунок 6.3 - Алгоритм логики обработки запросов
Таблица 6.1. - Разрешенные запросы
Роль |
Разрешённые запросы |
Гость |
Просмотр, поиск, создание аккаунта |
Авторизованный пользователь |
Просмотр, поиск, создание рецепта блюда, редактирование своих рецептов блюд, своих рецептов блюд |
Модератор |
Просмотр, поиск, редактирование любых рецептов блюд, удаление любых рецептов блюд, блокировка аккаунтов |
Приведем пример запросов, при помощи которых будет осуществляться взаимодействие перечисленных ролей с информационным ресурсом.
Запросы на выборку может осуществить любой участник системы (авторизованный/неавторизованный пользователь, модератор):
Выбрать самые популярные рецепты блюда (таблица “Блюдо”);
Выбрать рецепты с самым высоким рейтингом (таблица “Блюдо”);
Показать блюда, относящиеся к конкретной категории (таблица “Блюдо”);
Сделать выборку блюда по конкретным параметрам, например нужным ингредиентам или существующим аллергенам (таблица “Блюдо”).
Запросы на добавление, удаление и обновление данных в таблицы. Осуществлять такие запросы может модератор и авторизованный пользователь.
Добавление\обновление\удаление рецепта блюда (таблица “Блюдо”). Примечание: модератор может добавлять/обновлять/удалять любой рецепт. Авторизованный пользователь - только тот, что написал сам;
Добавление\обновление\удаление комментария (таблица “Комментарии“);
Добавление\обновление\удаление пользователя (таблица “Пользователь”).