Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_po_teorii_EIS.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
751.62 Кб
Скачать

Задание

В соответствии с вариантами необходимо создать СЕИ и выполнить предложенные задания. Кроме того, необходимо произвести включение, исключение записей, а также корректировку какого-либо значения записи.

Пусть

А = ПРИХ(2).(ДАТА, ПОСТ, СКЛАД,

ТАБЛ(3).(ННМ, КВО-ДОК, КВО-ПР,ЦЕНА, СУММА)),

B = ПРИХ(6).(ДАТА, ПОСТ, СКЛАД, ННМ,

КВО-ДОК, КВО-ПР, ЦЕНА, СУММА),

C = КАРТ(3).(СКЛАД, ННМ, ЦЕНА,

ТАБЛ(3).(ПОСТ, ДАТА, КВО-ДОК, КВО-ПР, СУММА)),

D = {ПРИХ1 (6). (ДАТА, ПОСТ, СКЛАД, ННМ,

КВО-ДОК, КВО-ПР, СУММА) и

ЦЕНЫ(3).(ННМ, ЦЕНА)}.

  1. Нормализовать ПРИХОДНЫЙ ОРДЕР от A к B.

  2. Произвести свертку от B к A.

  3. Произвести свертку от B к C.

  4. Произвести декомпозицию от B к D.

  5. Произвести композицию от D к B.

  6. Произвести выборку в СЕИ A и B по условию

ННМ = 21110.

  1. Произвести выборку в СЕИ A и B по условию

КВО-ДОК > КВО-ПР.

  1. Произвести выборку в СЕИ C и D по условию

ЦЕНА > 50.

Пусть

A = ЛИЧНОСТЬ(5).(ФАКУЛЬТЕТ, КУРС, ГРУППА,

СТУДЕНТ(15).(ФАМ, ИМЯ, ОТЧ)),

B = ЛИЧНОСТЬ(75).(ФАКУЛЬТЕТ, КУРС, ГРУППА,

ФАМ, ИМЯ, ОТЧ).

  1. Нормализовать СЕИ от A к B.

  2. Произвести свертку от B к A.

  3. Произвести свертку нормализованной СЕИ по факультетам.

  4. Произвести свертку нормализованной СЕИ по группам.

  5. Произвести свертку нормализованной СЕИ по курсам.

  6. Произвести выборку в СЕИ A по условию

ФАМ = (ИВАНОВ или СИДОРОВ).

  1. Определить из СЕИ A, на каком факультете и в какой группе учатся одновременно СТУДЕНТЫ ОРЛОВ и СЕМЕНОВ.

  2. Произвести кодировку студентов по ФАКУЛЬТЕТУ, КУРСУ, ГРУППЕ, ФАМИЛИИ.

  3. Произвести кодировку рабочего по ЗАВОДУ, ЦЕХУ, БРИГАДЕ, ФАМИЛИИ.

Дано отношение:

ПРОИЗВОДСТВО

ЗАВОД

ПРОДУКЦИЯ

ПЛАН

ФАКТ

ДИНАМО

ДИНАМО

АТЭ-1

АТЭ-1

САЛЮТ

САЛЮТ

ЛУЧ

ЧАЙКА

ЭДВ-12

ЗВИ

ЭДВ-12

ЭДВ-30

ОКА-3

ОКА-5

Ч-45

Ч-12

120

200

80

150

100

170

135

200

140

200

170

100

66

230

100

333

  1. Произвести выборку по условию

ЗАВОД = ЛУЧ или САЛЮТ.

  1. Произвести выборку по условию

ПРОДУКЦИЯ = ЭДВ-12 или ЭДВ-30.

  1. Определить на каких предприятиях ФАКТ > ПЛАН.

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

РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

Цель работы

Ознакомление с реляционной и ациклической реляционной моделями данных. Приобретение навыков построения моделей данных, изучение различных методов доступа к данным.

Методические указания

  1. Реляционная модель данных

Определение модели данных предусматривает указание множества допустимых информационных конструкций, множества допустимых операций и множества ограничений для хранимых значений данных.

При разработке баз данных используются реляционная, сетевая и иерархическая модели данных. При этом реляционная модель данных является наиболее распространенной.

Реляционная модель данных характеризуется следующими компонентами:

  • информационная конструкция – отношение с двухуровневой структурой;

  • допустимые операции – проекция, выборка, соединение и некоторые другие;

  • ограничения – функциональные зависимости между атрибутами отношения.

Реляционная база данных представляет собой множество отношений, а ее схема содержит следующие компоненты:

где – множество имен атрибутов,

– множество имен отношений,

– вхождение атрибутов в домены – области определения,

– вхождение атрибутов в отношения (описание структуры отношений),

– множество ограничений в базе данных (в том числе функциональных зависимостей).

Данные в реляционной модели представляются в виде таблицы, при этом:

  • название таблицы и перечень названий граф соответствует схеме отношения;

  • каждое значение отношения соответствует строке таблицы;

  • все строки таблицы различны;

  • порядок строк и столбцов произвольный.

Описание процессов обработки отношений может быть выполнено двумя способами:

  • указание перечня операций, выполнение которых приводит к требуемому результату (процедурный подход);

  • описание свойств, которым должно удовлетворять результирующее отношение (декларативный подход).

Приводимые далее операции над отношениями ориентированы на процедурное описание алгоритмов обработки данных.

Система отношений и операций над ними образуют реляционную алгебру. Для реляционной модели данных определены следующие операции.

1. Проекция – операция, которая переносит в результирующее отношение те столбцы исходного отношения, которые указаны в условии операции. Алгебраическая запись проекции имеет вид:

,

где – исходное отношение;

– результирующее отношение;

