Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Основы реляционной алгебрыПоскольку каждая таблица в реляционной БД является отношением, действия над ними базируются на операциях реляционной алгебры. Исключение составляют лишь операции создания и заполнения таблиц данными (присваивания), а также операции описания и переименования столбцов таблицы. В теории реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы — атрибутами. Над отношениями выполняются традиционные операции теории множеств. Ограничение отношения (выборка) создание нового от ношения отбором в него строк отношения-операнда (исходного отношения), которые удовлетворяют условию ограничения. Проекция отношения — создание нового отношения отбором в него определенных столбцов отношения—операнда. Объединение отношений — создание нового отношения, со держащего все кортежи отношений-операндов. При этом операнды должны иметь одинаковые атрибуты. Пример. Объединить поступающие из цехов отчеты о выпуске но вой продукции за прошедший месяц, содержащие следующие данные: номер цеха, код продукции, дату выпуска и количество выпущенной продукции, с данными общей таблицы ВЫПУСК ПРОДУКЦИИ, имеющей ту же структуру. Для этого к кортежам ВЫПУСК ПРОДУКЦИИ (Номер цеха, Код продукции, Дата выпуска, Количество) добавляют кортежи НОВАЯ ПРОДУКЦИЯ (Номер цеха, Код продукции, Дата выпуска, Количество). Поскольку атрибуты приведенных операндов совпадают, таблица НОВАЯ ПРОДУКЦИЯ объединяется с исходной. Пересечение отношений — создание нового отношения, содержащего строки, общие для сравниваемых операндов. При этом операнды должны иметь одинаковые атрибуты. Пример. Рассмотрим пересечение отношений с выполнением операций ограничения и проекции. Для экзаменационных ведомостей нужной группы сначала выполним ограничение исходных отношений, отобрав из каждого из них в новое отношение кортежи, удовлетворяющие следующему условию: Оценка = Отлично. В результате получим списки отличников группы по дисциплинам. Теперь выполним проекцию полученных отношений, отобрав из каждого из них только атрибуты Номер зачетной книжки и ФИО студента. Получим новые списки отличников, в которых остались только номера зачетных книжек и фамилии студентов. Таким образом, получим искомое отношение — СПИСОК ОТЛИЧНИКОВ, содержащее номера зачетных книжек и фамилии, общие для всех списков отличников. Пример. Подготовить сведения о выпуске новых видов продукции за последний квартал. Для решения этой задачи выполняем ограничение отношения ВЫПУСК ПРОДУКЦИИ по следующему условию: дата выпуска меньше последней даты прошлого квартала. Результат такого ограничения поместим в исходную таблицу. Затем выполним следующее ограничение для исходной таблицы: дата выпуска меньше первой даты прошлого квартала. Полученный результат занесем в конечную таблицу. Разность отношений исходной и конечной таблиц даст искомые сведения. Произведение отношений — создание нового отношения, в котором имеются все атрибуты 1-го и 2-го операндов, а строки получены по парным сцеплением строк их отношений. Число кортежей — мощность нового отношения — равна произведению мощностей 1-го и 2-го отношений. При этом множества атрибутов от ношений не должны пересекаться. Произведение отношений используется при решении задач подбора пар из двух множеств, например поставщиков и потребителей. Для этого сначала составляют все возможные пары, а затем по конкретному критерию отбирают из них подходящие. Пример. По двум заданным отношениям требуется найти произведение. деление отношений — создание нового отношения, содержащего атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го операнда. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1 -го. Пример. Требуется отобрать студентов группы, получающих стипендию, используя список, содержащий следующие сведения: ФИО, дата рождения, шифр группы и признак наличия стипендии (да, нет). Для решения задачи создадим вспомогательное отношение с атрибутами Шифр группы и Признак наличия стипендии. Затем заполним один кортеж этого отношения, поместив в него шифр заданной группы и отметку о получении стипендии (да). В результате деления исходного списка на вспомогательное отношение получим искомый список с атрибутами ФИО и Дата рождения. Соединение отношений — создание нового отношения, кортеж которого является результатом сцепления кортежей операндов (исходных отношений). Различают соединения отношений двух видов: естественное и по условию. При соединении отношений по условию производятся сцепление строк их операндов и проверка полученной строки на соответствие заданному условию. Если условие выполнено, то полученная строка включается в результирующее отношение. При естественном соединении отношений производятся сцепление строк их операндов и включение полученной строки в результирующее отношение без проверки. Такое соединение используют, когда отношения-операнды обладают общими атрибутами. Одни и те же данные могут группироваться в таблицы различными способами. Группировка атрибутов в отношениях должна быть рациональной, т. е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. Устранение избыточности данных, являющееся одной из важнейших задач при проектировании баз данных, обеспечивается нормализацией.
Дата добавления: 2014-03-11; просмотров: 330; Нарушение авторских прав Мы поможем в написании ваших работ! |