
Старооскольский технологический институт им. А. А. Угарова
(филиал) федерального государственного автономного образовательного учреждения высшего профессионального образования
«Национальный исследовательский технологический университет «МИСиС»
(СТИ НИТУ «МИСиС»)
Кафедра ЭиМ
Домашнее задание №2
по дисциплине «Информатика»
на тему
«Проектирование базы данных (БД)»
Вариант №2
Выполнил:
Студент Ачкасова А. С.
Группа У-13-1Д
Преподаватель
Некрасова Наталия Ивановна
г. Старый Оскол
2013 г.
Задание.
Спроектируйте БД согласно варианту задания. Для этого:
создайте основное отношение;
определите атрибуты и их типы значений;
используя метод нормальных форм, нормализуйте данное отношение путем декомпозиции его на 3 или более отношений;
определите первичные и внешние ключи в таблицах;
нарисуйте схему связей между атрибутами таблиц для обеспечения целостности БД.
Напишите запросы SQL на создание всех спроектированных таблиц.
С помощью двух запросов SQL измените структуру двух таблиц (например, добавить или удалить какой-либо атрибут), определите результаты изменения.
Внесите данные в таблицы в режиме Таблица–>Открыть (не менее 10 кортежей в каждой таблице).
Создайте запросы SQL, которые будут использоваться для манипулирования данными;
– 4 запроса на изменение данных (добавление, удаление, обновление, создание таблиц на основе имеющихся);
– 4 запроса на выборку (с обязательным использованием агрегатных функций и сортировки данных).
Покажите результаты запросов.
Сформулируйте 2 подзапроса (однотабличный и многотабличный), создайте их с помощью языка SQL и покажите результаты их выполнения.
Аналогично с помощью языка SQL создайте 2 представления, покажите запросы на создание представлений и результаты этих запросов.
Опишите процесс выполнения всех пунктов задания и покажите полученные результаты.
Сведения о продажах.
Код товара, Наименование товара, Цена, Количество, Сумма, Дата поступления, Регион поставки, Продавец, Дата продажи, Количество, Сумма, Код торговой палатки, Местонахождение.
Выполнение
1) Проектирование базы данных:
a) Рассмотрим отношение, соответствующее варианту задания:
{Код товара, Наименование товара, Цена, Количество, Сумма, Дата поступления, Регион поставки, Продавец, Дата продажи, Количество, Сумма, Код торговой палатки, Местонахождение}
Данное отношение находится в первой нормальной форме, поскольку все его атрибуты являются неделимыми, и имеет составной ключ:
(Код_товара + Код_торговой_палатки).
Данное отношение находится в первой нормальной форме, поскольку все его атрибуты являются неделимыми, и имеет составной ключ:
(Код_товара + Код_торговой_палатки).
Здесь мы видим, что некоторые атрибуты зависят только от части составного ключа,как например: Наименование_товара, Цена зависят только от Кода товара, а Местонахождение, Продавец зависят только от Кода торговой палатки.
Устраним частичную зависимость и переведем это отношение во вторую нормальную форму путем декомпозиции основного отношения на три отношения.
1) Код_товара, Наименование_товара, Цена
2) Код_торговой_палатки, Местонахождение, Продавец
3) Код_товара, Код_торговой_палатки,Дата_поступления,Регион_поставки,Сумма, Количество,Дата_продажи,Сумма,Количество.
Отношения 1 и 2 находятся в третьей нормальной форме, поскольку они находятся во второй нормальной форме и каждый неключевой атрибут не транзитивно зависит от первичного ключа.
Добавим в основное отношение следующие атрибуты: Код_поступления, Код_продажи.
Получаем составной ключ основного отношения:
(Код_товара+Код_торговой_палатки+Код_продажи+Код_поступления)
Отношение 3 находится в первой нормальной форме, так как Дата_поступления,Регион_поставки,Сумма,Количество зависят от зависят от Кода поступления, Кода товара,Кода торговой палатки (то есть от части составного ключа),а Дата_продажи,Сумма,Количество зависят от Кода продажи,Кода товара,Кода торговой палатки(то есть от части составного ключа).Переведем отношение 3 во вторую нормальную форму.
Получим следующие отношения:
1) Код_поступления,Код_товара, Код_торговой_палатки, Регион_поставки, Дата_поступления, Количество, Сумма
2) Код_продажи, Код_товара, Код_торговой_палатки, Дата_продажи, Количество, Сумма
Эти отношения находятся во второй и одновременно в третьей нормальной форме. Итак, мы спроектировали 4 таблицы:
1. Товары
2. Торговые_палатки
3. Продажи
4. Поступления
Определим типы значений атрибутов:
|
INT |
|
CHAR (20) |
|
FLOAT |
|
INT |
|
FLOAT |
|
DATE |
|
CHAR (20) |
|
CHAR (20) |
|
DATE |
|
INT |
|
FLOAT |
|
INT |
|
CHAR (20) |
Определим первичные и внешние ключи:
Таблица Товар: первичный ключ-Код_товара
Таблица Торговые_Палатки: первичный ключ-Код_торговой_палатки
Таблица Продажи: первичный ключ-Код_продажи,Код_товара, Код_торговой_палатки
Таблица Поступления: первичный ключ-Код_поступления,Код_товара,Код_торговой_
палатки
Атрибуты Код_товара,Код_торговой_палатки_являются также внешними ключами по отношению к таблицам 1,2 соответственно.
e) Для создания связей между атрибутами таблиц использую пункт меню «Сервис–>Схема данных».
.
e) Для создания связей между атрибутами таблиц использую пункт меню «Сервис–>Схема данных».
Связи между атрибутами таблиц:
КодТовара (1) |
(один ко многим) |
КодТовара (3) |
КодТовара (1) |
(один ко многим) |
КодТовара (4) |
КодТорговойПалатки (2) |
(один ко многим) |
КодТорговойПалатки (3) |
КодТорговойПалатки (2) |
(один ко многим) |
КодТорговойПалатки (4) |