
- •«Курский государственный университет»
- •Курсовая работа
- •1. Техническое задание 2
- •2. Модель предметной области в виде системы функциональных зависимостей 12
- •5. Построение запросов на языке sql 32
- •1.1.2. Объекты предметной области
- •1.1.3. Процессы взаимодействия между объектами, происходящие в предметной области
- •Формализованное описание предметной области
- •1.2.1. Словарь терминов для объектов и элементов данных
- •1.2.2. Первичные и альтернативные ключи
- •2.1.2. Не ключевые функциональные зависимости
- •2.1.3. Функциональные зависимости для сохранения иерархии
- •2.1.4.Функциональные зависимости для устранения потери информации при соединении
- •2.1.5. Исходное множество функциональных зависимостей
- •Неизбыточное редуцированное покрытие системы функциональных зависимостей
- •Построение неизбытычного покрытия
- •3.2. Построениелеворедуцированногопокрытия
- •3.3. Построениеправоредуцированногопокрытия
- •Минимальное кольцевое редуцированное покрытие системы функциональных зависимостей
- •4.1 Естественноехарактеристическоемножество:
- •5.1.1. Выражение для запроса с использованием операций реляционной алгебры
- •5.1.3. Исходный запрос на языке sql
- •5.1.4. Временные характеристики исходного запроса
- •5.1.5. Оптимизированное операционное дерево для запроса
- •5.1.6. Оптимизированный запрос на языке sql
- •5.1.7. Временные характеристики оптимизированного запроса
- •5.2. Многотабличный запрос на выборку по условию нескольких строк и логической формулы условий столбцов с использованием "or"
- •5.2.1. Выражение для запроса с использованием операций реляционной алгебры
- •5.2.2. Исходное операционное дерево для запроса
- •5.2.3. Исходный запрос на языке sql
- •Приложение 1
Минимальное кольцевое редуцированное покрытие системы функциональных зависимостей
4.1 Естественноехарактеристическоемножество:
R0 = ( passport; number; status_c, staff_pl, status_pl, staff_c, player, fam, im, otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost, coach ) K0 = { passport }
R1 = ( pop_index, passport, num_p) K1 = { pop_index }
R2 = ( num_p, square, naznachenie) K2 = { num_p }
R3 = ( num_p, num_zal, type_zal) K3 = { num_p }
R4 = ( num_p, num_room ) K4 = { num_p }
R5 = ( tec_in, date_tec, num_p) K5 = { tec_in }
R6 = ( meb_in, date_meb, num_p) K6 = { meb_in }
R7 = ( inv_in_id, date_inv, num_p) K7 = { inv_in_id }
R8 = ( inv_number_inv, code_obj) K8 = { inv_number_inv }
R9 = ( inv_number_tec, code_obj) K9 = { inv_number_tec }
R10 = ( inv_number_meb, code_obj) K10 = { inv_number_meb }
R11 = ( code_obj, date, price) K11 = { code_obj }
R12 = ( code_obj, firm_inv, model_inv ) K12 = { code_obj }
R13 = ( code_objfirm_tec, model_tec, firm_meb ) K13 = { code_obj }
R14 = ( code, obj, firm_meb, model_meb, dlina, width, height) K14 = { code_obj }
R15 = ( id_spis, data) K15 = { id_spis }
R16 = ( id_spis, inv_number_inv, reason_inv ) K16 = { id_spis }
R17 = ( id_spis, inv_number_tec, reason_tec ) K17 = { id_spis }
R18 = ( id_spis, inv_number_meb, reason_meb ) K18= { id_spis }
4.2. Диаграмма сущность – связь, построенная на основании минимального кольцевого редуцированного покрытия множества функциональных зависимостей
Диаграмма сущность – связь, построенная на основании минимального кольцевого редуцированного покрытия множества функциональных зависимостей представленна на рисунке 4.1
Рисунок 4.1
4.3. Физическая структура базы данных.
Физическая структура базы данных представлена на рисунке 4.2
Рисунок 4.2
Программа для заполнения базы данных представлена в "Приложение 1".
Построение запросов на языке SQL
5.1. Многотабличный запрос на выборку по условию нескольких строк и логической формулы условий столбцов
В базе данных хранится информация о поступившей бытовой технике, мебели, инвентаре и помещениях, к которым они прикреплены. Требуется вывести коды тренажеров, ценой более 92000, производства фирмы «Московский СпортИнвентарь», которые прикреплены к спортивным залам площадью менее 47 кв.м.
Для упрощения записи введем обозначения, представленные в таблице 5.1.
Таблица 5.1– Обозначения и пояснения
Обозначение |
Пояснение |
Obj |
Таблица Arrived_Obj (список объектов) |
Inv |
Таблица Inventar (инвентарь) |
InvNum |
Таблица InvNum_Inv (инвентаризация) |
Inv_Zal |
Таблица Inv_In_Zal (инвентарь, прикреплённый к помещению ) |
Zal |
Таблица Zal (список спортивных залов) |
Pom |
Таблица Pomeshenie (список помещений) |
|
Естественное соединение таблиц |
5.1.1. Выражение для запроса с использованием операций реляционной алгебры
Выражение для запроса с использование операций реляционной алгебры представлено на рисунке 5.1.
Рисунок 5.1
В данном выражении проекция производится по набору атрибутов X, который имеет следующий вид, представленный на рисунке 5. 2, а селекция проводится по формуле f, представленной на рисунке 5. 3.
X
= Obj.Код,
Obj.цена,
Inv.наименование,Pom.№_помещения,
Pom.площадь_помещения;
Рисунок 5.2
f Obj.Цена > ( 92000 );
AND (Inv.Фирма = (Московский СпортИнвентарь);
AND (Pom.Площадь < "47" )
Рисунок 5.3
Исходное операционное дерево для запроса представлено на
р
исунке
5.4.
Рисунок 5.4