База данных склад сотовых телефонов

Автор работы: Пользователь скрыл имя, 03 Ноября 2013 в 12:52, курсовая работа

Описание работы

Данная тема актуальна, так как большое количество людей заинтересовано в получении информации о представленных телефонах в конкретном магазине. Необходимо предоставить пользователю информацию о марках представленных телефонов, цене. Так же необходимо дать возможность заказать понравившийся телефон. Данная задача будет решаться с помощью анализа предметной области, ее формализации с помощью функциональных зависимостей. Затем необходимо провести этапы минимизации системы функциональных зависимостей, описывающих предметную область, и на основании полученной редуцированной системы спроектировать требуемую модель базы данных.

Содержание работы

Введение 7
1 Техническое задание 8
1.1 Основание для разработки 8
1.2 Назначение разработки 8
1.3 Стандарты 8
1.4 Требования к программе или программному изделию 8
1.4.2 Носители информации 9
1.4.3 Требования к составу и параметрам технических средств 9
2 Технический проект 10
2.1 Неформальное описание предметной области 10
2.2 Словарь понятий и терминов 11
2.3 Диаграмма сущность – связь для предметной области. 14
2.4 Построение функциональных зависимостей 15
2.5 Синтез схемы базы данных на основании функциональных зависимостей 17
2.5.1 Построение неизбыточного покрытия 17
2.5.2 Построение леворедуцированного покрытия 20
2.5.3 Построение праворедуцированного покрытия 22
2.5.4 Построение классов эквивалентности 24
2.5.5 Построение редуцированного минимального кольцевого покрытия…………………………………………………………………………. 27
2.6 ER-схема базы данных 33
2.7 Построение запросов на SQL 33
2.7.1 Запрос на выборку 33
Заключение 60
Библиографический список 61

Файлы: 1 файл

БД Магазин сотовых телефонов.docx

— 638.84 Кб (Скачать файл)

,

.

,                                                                                        (2.37)

,

,

,

,

,                                           (2.38)

.

Очевидно, что

,                                                 (2.39)

,

,

,

.

.

.

,                                                                               (2.40)

где - операция селекции с логической формулой .

Формула имеет вид:

,                              (2.41)

,

,

,                                              (2.42)

.

Так как операция селекции не изменяет структуру таблицы, то

,

,                                                                                    (2.43)

,

,

,

,

,                                             (2.44)

.

Очевидно, что

,                                               (2.45)

,

,

,

.

.

.

,                                                                                (2.46)

где - операция селекции с логической формулой .

Формула имеет вид:

,   (2.47)

,

,

,                                                       (2.48)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                                         (2.49)

,

,

,

,

,                                             (2.50)

.

Очевидно, что

,                                                    (2.51)

,

,

,

.

.

.

,                                                                           (2.52)

где - операция селекции с логической формулой .

Формула имеет вид:

,                                              (2.53)

,

,

,                                                              (2.54)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                                        (2.55)

,

,

,

,

,                                                   (2.56)

.

Очевидно, что

,                                   (2.57)

,

,

,

.

.

.

Окончательно имеем:

,                        (2.58)

.

 

        1. Оптимизированное дерево запроса на основании операции проекции

Оптимизированное дерево запроса на основании операции проекции представлено на рисунке 2.15.

                                     

                                                                                                    

                          

                                                             

                                                                        

                                                                                           

                             

        

                                                                                          

                                                                                         

                         

                        

                          

                     


 

Рисунок 2.23 - Оптимизированное дерево запроса на основании операции проекции

 

На рисунке 2.24 представлены результаты Xi, i.

 

X1={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, clients.clientid }.

X2={ orders.order_execution, orders.orderid, orders.employeeid, orders.productid }.

X3={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.employeeid, orders.productid, orders.orderid }.

X4={ employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, employees.employeeid}.

X5={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.orderid, orders.order_execution, orders.productid employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e }.

X6={ product.marka_product, product.count, product.cost_one, product.productid, product.data_supply }.

X7={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.orderid, employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, product.marka_product, product.count, product.cost_one, product.data_supply }.

X8={supply.data_supply, supply.supplyid, supply.supplierid }.

X9={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.orderid, employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, product.marka_product, product.count, product.cost_one, supply.data_supply, supply.supplierid }.

X10={ suppliers.name, suppliers.supplierid}.

X11={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.orderid, employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, product.marka_product, product.count, product.cost_one, supply.data_supply, suppliers.name }.


 

Рисунок 2.16

        1. Расчет сложности запроса

 

Расчет сложности оптимизированного запроса приведен ниже.

 

 

Расчет сложности оптимизированного запроса приведен ниже.

,                                                                                             (2.59)

где X1={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, clients.clientid };

,                                                                                (2.60)

где - операция селекции с .

,

,

,                                                                (2.61)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                                          (2.62)

где X2={ orders.order_execution, orders.orderid, orders.employeeid, orders.productid };

    ,                                                                               (2.63)

где - операция селекции с .

,                      (2.64)

,

,

,                                                        (2.65)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                 (2.66) 
где - результат естественного соединения таблиц;

- таблицы, участвующие в соединении;

- псевдонимы, используемые вместо  имен таблиц для сокращения  записи;

- операция естественного соединения.

,                                                                                (2.67)

 (2.68) 
           ,

,

,

.

,                                                                                  (2.69)

,                                                                                       (2.70)

где - число блоков, записанных в таблице ;

- длина одной записи таблицы  в блоках;

- длина одной записи таблицы  в байтах;

- размер одного блока.

Очевидно, что

,                      (2.71)

,

,

.

.

.

.

,                                                                                            (2.72)

где X3={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.employeeid, orders.productid, orders.orderid };

,                                                                                            (2.73)

где X4={ employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, employees.employeeid };

,                                                                                  (2.74)

где - операция селекции с .

,                   (2.75)

,

,

,                                                                (2.76)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

  ,                                                                                        (2.77)

,

,

,

,

,                                        (2.78)

.

Очевидно, что

,                                                 (2.79)

,

,

,

.

.

.

,                                                                                        (2.80)

где X5={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.orderid, orders.order_execution, orders.productid employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e};

,                                                                                          (2.81)

где X6={ product.marka_product, product.count, product.cost_one, product.productid, product.data_supply };

,                                                                          (2.82)

где - операция селекции с .

,  (2.83)

,

,

,                                             (2.84)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                                       (2.85)

,

,

,

,

,                                        (2.86)

.

Очевидно, что

,                                                 (2.87)

,

,

,

.

.

.

,                                                                                          (2.88)

где X7={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.orderid, employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, product.marka_product, product.count, product.cost_one, product.data_supply };

,                                                                                           (2.89)

где X8={ supply.data_supply, supply.supplyid, supply.supplierid };

,                                                                                 (2.90)

где - операция селекции с .

,    (2.91)

,

,

,                                                      (2.92)

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

,                                                                                      (2.93)

,

,

,

,

,                            (2.94)

.

Очевидно, что

,                                         (2.95)

,

,

,

.

.

.

,                                                                                          (2.96)

где X9={ clients.name, clients.serial_pas, clients.number_pas, clients.name, clients.serial_pas, clients.number_pas, orders.order_execution, orders.orderid, employees.name, employees.surname, employees.patronomic, employees.serial_pas_e, employees.number_pas_e, product.marka_product, product.count, product.cost_one, supply.data_supply, supply.supplierid};

,                                                                                         (2.97)

где X10={ suppliers.name, suppliers.supplierid };

,                                                                               

где - операция селекции с .

,                                              (2.98)

Информация о работе База данных склад сотовых телефонов