- •Описание предметной области «Кулинария»
- •Описание предметной области
- •Функции системы
- •Определение связей между сущностями
- •Составление тз
- •Задание на этап
- •Общие сведения о системе
- •Общие сведения
- •Цели создания и назначения системы
- •Цели создания мультимедийной системы
- •Назначения системы
- •Требования к системе в целом
- •Требования к функциональности системы
- •Требования к надежности системы
- •Требования по эргономике и технической эстетике
- •Требования к доступности
- •Требования к эксплуатации, техническому обслуживанию, ремонту и хранению
- •Архитектура системы
- •Требования к обеспечению защиты персональных данных
- •Требования к защите информации от несанкционированного доступа
- •Требования по сохранности информации
- •Требования средств защиты от внешнего воздействия
- •Авторское право
- •3.4 Состав и содержание работ по созданию системы
- •Архитектура мис
- •Уровень представления
- •Уровень Бизнес-логики
- •Уровень данных
- •Разработка бд
- •Ход работы
- •Построение инфологической модели бд
- •Построение единой таблицы
- •Приведение таблицы к первой нормальной форме
- •Приведение таблицы ко второй нормальной форме
- •Приведение таблицы к третьей нормальной форме
- •Построение даталогической модели бд
- •Выбор субд
- •Построение физической модели бд
- •Определение запросов к бд
- •Задание на этап
- •Ход работы
- •Заключение этапа
- •7. Проектирование пользовательского интерфейса
- •7.1 Задание на этап
- •7.2 Ход работы
- •7.2.1 Основные задачи Web-приложения
- •7.2.2 Разработка структуры графического интерфейса системы
- •7.2.4 Общая структура интерфейса разделов
- •Приложение 1 Пользовательское соглашение
Приведение таблицы к первой нормальной форме
На основании анализа предметной области были выявлены сущности, атрибуты, а также была получена единая таблица предметной области «Кулинария», которую необходимо привести к первой, второй и третьей нормальным формам.
Достижение этой цели поможет обеспечить целостность информации, обеспечить наименьший объем требуемой памяти и минимального времени обработки данных.
Первая нормальная форма - это основа реляционной модели данных, поэтому простую таблицу приведем к первой нормальной форме.
Таблица соответствует первой нормальной форме, когда ни одно из полей не содержит более одного значения и любое ключевое поле не пусто.
В таблице 5.2 представлена первая нормальная форма таблицы предметной области “Кулинария”. Ключевым полем в нашей таблице является “Код блюда”, это поле будет представлять собой порядковый номер.
Таблица 5.2 - Первая нормальная форма таблицы “Кулинария”
Кулинария |
|
Код блюда |
|
Название блюда |
|
Категория блюда |
|
История создания блюда |
|
Время приготовления |
|
Время на кухне |
|
Острота |
|
Сложность |
|
Аллерген |
|
Пищевая ценность |
|
Прикрепленный медиа-файл блюда |
|
Рейтинг |
|
Автор |
|
Дата |
|
Продукт |
|
Вес |
|
Медиафайл фоторецепта |
|
Логин пользователя |
|
Логин пользователя |
|
Пароль пользователя |
|
ФИО |
|
Избранное блюдо пользователя |
|
Рецепт пользователя |
|
Сообщение |
|
Медиафайл комментария |
|
Имя пользователя |
|
Дата |
|
В нашей таблице есть не пустое ключевое поле и в каждом поле таблицы будет храниться только одно значение.
Первая нормальная форма имеет некоторые недостатки. Например, добавление новых данных в таблицу требует ввода значений для всех полей и в каждую строку каждой таблицы надо будет вводить повторяющиеся значения полей.
Приведение таблицы ко второй нормальной форме
Таблица находится во второй нормальной форме, если удовлетворяет требованиям первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Если таблица имеет простой первичный ключ, то она автоматически находится во второй нормальной форме. Если первичный ключ составной, то не обязательно во второй нормальной форме, тогда она делится на две или более таблиц таким образом, чтобы первичный ключ однозначно идентифицировал значения в любом поле.
Поделим нашу таблицу на несколько таблиц, приведенных ко второй нормальной форме, чтобы первичный ключ однозначно идентифицировал значения в любом поле.
В таблице 5.3 представлены данные сущности «Блюдо».
Таблица 5.3 - 2НФ сущности “Блюдо”
Код блюда |
ID пользователя |
Название |
Код категории блюда |
Описание |
Время приготовления |
Время на кухне |
Острота |
Сложность |
Аллерген |
Пищевая ценность |
Прикрепленный медиа-файл |
Рейтинг |
Код автора |
Дата |
Продукты |
Вес |
У таблицы 5.3 есть первичный ключ «Код блюда» и все атрибуты связаны полной функциональной зависимостью с первичным ключом. Кроме того, таблица соответствует требованиям 1 NF. Следовательно, данная таблица находится во второй нормальной форме.
В таблице 5.4 представлены данные сущности «Пользователь».
Таблица 5.4 - 2НФ сущности “Пользователь”
ID пользователя |
Логин |
Пароль |
Отображаемое имя |
Избранное |
Код блюда(если пользователь-автор) |
У таблицы 5.4 есть первичный ключ «ID пользователя» и все атрибуты связаны полной функциональной зависимостью с первичным ключом. Кроме того, таблица соответствует требованиям 1 NF. Следовательно, данная таблица находится во второй нормальной форме.
В таблице 5.5 представлены данные сущности «Комментарий».
Таблица 5.5 - 2НФ сущности “Комментарий”
ID комментария |
Код блюда |
ID пользователя |
Дата |
Текст |
У таблицы 5.5 есть первичный ключ «Код комментария» и все атрибуты связаны полной функциональной зависимостью с первичным ключом. Кроме того, таблица соответствует требованиям 1 NF. Следовательно, данная таблица находится во второй нормальной форме.