– список атрибутов в структуре отношения (условие проекции).

2. Выборка – операция, которая переносит в результирующее отношение те строки исходного отношения, которые удовлетворяют условию выборки. Алгебраическая запись выборки имеет вид:

,

где – исходное отношение;

– результирующее отношение;

– условие выборки.

Условие выборки может иметь вид:

ИМЯ_АТРИБУТА <знак сравнения> ЗНАЧЕНИЕ (например, ЦЕНА > 30);

ИМЯ_АТРИБУТА1 <знак сравнения> ИМЯ_АТРИБУТА2 (например, ФАКТ> ПЛАН).

Допустимые знаки сравнения: "=", "<>", ">", "<", "≤", "≥".

3. Объединение содержит строки, присутствующие либо в отношении , либо в .

4. Пересечение содержит строки, присутствующие в отношениях и одновременно.

5. Вычитание содержит те строки из , которые отсутствуют в .

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

Алгебраическая запись имеет вид:

,

где – исходные отношения,

– результирующее отношение,

– условие соединения.

Условие соединения имеет вид:

ИМЯ_АТРИБУТА1 <знак сравнения> ИМЯ_АТРИБУТА2, где имена атрибутов находятся в разных отношениях.

7. Натуральное соединение - это соединение, для которого:

знаком сравнения в условии соединения является "=",

ИМЯ_АТРИБУТА1 и ИМЯ_АТРИБУТА2 должны совпадать и содержать пересечение списков атрибутов исходных отношений.

Обозначение натурального соединения не содержит условия соединения и имеет вид:

.

При этом, в отличие от простого соединения, в результирующем отношении, полученном с помощью натурального соединения, графы таблицы не будут повторяться. Количество строк в результирующем отношении равно произведению от количества строк, удовлетворяющих условию соединения в двух исходных отношениях.

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

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

где – знак операции "образ",

– значение, образ которого вычисляется,

– имя атрибута для значения .

9. Деление. Результатом операции деления является отношение , содержащее пересечение образов всех строк отношения-делителя , вычисленных на основе отношения-делимого :

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

Ниже рассмотрены примеры выполнения перечисленных выше операций.

Пусть даны два отношения и :

Завод

Продукция

План

Факт

Луч

Ч-15

200

210

Луч

Ч-17

100

100

Чайка

Ч-15

50

150

Чайка

Ч-20

100

80

Продукция

Цена

Комплектующие

Ч-15

70

БАТ

Ч-15

70

РК

Ч-20

85

БАТ

Ч-20

85

РК

Ч-17

80

РК

На основе отношения может быть получена проекция:

:

Завод

Продукция

Факт

Луч

Ч-15

210

Луч

Ч-17

100

Чайка

Ч-15

150

Чайка

Ч-20

80

Так как порядок столбцов в результирующем отношении может быть произвольным, то возможно выполнение проекции вида: .

На основе отношения может быть получена проекция, представляющая собой справочник цен на продукцию:

:

Продукция

Цена

Ч-15

70

Ч-20

85

Ч-17

80

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

Отношение с заданной структурой может быть получено из различных отношений исходной базы данных. Однако результаты проекций могут не совпадать между собой.

Пусть, например, требуется сформировать список отделов некоторого учреждения, используя базу данных, в которой имеются отношения:

Служащий(Фамилия, Отдел,…)

и

Технолог(Фамилия, Отдел,…).

Проекции Служащий[Отдел] и Технолог[Отдел], вообще говоря, не будут совпадать между собой, так как в некоторых отделах может не быть технолога. Поэтому для поучения корректного списка всех отделов проекция должна выполняться с использованием отношения Служащий[Отдел], которое содержит в себе больший объем информации.

На основе отношения с помощью операции выборки могут быть получены следующие отношения:

и

:

Завод

Продукция

План

Факт

Луч

Ч-15

200

210

Чайка

Ч-15

50

150

Завод

Продукция

План

Факт

Луч

Ч-15

200

210

Луч

Ч-17

100

100

Чайка

Ч-15

50

150

Пусть дано отношение :

Продукция

Цена

Ч-25

50

Ч-26

35

Тогда при объединении отношений и можно получить расширенный справочник цен на продукцию:

:

Продукция

Цена

Ч-15

70

Ч-20

85

Ч-17

80

Ч-25

50

Ч-26

35

Обычное соединение отношений и в виде:

дает некорректные результаты соединения, так как столбец ПРОДУКЦИЯ повторяется в отношении дважды:

Завод

Продукция

План

Факт

Продукция

Цена

Луч

Ч-15

200

210

Ч-15

70

Луч

Ч-17

100

100

Ч-17

80

Чайка

Ч-15

50

150

Ч-15

70

Чайка

Ч-20

100

80

Ч-20

85

Натуральное соединение по условию равенства атрибутов «Продукция» в отношениях и дает корректные результаты:

Завод

Продукция

План

Факт

Цена

Луч

Ч-15

200

210

70

Луч

Ч-17

100

100

80

Чайка

Ч-15

50

150

70

Чайка

Ч-20

100

80

85

Пусть отношение содержит информацию о студентах, владеющих теми или иными языками программирования:

Фамилия

Язык программирования

Горюшкин

Си

Горюшкин

Java

Горюшкин

Паскаль

Мальцев

Си

Мальцев

Паскаль

Пыленок

Си

Пыленок

Java

Селиверсткин

VBA

Селиверсткин

Паскаль

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

;

;

.

Таким образом, одновременно знают языки программирования Си и Java только два студента: Горюшкин и Пыленок.

Следует отметить, что операция выборки для решения данной задачи неприменима, поскольку выборка выполняется только по какому-либо одному атрибуту при построчном анализе отношения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]