Получение набора отношений методом декомпозиции




 

Цель: получить навыки определения функциональных зависимостей (ФЗ) между атрибутами и применения правил вывода для устранения избыточных ФЗ, а также проведения декомпозиции.

Краткие теоретические сведения

Функциональная зависимость (ФЗ) между атрибутами существует в случае, если каждому значению атрибута-детерминанта ФЗ в любой момент времени только одно значение атрибута-зависимостной части ФЗ.

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

Декомпозицией отношения называется разбиение отношения, не находящегося в нормальной форме Бойса-Кодда, на несколько. При этом для проведения декомпозиции выбирают ФЗ, которая является помехой нахождению отношения в НФБК, по правилу цепочки: определяют цепочку ФЗ вида A->B->C и выбирают правую часть - в данном случае В->С. Далее получают из первоначального отношения два - одно, полностью составленное из атрибутов выбранного для декомпозиции ФЗ (например, В и С), а другое включает в себя все атрибуты первоначального без зависимостной части выбранного ФЗ (например, С). Для полученных отношений проверяют их нахождение в НФБК и процесс, при необходимости, повторяют.

 

Ход работы

1. Ознакомьтесь с соответствующим лекционным материалом и краткими теоретическими сведениями.

2. Составьте из атрибутов, входящих во все отношения индивидуального задания к лабораторной работе №2, универсальное отношение и постройте для него диаграмму ФЗ для всех атрибутов.

3. Постройте по правилам вывода минимальное покрытие для диаграммы ФЗ.

4. Проверьте нахождение универсального отношения в НФБК, определите ФЗ для проведения декомпозиции по известным из лекционного материала методам.

5. Проведите декомпозицию с проверкой получаемых отношений на их нахождение в НФБК и проведением их декомпозиции (при необходимости).

6. Полученный набор отношений сравните с набором, предложенным в качестве индивидуального задания к лабораторной работе №2 и с полученным вами набором при выполнении лабораторной работы №4. Сделайте выводы о результатах декомпозиции.

Отчет по лабораторной работе №6 должен содержать тему работы, цель, ход выполнения работы (кратко), первоначальную диаграмму ФЗ, диаграмму минимального покрытия, диаграммы полученных в ходе декомпозиции отношений, схемы этих отношений.

 

 


Лабораторная работа №6

 

Построение запросов к базам данных

Цель работы: получить навыки построения запросов к системам баз данных средствами интерфейса MS Access и при помощи операторов языка SQL.

Краткие теоретические сведения

Статический запрос. Описывающий его SQL-оператор не изменяется в процессе выполнения приложения.

Динамический запрос. Описывающий его SQL-оператор частично изменяется в процессе выполнения приложения путем использования параметров, которые в качестве переменных могут быть использованы в основном тексте программы модуля.

Формируемый запрос. Описывающий его SQL-оператор создается в процессе выполнения приложения путем построчного заполнения свойства SQL.

Текст запроса с использованием оператора SELECT состоит из следующих составных частей:

SELECT <что выводится>

FROM <откуда (источник)>

WHERE <условие связи таблиц и /или условие отбора записей в выборку>

ORDER BY <порядок вывода данных>

GROUP BY <колонки, по которым выполняется группирование>

HAVING <условие группирования записей в одну строку>

 

Ход работы

1. Ознакомьтесь с соответствующим лекционным материалом и краткими теоретическими сведениями к данной работе.

2. Выполните запрос, указанный в индивидуальном задании, при помощи операций реляционной алгебры.

3. Составьте текст запроса при помощи операторов языка SQL как объект в MS Access. Выполните запрос к таблицам базы данных, созданным в качестве индивидуального задания к лабораторной работе №5. Проверьте соответствие свойств выборки, выполняемой вашим запросом, требованиям индивидуального задания.

