Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие(А4).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.19 Mб
Скачать

7.6.4 Основные операции над данными

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

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

Операция проекции позволяет получить «вертикальное подмножество» отношения (подмножество столбцов). Она применяется для того, чтобы исключить из обработки атрибуты отношений, значения которых не требуются при формировании ответов на запросы. Благодаря операции проекции уменьшается объем промежуточных данных и соответственно время вычисления результатов.

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

Например, если требуется отношение Х1, содержащее сведения только о должностях (таблица 7.1), то оно получается в результате выполнения проекции X1 = W1[ФАМИЛИЯ, ДОЛЖНОСТЬ]. Столбцы результирующего отношения могут указываться в любом порядке. Для поиска данных по ключу отдельные атрибуты объявляются в качестве возможных ключей, один из которых назначается первичным.

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

В качестве примера получим значение выборки:

X2 = W1[ДОЛЖНОСТЬ = «экономист»].

Операции объединения, пересечения и вычитания производятся над двумя исходными отношениями с одинаковой структурой. Обозначим исходные отношения R1 и R2, а результирующее — T. Объединение, пересечение и вычитание — бинарные операции, они выполняются над двумя отношениями — синонимами.

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

Пересечение T = R1  R2 содержит строки, присутствующие в отношениях R1 и R2 одновременно.

Вычитание T = R1 \ R2 содержит те строки из R1, которые отсутствуют в R2.

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

7.6.5 Нормализация отношений в рмд

Одним из основополагающих принципов проектирования модели данных является ее нормализация — т.е. приведение модели данных к нормальной форме. Это позволяет устранить избыточность хранимой информации. Степень нормализации может быть различной. Результатом нормализации является легко поддерживаемая модель данных, не содержащая неопределенностей и повторения данных. Например, в Microsoft Access существует средство автоматической нормализации схемы данных — Мастер анализа таблиц.

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

  • корректировка отношений не должна приводить к двусмысленности или потере информации;

  • перестройка набора отношений при введении новых типов данных должна быть минимальной.

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

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

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

В настоящее время используются четыре нормальные формы и четыре этапа нормализации: приведение к первой (1НФ), второй (2НФ), третьей (ЗНФ) и четвертой (4НФ) нормальным формам [1]. Отношение считается нормализованным, если оно находится в одной из этих форм. На каждую из форм распространяется принцип вложенности по возрастанию номера формы: если отношение находится в форме с номером п (например, в 3НФ), то оно находится и в форме с номером п – 1 (т.е. в 2НФ). Обязательным условием для работы с РМД является нахождение всех отношений в 1НФ.

Отношение в первой нормальной форме — это обычное отношение с двухуровневой структурой. Первая нормальная форма отношения (сокращенно 1НФ) определяется условием — среди значений атрибутов не должно быть кортежей. Если предполагается для обработки извлекать только часть атрибута (например, из даты только год), то отношение, содержащее такой атрибут, не находится в 1НФ.

Отношение находится в 1НФ, если значения всех его атрибутов атомарны. Одним из способов приведения отношения к 1НФ является декомпозиция (разложение) его на два или более новых отношений, в совокупности эквивалентных исходному и отвечающих требованиям, предъявляемым к РМД.

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

Отношение R находится во второй нормальной форме (2НФ), если оно находится в 1НФ и каждый неосновной атрибут функционально полно зависит от каждого вероятного ключа. Если вероятный ключ одноатрибутный, то условия 2НФ соблюдаются автоматически. Отсюда, например, следует, что бинарное отношение всегда находится в 2НФ.

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

Вероятных ключей в отношении может быть несколько.

Рассмотрим в качестве примера отношение АВС (имена и значения атрибутов — условные):

АВС

ZEN

RAM

AST

SPIM

BIG

31

dwa

wii

73

ЗВ

21

bun

cup

40

3D

30

mun

lam

58

4D

31

sab

wii

40

30

sab

irt

38

Можно утверждать, что вероятным ключом отношения АВС является атрибут ZEN (значения в столбце ZEN не повторяются). Кроме того, еще один вероятный ключ представлен парой атрибутов RAM, AST.

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

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

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

Первичным ключом отношения называется такой вероятный ключ, по значениям которого производится контроль достоверности информации в отношении.

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

Каждое значение первичного ключа встречается только в одной строке отношения. Значение любого атрибута в этой строке тоже единственное.

Если через К обозначить атрибуты первичного ключа в отношении R(A,B,C,...,J), то справедливы следующие функциональные зависимости К  А, К  В, К  С, ..., К  J. Набор атрибутов первичного ключа функционально определяет любой атрибут отношения. Обратное также верно: если найдена группа атрибутов, которая функционально определяет все атрибуты отношения по отдельности, и эту группу нельзя сократить, то найден первичный ключ отношения.

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

Преимущества реляционной модели данных:

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

  • простота изменения данных и организации разграничения доступа к ним. В реляционной модели всего одна информационная конструкция, которая формализует табличное наглядное представление данных, привычное для пользователей-экономистов;

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

  • независимость данных проявляется при изменении структуры реляционной БД, которая приводит к минимальным изменениям в прикладных программах.

Среди недостатков реляционной модели данных необходимо назвать следующие:

  • низкая скорость при выполнении операции соединения;

  • большой расход памяти для представления реляционной БД. Хотя проектирование в ЗНФ рассчитано на минимальную избыточность (каждый факт представляется в БД один раз), другие модели данных обеспечивают меньший расход памяти для представления тех же фактов. Например, длина адреса связи обычно намного меньше, чем длина значения атрибута.

Однако указанные недостатки можно предусмотреть и устранить, в то время как в ИМД и СМД отдельные недостатки устранить весьма сложно либо даже невозможно.

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

Подавляющее большинство СУБД, ориентированных на персональные ЭВМ, являются системами, построенными на основе реляционной модели данных, так называемыми «реляционными» СУБД.

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

  1. Что такое модель данных?

  2. Что такое база данных и что она должна отражать?

  3. Что осуществляется на этапе инфологического (информационно-логического) проектирования БД?

  4. Что представляет собой семантическая модель?

  5. Что является главной особенностью сущности?

  6. Что определяет связь «один к одному», «один ко многим»?

  7. Что называется ключом?

  8. Что такое элемент данных, агрегат данных, запись, набор данных?

  9. Что такое ограничения целостности данных?

  10. На чем основана иерархическая модель данных?

  11. Что служит основной единицей обмена в иерархической модели данных?

  12. Что необходимо для определения иерархической модели базы данных?

  13. Что называется записью иерархической базы данных?

  14. Допустимость только навигационного принципа доступа к данным — это недостаток или достоинство ИМД?

  15. Что положено в основу сетевой модели данных?

  16. Что называется веерным отношением W(R,S)?

  17. Какие ключи различают в сетевой БД?

  18. Что положено в основу реляционной модели данных?

  19. Как называются строка и столбец таблицы в РМД? Что такое домен?

  20. Чему присваиваются имена в РМД?

  21. В отношениях РМД каков порядок следования кортежей и атрибутов?

  22. Какая операция называется проекцией и выборкой в РМД?

  23. Чем отличаются операции пересечения и объединения в отношениях РМД?

  24. Что называется нормальной формой и нормализацией отношений РМД?

  25. Какое отношение находится в 1НФ?

  26. На что ориентированы применяемые ограничения в РМД?

  27. Какое отношение называется вероятным ключом в РМД?

  28. Какое отношение называется первичным ключом в РМД?

  29. Что является обязательным условием для работы с РМД?

  30. Какое отношение считается нормализованным?

  31. Что является недостатком РМД?