Интернет-магазин / Реляционная схема
.docОтображение ER-диаграммы на реляционную схему
Разработаем логическую модель БД интернет-магазина фирмы в виде реляционной модели. Для этого используется табличное представление, в котором каждому объекту сопоставляется таблица. Каждое поле таблицы является атрибутом, причем первое поле является ключевым (уникальным) атрибутом для каждого объекта.
Товары
ID товара |
Наименование |
Группа |
Цена |
Тип скидки |
Пользователи
ID пользователя |
ФИО |
Логин |
Пароль |
Эл. Почта |
Склад
ID склада |
Товары |
Кол-во |
Заказы
ID заказа |
Кол-во |
Дата |
Статус |
Корзина
ID Корзины |
Товары |
Кол-во |
Платежи
ID счета |
Способ оплаты |
Сумма |
Статус |
Дисконтные карты
Номер карты |
Предоставляемая скидка |
Скидки
Тип скидки |
Размер скидки |
Доставки
Способ доставки |
Стоимость |
Статус |
Карты
Тип карты |
Номер карты |
Имя (как на карте) |
Дата |
CVC/CVV |
Дисконтная карта пользователя
ID пользователя |
Номер Д/К |
Карты пользователя
ID пользователя |
Номер карты |
Корзина пользователя
ID пользователя |
ID корзины |
Заказы пользователя
ID пользователя |
ID заказа |
Оплата заказа
ID счета |
ID заказа |
Доставка заказа
ID счета |
ID заказа |
Товары в заказе
ID товара |
ID заказа |
Скидки на товар
ID товара |
ID скидки |
Товары на складе
ID склада |
ID товара |
Приведение реляционной модели БД к нормальной форме
Первая нормальная форма (1NF).
Отношение находится в первой нормальной форме, если значения всех его атрибутов простые (атомарные), т.е. значение атрибута не должно быть множеством или повторяющейся группой.
Таблицы «Склад» и «Корзина» являются ненормализованными. В обеих таблицах поле «Товар» является множеством.
Изменим таблицы:
Склад
ID склада |
ID Товара |
Кол-во |
Корзина
ID Корзины |
ID Товара |
Кол-во |
Вторая нормальная форма (2NF)
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного ключа, но при этом не находится в функциональной зависимости от какой-либо его части.
Третья нормальная форма (3NF)
Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа.
Проектируемая база данных находится в 3NF
Нормализованная база данных
Товары
ID товара |
Наименование |
Группа |
Цена |
Тип скидки |
Пользователи
ID пользователя |
ФИО |
Логин |
Пароль |
Эл. Почта |
Склад
ID склада |
ID Товара |
Кол-во |
Заказы
ID заказа |
Кол-во |
Дата |
Статус |
Корзина
ID Корзины |
ID Товара |
Кол-во |
Платежи
ID счета |
Способ оплаты |
Сумма |
Статус |
Дисконтные карты
Номер карты |
Предоставляемая скидка |
Скидки
Тип скидки |
Размер скидки |
Доставки
Способ доставки |
Стоимость |
Статус |
Карты
Тип карты |
Номер карты |
Имя (как на карте) |
Дата |
CVC/CVV |
Дисконтная карта пользователя
ID пользователя |
Номер Д/К |
Карты пользователя
ID пользователя |
Номер карты |
Корзина пользователя
ID пользователя |
ID корзины |
Заказы пользователя
ID пользователя |
ID заказа |
Оплата заказа
ID счета |
ID заказа |
Доставка заказа
ID счета |
ID заказа |
Товары в заказе
ID товара |
ID заказа |
Скидки на товар
ID товара |
ID скидки |
Товары на складе
ID склада |
ID товара |
Заключение
Во время выполнения данного курсового проекта была выполнена разработка базы данных, включая: анализ предметной области и построение концептуальной модели в виде ER-диаграммы, отображение ER-диаграммы на реляционную схему, приведение реляционной модели БД к третей нормальной форме.
Результатом работы является логическая схема БД в 3-ей нормальной форме (3НФ) и полученный опыт практического освоения проектирования реляционных баз данных.