4. Создайте приложение Visual Studio (C#, проект Window Forms) и выполните подключение к составленному в п.3 запросу при помощи компонента DataGridView. Организуйте просмотр результатов запроса в компоненте DataGridView.

5. Включите в отчет листинг процедуры, осуществляющей запуск запроса на выполнение, а также текст запроса на SQL.

 

Для защиты лабораторной работы необходимо:

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

- знание осуществляемых операторами программы действий;

- знание ответов на контрольные вопросы к данной работе.

 

Индивидуальное задание

Осуществите при помощи операторов языка SQL соединение таблиц и отбор записей, которые удовлетворяют следующим критериям (по вариантам) Создайте запросы и проверьте их работоспособность при помощи SQL Builder или в ACCESS.

 

Ва-ри-ант Содержание запросов
1. 1) содержат информацию о поставках определенного вида товаров предприятиями определенного типа собственности; 2) содержат информацию о предприятиях, участвовавших в поставках определенного вида продукции, с указанием количества таких операций для каждого предприятия; 3) содержат информацию об операциях, в которых участвовало определенное предприятие, и о стоимости участвовавших в каждой из этих операций товаров;
2. 1) содержат информацию о поставках продукции рейсами, совершаемыми в определенный промежуток времени и при помощи определенного транспортного средства; 2) содержат информацию обо всех транспортных средствах и рейсах, в которых они участвовали, пункт назначения которых входит в список из нескольких значений, а время отправления входит в указанный диапазон; 3) содержат информацию о транспортных средствах, участвовавших хотя бы в одной операции поставки, и о количестве операций, в которых они участвовали;
3. 1) содержат информацию о работниках, производящих определенный вид продукции на определенном типе оборудования; 2) содержат информацию об изделии с минимальной нормой времени на изготовление; 3) содержат информацию о работниках, чей разряд входит в указанный список значений, и о количестве произведенных этими работниками изделий;
4. 1) содержат информацию об объектах строительства, используемых в их постройке расходных материалах и организациях, осуществляющих постройку; 2) содержат информацию о видах организаций и количестве объектов, строящихся каждым видом организаций; 3) содержат информацию об объектах, виды работ на которых входят в указанный диапазон значений, и суммарной стоимости расходных по каждому такому объекту;
5. 1) содержат информацию об изделиях и входящих в них деталях; 2) содержат информацию о деталях, который входят в изделия при помощи указанного вида операции сборки и для которых норма времени на сборку больше указанного значения; 3) содержат информацию об изделиях и их весе, складывающемся из веса входящих в них деталей;
6. 1) содержат информацию об ответственных за оборудование, на котором был совершен брак в определенный день; 2) содержат информацию об оборудовании и об объемах брака, произведенного на нем в указанный период времени; 3) содержат информацию об ответственных, должность которых входит в указанный список, и об объемах произведенного им брака;
7. 1) содержат информацию о задачах, выполняемых на определенном типе оборудования; 2) содержат информацию о задачах и суммарной мощности оборудования, участвующего в решении каждой из них; 3) содержат информацию о задачах, выполняемых определенным подразделением-исполнителем в определенный период;
8. 1) содержат информацию о конкретном подразделении и программных средствах, которые находятся в подразделении на текущий момент; 2) содержат информацию о количестве программных средствах, которые имеются в каждом подразделении; 3) содержат информацию о количестве определенных видов программных средств;
9. 1) содержат информацию о документах, находящихся на определенном носителе в определенном месте хранения; 2) содержат информацию о видах носителей и общем количестве носителей по каждому виду; 3) содержат информацию о документах, имеющих место нахождения из определенного списка;
10. 1) содержат информацию о работниках и документах, которые находятся у них на руках; 2) содержат информацию о видах носителей, входящих в указанный список значений, и о количестве документов, которые располагаются на этих видах носителей; 3) содержат информацию о работниках, для которых количество выданных им документов выше среднего уровня;
11. 1) содержат информацию об объектах авторских прав, для которых выданы патенты, документах на охрану прав и владельцах этих прав; 2) содержат информацию о владельце авторских прав, у которого имеется максимальное число документов на охрану прав; 3) содержат информацию о документах на охрану прав, которые выданы для работников подразделений, входящих в указанный список значений;
12. 1) содержат информацию о работниках и о книгах, срок возврата которых был просрочен; 2) содержат информацию о работниках должностей, входящих в указанный перечень, и о количестве книг, находящихся на руках у каждого работника; 3) содержат информацию о книгах с техническим состоянием ниже указанного, и о работниках, у которых эти книги находились в указанный период;
13. 1) содержат информацию о работниках, об их выходах за пределы завода в указанный период времени и о документах для подтверждения выхода; 2) содержат информацию о работниках должностей, входящих в указанный перечень, и об общем времени нахождения их за пределами завода в указанный срок; 3) содержат информацию о работниках, просрочивших время нахождения за пределами предприятия, и датах соответствующих выходов;
14. 1) содержат информацию об основным средствах, подвергающихся определенному виду операций в конкретном подразделении; 2) содержат информацию о минимальной и максимальной стоимости основных средств по различным подразделениям, и о подразделениях; 3) содержат информацию о подразделениях, местонахождение которых входит в определенный список;
15. 1) содержат информацию о налогах, которые платит конкретный работник по заработной плате за различные трудозатраты; 2) содержат информацию о работниках и об объеме трудозатрат в единицах измерения, осуществленных каждым работником; 3) содержат информацию о трудозатратах, осуществленных в определенный период времени, и об осуществивших их работниках
16. 1) содержат информацию о видах ремонтов и ремонтных мероприятиях, которым подверглось конкретное оборудование; 2) содержат информацию об общем количестве времени простоя за определенный период по каждому оборудованию; 3) содержат информацию об оборудовании и всем видам ремонтов, которым оно подвергалось;
17. 1) содержат информацию об измеряемых характеристиках конкретного оборудования и приборах, при помощи которых эти измерения выполняются; 2) содержат информацию об оборудовании и суммарной потребляемой мощности приборов, которые на нем установлены; 3) содержат информацию о приборах, установленных в определенный период времени, и об оборудовании, на котором они установлены;
18. 1) содержат информацию о мероприятиях, выполненных конкретным ответственным, и результатах их проведения; 2) содержат информацию о мероприятиях со степенью важности, не ниже указанной, и о результатах их выполнения; 3) содержат информацию об ответственных и о средней оценке деятельности каждого по результатам выполнения мероприятий;
19. 1) содержат информацию об акционерах с местом жительства, входящим в указанный список, и акциях, которыми они владеют; 2) содержат информацию об акционерах с количеством детей выше указанного, и о размерах средств акционерного общества по акциям, которыми владеет каждый из таких акционеров; 3) содержат информацию о должностях акционеров и о количестве акций, которыми владеют в сумме группы акционеров с одинаковыми должностями;
20. 1) содержат информацию о работниках, занимавших конкретную должность, и датах их прихода-ухода с должности; 2) содержат информацию о должностях и занимавших их в указанный период работниках; 3) содержат информацию о работниках и количестве занимаемых ими должностей в указанный период;
21. 1) содержат информацию о работниках и учебных мероприятиях, в которых они приняли участие в указанный период; 2) содержат информацию о видах учебных мероприятий и о количестве работников, принявших в них участие в указанный период; 3) содержат информацию о работниках должностей, входящих в указанный список, участие которых в учебном мероприятии закончилось указанным результатом, и о соответствующих мероприятиях;
22. 1) содержат информацию об оборудовании, на котором обрабатывался определенный расходный материал, и заказах, на основании которых производилась обработка; 2) содержат информацию об оборудовании и общей его загрузке в часах по выполняемым заказам; 3) содержат информацию о заказах, выполненных на определенном оборудовании, и о стоимости расходных материалов по каждому из заказов;
23. 1) содержат информацию о рекламных мероприятиях и кампаниях, проводившихся в конкретном месте размещения; 2) содержат информацию о местах размещения с периодичностью, входящей в указанный список значений, в которых проводились мероприятия с объемом в единицах размещения не меньше указанного; 3) содержат информацию о рекламных компаниях, сгруппированных по ответственным, с указанием общего объема рекламных мероприятий для таких групп в единицах размещения;
24. 1) содержат информацию о складах, на которых хранится определенный вид продукции; 2) содержат информацию о продукции, у которой дата изготовления старше более чем на год даты поступления на хранение; 3) содержат информацию о складах и об общей стоимости хранимых на каждом из них продукции и товаров;
25. 1) содержат информацию о транспортных средствах, задействованных в рейсах, проводимых в определенный промежуток времени, и гаражах, в которых они содержатся; 2) содержат информацию о гаражах и о количестве единиц транспортных средств, которые располагаются в каждом из них; 3) содержат информацию о транспортных средствах, чье соотношение пробег/техническое состояние ниже среднего;
26. 1) содержат информацию о всех бюллетенях, выписанных конкретным врачом, и работниках, которым эти бюллетени были выписаны; 2) содержат информацию о работниках, у которых соотношение (количество посещений врача/число полученных бюллетеней) выше среднего; 3) содержат информацию о врачах и о общем сроке выписанных каждым врачом бюллетеней;
27. 1) содержат информацию о блюдах и входящих в них продуктах; 2) содержат информацию о блюдах, у которых соотношение калорийность/стоимость выше среднего; 3) содержат информацию о продуктах, у которых тип продукта входит в указанный список, и о количестве блюд, приготавливаемых из каждого такого продукта;
28. 1) содержат информацию о курортной зоне, на которой отдохнуло максимальное количество работников, и ее базах отдыха; 2) содержат информацию о базах отдыха, для которых вид транспорта входит в указанный диапазон, и на которых отдыхали хоть раз работники указанной должности; 3) содержат информацию о работниках и базах отдыха, на которых они отдохнули в указанный период;
29. 1) содержат информацию о работниках, получивших жилье в конкретном здании; 2) содержат информацию о среднем возрасте работников, получивших жилье в указанный период времени; 3) содержат информацию о зданиях и об общей жилплощади жилья в каждом здании, полученного работниками должности, входящей в указанный список значений;
30. 1) содержат информацию о мероприятиях, проведенных в конкретном месте проведения, и их участниках; 2) содержат информацию о мероприятиях, вид которых входит в указанный диапазон значений, и стоимости их проведения; 3) содержат информацию о участниках, стоимость выступления которых выше указанной, и количестве мероприятий, в которых за указанный период времени поучаствовал каждый из участников;

Примечание к индивидуальному заданию. Записи результирующей выборки должны быть упорядочены по 1-2 полям.

 

Контрольные вопросы

1. Виды и характеристики теоретических языков запросов к БД.

2. Реляционная алгебра и ее назначение. Что означает свойство замкнутости выражений реляционной алгебры?

3. Операции реляционной алгебры: разность, объединение, декартово произведение, проекция, селекция, пересечение, частное, соединение отношений и естественное соединение.

4. Сравнение языков исчисления и алгебраических языков (реляционной алгебры).

5. Дополнительные возможности языков манипулирования данными в реляционных СУБД по сравнению с теоретическими языками.

6. Язык SQL, его назначение, базовые операторы языка SQL.

7. Какие операции реляционной алгебры и при помощи каких опций выполняет оператор SELECT языка SQL?


Лабораторная работа №7

Подключение к отдельной таблице БД и работа с ней с использованием компонентов ADO.NET Теоретические сведения

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-09-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: