- •Межрегиональный открытый социальный институт
- •Содержание
- •Примечание! 108
- •2. Цели и задачи дисциплины, ее место в учебном процессе
- •1.1. Цели и задачи дисциплины
- •1.2. Место дисциплины в учебном процессе
- •1.3. Итоговый контроль знаний по курсу
- •3. Содержание дисциплины
- •План занятий
- •3. Содержание дисциплины
- •План занятий
- •Наименование и краткое содержание лекций
- •Тема 2. Администрация базы данных.
- •Тема 3. Взаимодействие компонентов системы Баз данных.
- •Тема 4. Классификация субд.
- •Тема 5. Модели данных.
- •Тема 6. Уровни моделирования предметной области.
- •Тема 7. Концептуальное проектирование баз данных
- •Тема 9. Требования к распределенным базам данных
- •Тема 10. Транзакции.
- •Конспект лекций
- •Тема 2. Администрация базы данных
- •Тема 3. Взаимодействие компонентов системы баз данных
- •Тема 4. Классификация субд
- •Тема 5. Модели данных
- •5.1. Основные понятия реляционной модели данных
- •5.2. Целостность реляционных данных
- •5.3. Операции над отношениями
- •5.4. Нормализация баз данных
- •Тема 6. Уровни моделирования предметной области
- •Тема 7. Концептуальное проектирование баз данных
- •7.1.Даталогическое проектирование
- •7.2. Физические модели
- •Тема 8. Case-средства разработки баз данных
- •8.1. Пример нотации er-модели – метод idef1x
- •Тема 9. Требования к распределенным базам данных
- •9.1. Базовые архитектуры распределенной обработки
- •Сервер бд
- •Тема 10. Транзакции
- •Тема 11. Проблема сжатия больших информационных массивов.
- •Тема 11. Фракталы и Фрактальные методы архивации
- •2. Математические основы фрактального сжатия
- •3. Типовая схема фрактального сжатия
- •Методические рекомендации для выполнения лабораторных работ
- •Создание таблицы в режиме таблицы и определение свойств для полей таблицы
- •Импорт таблиц. Работа с мастером подстановок
- •Создание связей между таблицами
- •Ввод и просмотр данных в режиме таблицы
- •Заполните таблицу Продажи товаров, рис. 5.11
- •Создание формы базы данных с помощью мастера
- •Работа с конструктором форм. Элементы управления
- •Создание подчиненной формы
- •Оформление формы
- •Создание простого запроса на выборку
- •Задание нескольких условий отбора в запросе
- •Создание вычисляемого поля в запросе
- •Групповые расчеты в запросе
- •Создание запроса на удаление
- •Создание запроса на обновление
- •Создание запроса на создание таблицы
- •Создание отчета базы данных с помощью мастера
- •Просмотр и печать отчета
- •Создание макроса
- •Тестовая база
- •Ответы:
- •Глоссарий
5.3. Операции над отношениями
В основе реляционной модели лежит понятие множества, как неупорядоченного набора уникальных значений. Основные особенности множества:
уникальность составляющих элементов,
ограниченность,
неупорядоченность.
Ограниченностьопределяет условием вхождения данных в заданное множество. Например, «все целые числа», или «все числа от минус 0,5 до плюс 0.5». В общем случае элементов множества может быть бесконечно много, но всегда есть способ понять – число 3,1415 к обоим множествам не относится.
Уникальностьпозволяет однозначно определить объект в базе данных. Уникальность позволяет не только искать и находить, но находить с гарантией, что эта находка будет единственной. Система поиска, таким образом, «строится» исходя из твердой уверенности, что данный объект – уникальный, правильно идентифицированный, и именно к нему относятся взятые в другом месте характеристики. Именно к этому речному переходу по каталогу, например, относятся данные промеров русла, а не к рекам со сходным названием вообще.
Неупорядоченность гарантирует, что при любом обращении операция обойдет все элементы в множестве (все объекты в базе данных).
Тип данных. Операции над множествами.
Типа данных задается таким свойством множеств как ограниченность. Для однотипныхэлементов появляется возможность сравнения. Над такими однотипными множествами возможны операции:объединение, пересечение, вычитание (дополнение), декартово произведение.
РМД стала первой работоспособной моделью данных, поскольку имела эффективный инструментарий – операции реляционной алгебры. Основной единицей обработки является отношение, а не его кортежи. К отношениям можно применить систему операций, позволяющих получить одни отношения из других. Исключение составляют операции создания и заполнения таблиц, а также операции описания и переименования столбцов. Результатом запроса к реляционной БД может быть новое отношение, вычисленное на основе имеющихся отношений.
Реляционная алгебра включает две группы операций.
1. Традиционные операции над множествами (модифицированные с учетом того, что их операндами являются отношения) – объединение, пересечение, разность (вычитание), декартово произведение и деление.
2. Специальные реляционные операции – выборка, проекция, соединение.
Объединениевыполняется над двумя совместными отношениямиR1,R2с идентичной структурой.В результате операции строится новое отношениеR =R1UR2, которое имеет тот же состав атрибутов и совокупность кортежей исходных отношений. В результирующее отношение по определению не включаются дубликаты кортежей. Ниже приведены исходные отношения:R1(табл. 2) иR2(табл. 3) и результат объединения –R(табл. 4).
Таблица 2.
ФИО |
Год рождения |
Должность |
Кафедра |
Иванов И.И. |
1948 |
Зав. кафедрой |
22 |
Сидоров С.С. |
1953 |
Доцент |
22 |
Козлов К.К. |
1980 |
Ассистент |
23 |
Таблица 3.
ФИО |
Год рождения |
Должность |
Кафедра |
Цветкова Н.Н. |
1965 |
Доцент |
23 |
Петрова П.П. |
1953 |
Ст. преподаватель |
22 |
Козлов К.К. |
1980 |
Ассистент |
23 |
Таблица 4.
ФИО |
Год рождения |
Должность |
Кафедра |
Иванов И.И. |
1948 |
Зав. кафедрой |
22 |
Сидоров С.С. |
1953 |
Доцент |
22 |
Козлов К.К. |
1980 |
Ассистент |
23 |
Цветкова Н.Н. |
1965 |
Доцент |
23 |
Петрова П.П. |
1953 |
Ст. преподаватель |
22 |
Пересечениевыполняется над двумя совместными отношениямиR1,R2.Результирующее отношениеRP=R1)R2содержит кортежи, которые есть в каждом из исходных. Результат имеет тот же состав атрибутов, что и исходные отношения. Пересечение отношенийR1иR2дает отношениеRP(табл. 5).
Таблица 5.
ФИО |
Год рождения |
Должность |
Кафедра |
Козлов К.К. |
1980 |
Ассистент |
23 |
Вычитаниевыполняется над двумя совместными отношениямиR1,R2.В результате строится новое отношениеRV=R1-R2с идентичным набором атрибутов, содержащее кортежи первого отношенияR1, которые не входят в отношениеR2.Вычитание отношенияR2изR1дает отношениеRV(табл. 6).
Таблица 6.
ФИО |
Год рождения |
Должность |
Кафедра |
Иванов И.И. |
1948 |
Зав. кафедрой |
22 |
Сидоров С.С. |
1953 |
Доцент |
22 |
ДЕКАРТОВО ПРОИЗВЕДЕНИЕ МНОЖЕСТВ [Cartesian product] — множество А × В всех упорядоченных пар элементов (a, b), из которых a принадлежит множеству A, b — множеству B.
Соединения - это подмножества декартова произведения. Так как декартово произведение n таблиц - это таблица, содержащая все возможные строки r, такие, что r является сцеплением какой-либо строки из первой таблицы, строки из второй таблицы, ... и строки из n-й таблицы
Декартово произведениевыполняется над двумя отношениямиR1иR2,имеющими в общем случае разный состав атрибутов. В результате образуется новое отношениеRD=R1xR2,которое включает все атрибуты исходных отношений. Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений.Число кортежей (мощность) отношения-произведения равно произведению мощностей исходных отношений.
Декартово произведение отношений R1(табл. 7) иR2(табл. 8) дает новое отношениеRD(табл. 9), которое содержит все атрибуты исходных отношений. В него целесообразно добавить атрибутОценкадля записи результатов экзамена.
Таблица 7.
Код дисциплины |
Наименование |
Д1 |
Математика |
Д2 |
Информатика |
Таблица 8.
Номер студента |
ФИО студента |
11 |
Иванов И.И. |
12 |
Петров П.П. |
13 |
Сидоров С.С. |
Таблица 9.
Номер студента |
ФИО студента |
Код дисциплины |
Наименование |
11 |
Иванов И.И. |
Д1 |
Математика |
12 |
Петров П.П. |
Д1 |
Математика |
13 |
Сидоров С.С. |
Д1 |
Математика |
11 |
Иванов И.И. |
Д2 |
Информатика |
12 |
Петров П.П. |
Д2 |
Информатика |
13 |
Сидоров С.С. |
Д2 |
Информатика |
Делениевыполняется над двумя отношениямиR1иR2,имеющими в общем случае разные структуры и часть одинаковых атрибутов. В результате образуется новое отношение, содержащее атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1-го.
Например, чтобы узнать, кто из студентов получил по математике 5 и по информатике 4, надо разделить отношения Экзаменационная ведомостьна вспомогательное отношениеМат5Физ4 (Наименование, Оценка)с двумя кортежами:Математика, 5иИнформатика, 4. В результате получим отношениеИтог (Номер студента, ФИО студента, Код дисциплины)с одним кортежем –13, Сидоров, Д1.
Выборкавыполняется над одним отношениемR.Для отношения по заданному условию (предикату) осуществляется выборка подмножества кортежей. Результирующее отношение имеет ту же структуру, что и исходное, но число его кортежей будет меньше (или равно) числа кортежей исходного отношения. Например, выбрать студентов, сдавших математику на отлично(Код дисциплины = Д1)AND(Оценка = 5)(табл. 10).
Таблица 10.
Номер студента |
ФИО студента |
Код дисциплины |
Наименование |
11 |
Иванов И.И. |
Д1 |
Математика |
13 |
Сидоров С.С. |
Д1 |
Математика |
Проекциявыполняется над одним отношениемR.Операция формирует новое отношениеRPRс заданным подмножеством атрибутов исходного отношенияR.Оно может содержать меньше кортежей, так как после отбрасывания в исходном отношенииRчасти атрибутов (и возможного исключения первичного ключа) могут образоваться кортежи-дубли, которые из результирующего отношения исключаются по определению.
Ниже приведен пример исходного отношения R(табл. 11) и результат проекции этого отношения на два его атрибута- ДолжностьиНомер отдела(табл. 12).
Таблица 11.
ФИО |
Номер отдела |
Должность |
Иванов И.И. |
01 |
Инженер |
Петров П.П. |
02 |
Инженер |
Нестеров Н.Н. |
01 |
Инженер |
Таблица 12.
Номер отдела |
Должность |
01 |
Инженер |
02 |
Инженер |
03 |
Лаборант |
Соединениевыполняется для заданного условия соединения над двумя логически связанными отношениями. Исходные отношенияR1иR2имеют разные структуры, в которых есть одинаковые атрибуты – внешние ключи. Операция соединения формирует новое отношение, структура которого является совокупностью всех атрибутов исходных отношений. Результирующие кортежи формируются соединением каждого кортежа изR1с теми кортежамиR2,для которых выполняется условие соединения. В зависимости от этого условия соединение называется:естественным –равенство значений общих атрибутов отношенийR1иR2;эквисоединением –равенство значений атрибутов, входящих в условие соединения;тета-соединением –другой знак сравнения.
Операция соединения имеет большое значение для РБД, так как в процессе нормализации отношений исходное отношение разбивается на несколько более мелких отношений, которые при выполнении запросов пользователя требуется, как правило, вновь соединять для восстановления исходного отношения.
Рассмотренные выше операции в той или иной мере реализуются в языке манипулирования данными СУБД (SQL, QBE, другие языки запросов). Язык SQL является более чем реляционно-полным, так как кроме операций реляционной алгебры содержит полный набор операторов над кортежами – Включить, Удалить, Изменить,а также реализует арифметические операции и операции сравнения.
К достоинствам РМД относятся:
простота представления данных благодаря табличной форме;
минимальная избыточность данных при нормализации отношений;
обеспечение независимости приложений пользователя от данных, допускающей включение или удаление отношений, изменение их атрибутного состава;
К недостаткам РМД можно отнести то, что нормализация данных приводит к значительной их фрагментации, в то время как в большинстве задач необходимо объединение фрагментированных данных.