Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операции над отношениями реляционных БДСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Для манипулирования отношениями используют операции реляционной алгебры. Эти операции - мощное средство выделения необходимых данных из большой совокупности разнородной информации. Отношения реляционной алгебры - это множества, поэтому средства работы с отношениями базируются на традиционных операциях теории множеств, которые дополняются некоторыми специальными операциями, специфичными для баз данных. Чаще всего выделяют следующие операции реляционной алгебры: 1) объединение отношений; 2) пересечение отношений; 3) разность отношений; 4) произведение отношений; 5) деление отношений; 6) ограничение отношения; 7) проекция отношения; 8) соединение отношений. Кроме перечисленных выше, в СУБД, как правило, реализуются также операция присваивания, позволяющая сохранять в базе данных результаты обработки, и операция переименования атрибутов. Не вдаваясь в детали, операции реляционной алгебры могут быть описаны следующим образом. 1) Операция объединения двух отношений позволяет создать отношение, включающее все строки отношений-операндов. Отношения-операнды должны иметь одинаковый набор атрибутов. 2) Результат операции пересечения отношений - отношение, содержащее строки, которые входят одновременно в оба отношения-операнда. Отношения-операнды должны иметь одинаковый набор атрибутов. 3) Разность отношений используется для выделения строк, которые входят в первое отношение-операнд и не входят во второе. Операнды должны иметь одинаковый набор атрибутов. 4) При выполнении произведения двух отношений каждая строка первого отношения-операнда сцепляется (конкатенируется) с каждой строкой второго отношения-операнда. Сцепленные строки образуют отношение-результат. Число строк в отношении-результате равно произведению числа строк в отношениях-операндах. Множества атрибутов отношений-операндов не должны пересекаться. 5) Операция деления «обратна» операции умножения. 6) Операция ограничения (выбора) отношения по некоторому условию позволяет выбрать те строки отношения-операнда, которые этому условию удовлетворяют. 7) Операция проекции позволяет выбрать из отношения-операнда определенные столбцы. 8) Операция соединения - одна из наиболее важных операций реляционной алгебры. Она имеет большое практическое значение. Существует 2 типа операций соединения: операция соединения по условию и операция естественного соединения. При выполнении операции соединения по условию двух отношений происходит конкатенация строк отношений-операндов, затем полученная сцепленная строка проверяется на соответствие заданному условию. Если строка удовлетворяет условию, она включается в отношение-результат. Если отношения-операнды обладают общим атрибутом (возможно, составным), то условие соединения может быть опущено, при этом подразумевается, что сравнение производится на равенство значений общих атрибутов. В этом случае говорят о естественном соединении отношений. 9) Операция переименования изменяет имена атрибутов отношения. 10) Операция присваивания позволяет сохранить результат вычисления реляционного выражения в отношении базы данных. Строгое определение операций реляционной алгебры можно найти в литературе, посвященной теории баз данных. Пользователи, как правило, имеют дело с этими операциями в виде конструкций языков программирования, например, языка SQL-запросов.
Нормализация отношений
При проектировании базы данных стараются, чтобы отображение объектов предметной области в структуры модели данных не противоречило семантике предметной области. Оно должно быть эффективным, то есть должно обеспечивать минимальное дублирование данных, удобство их обработки и обновления. Для удовлетворения этих требований необходимо определить, из каких отношений должна состоять БД и какие атрибуты должны входить в эти отношения. Теория реляционных баз данных обладает мощным инструментом, который способен помочь разработчику оптимальным образом спроектировать структуру отношений базы данных. Этот инструмент - метод нормализации отношений. Нормализация отношений - пошаговый процесс разложения (декомпозиции) исходных отношений БД на более простые. Каждая ступень этого процесса приводит схему отношений БД в последовательные «нормальные формы». Каждая следующая нормальная форма обладает «лучшими» свойствами, чем предыдущая. В теории реляционных баз данных принято выделять следующую последовательность нормальных форм: 1) первая нормальная форма (1NF); 2) вторая нормальная форма (2NF); 3) третья нормальная форма (3NF); 4) нормальная форма Бойса-Кодда (BCNF); 5) четвертая нормальная форма (4NF); 6) пятая нормальная форма (5NF). Каждой нормальной форме соответствует некоторый набор ограничений. Отношение находится в определенной нормальной форме, если оно удовлетворяет набору ограничений этой формы. Переводя структуру отношений БД в формы более высокого порядка, мы добиваемся удаления из таблиц избыточной неключевой информации. Процесс нормализации основан на понятии функциональной зависимости атрибутов. Говорят, что атрибут В функционально зависит от атрибута А, если в любой момент времени каждому значению атрибута А соответствует не более одного значения атрибута В. Термин «функциональная зависимость» соответствует понятию функции в математике. Если неключевой атрибут зависит от всего составного ключа и не зависит от его частей, то говорят о полной функциональной зависимости атрибута от составного ключа. Если атрибут А зависит от атрибута В, а В зависит от атрибута С, но обратная зависимость отсутствует, то говорят, что атрибут С зависит от А транзитивно. Отношение находится в первой нормальной форме (1NF), если значения атрибутов атомарны, то есть в каждом столбце находится только одно значение, и все неключевые атрибуты функционально зависят от ключа. Отношение находится во второй (2NF) нормальной форме, если выполняются ограничения первой нормальной (1NF) формы, и каждый неключевой атрибут функционально полно зависит от первичного ключа (первичный ключ может быть составным). Отношение находится в третьей нормальной форме (3NF), если выполняются ограничения второй нормальной формы (2NF), и если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа. Можно дать и другое определение. Отношение находится в третьей нормальной форме (3NF), если выполняются ограничения второй нормальной формы (2NF), и в нем отсутствуют транзитивные зависимости неключевых атрибутов от ключа. В большинстве случаев третья нормальная форма служит компромиссом между полной нормализацией и функциональностью в совокупности с легкостью реализации. Как было отмечено выше, существуют нормальные формы, выше третьей (3NF), но на практике они затрудняют разработку структур данных и снижают их функциональность. Рассмотрим пример приведения отношения к третьей нормальной форме. Пусть небольшой фирме, занимающейся продажей комплектующих для компьютеров, требуется сохранять данные о заказах. Эти данные включают: 1) дату заказа; 2) номер заказа; 3) артикул (уникальный номер единицы товара); 4) наименование товара; 5) цену заказанного товара. Нам необходимо нормализовать приведенную ниже таблицу. Заметим, что она уже находится в 1NF, так как все ее атрибуты атомарны. В СУБД дата - неделимый тип данных, поэтому, хотя дата заказа и состоит из 3 чисел, это - атомарный атрибут.
В одном заказе может оказаться несколько одинаковых наименований товара, например, можно заказать два одинаковых процессора, поэтому составной атрибут «Дата-НомерЗаказа-Артикул» не может быть первичным ключом. Для того чтобы выполнить требования второй нормальной формы, надо добавить к таблице атрибут, который бы однозначно идентифицировал каждую единицу товара, входящую в заказ. Назовем такой атрибут «ID». Вот приведенное выше отношение в 2NF.
В этой таблице все атрибуты зависят от атрибута ID, но, кроме того, есть зависимость «Наименования» и «Цены» от «Артикула». Требование независимости атрибутов отношения не выполняются (3NF). Для приведения отношения в третью нормальную форму таблицу требуется разбить на три отношения. Нормализация отношений – не пустая трата времени. Пусть в приведенном примере требуется изменить «Наименование» с «DIMM 32 Mb» на «DIMM 32 Mb SDRAM». В ненормализованном отношении пришлось бы искать и редактировать все строки, содержащие это наименование, а в нормализованной БД изменяется только одна строка одного отношения. Подробнее с процессом нормализации и с требованиями нормальных форм старше третьей (3NF) можно ознакомиться в литературе по теории реляционных БД.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-10; просмотров: 1057; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.79.165 (0.012 с.) |