Где l – арность отношения r.
Пример.
Заметим, что в примере 3 две последовательно идущие операции (декартово произведение и селекция) вместе как раз представляют операцию соединения. Причем использование декартова произведения для соединения таблиц обязательно обусловливает использование селекции как следующей операции для установления связи между таблицами. Поэтому целесообразно использовать такую объединенную операцию и программно реализовывать в СУБД именно операцию соединения.
Естественное соединение Операция применима тогда и только тогда, когда столбцы имеют имена (являются атрибутами). Операция применима к отношениям, у которых есть одинаковые атрибуты. Пусть r = (A1,..., Ak, B1,..., Bn), s = (A1,..., Ak, C1,..., Cm), имена A1,..., Ak совпадают. Тогда определяется следующим образом . Для подчеркивания важности приведенных операций реляционной алгебры, а также для уточнения понятия реляционной СУБД приведем следующее определение одного из ведущих специалистов в области реляционных баз данных К.Дж. Дейта: «Будем называть систему реляционной, если она поддерживает, по крайней мере, реляционные базы данных, т.е. базы данных, которые могут восприниматься пользователем как таблицы и только как таблицы, операции селекции, проекции и соединения реляционной алгебры, не требуя при этом, чтобы каким-то образом были предопределены физические пути доступа для поддержки этих операций». Краткие итоги: В лекции рассматриваются вопросы, связанные с формализацией наиболее распространенной в настоящее время модели данных СУБД – реляционной модели. Формальное описание реляционной модели и полученные на этой основе математические методы и алгоритмы позволяют формализовать ряд шагов проектирования реляционной базы данных, получить оптимальную (по определенным критериям) структуру базы данных и эффективные алгоритмы обработки. Здесь рассматривается формализованное описание отношений, формальные средства манипулирования данными в реляционной модели (дано понятие реляционного исчисления и реляционной алгебры, приводятся основные операции реляционной алгебры). Приводятся примеры представления запросов как последовательность формальных операций реляционной алгебры.
Вопросы, рассматриваемые в данной лекции, более подробно описаны в [1-5].
Контрольные тесты
Задача 1. Что такое схема отношения?
Вариант 1. Что называется схемой отношения R? ð+ +множество имен атрибутов ð множество названий сущностей ð множество кортежей ð множество доменов
Вариант 2. Чему соответствует понятие «схемы отношения»?
ð двумерной таблице + ð+ описанию структуры конкретной таблицы ð описанию структуры любой таблицы ð множеству значений в таблице
Вариант 3. Что соответствует имени атрибута в схеме отношения?
+ ð+ множество значений определенного типа данных ð+ +домен ð кортеж ð множество значений разных типов данных Задача 2. Что такое отношение?
Вариант 1. Что называется отношением?
ð множество имен атрибутов таблицы ð множество названий сущностей ð+ +множество кортежей таблицы ð множество доменов таблицы
Вариант 2. Чему соответствует понятие «отношения»?
+ ð описанию структуры конкретной таблицы ð описанию структуры любой таблицы
ð множеству значений в двумерной таблице ð+ множеству строк в двумерной таблице
Вариант 3. Что такое ключ отношения?
ð подмножество атрибутов, таких что любые два кортежа отношения не совпадают по значениям этого подмножества + ð+ минимальное подмножество атрибутов, таких что любые два кортежа отношения не совпадают по значениям этого подмножества ð максимальное подмножество атрибутов, таких что любые два кортежа отношения не совпадают по значениям этого подмножества ð множество всех атрибутов
Задача 3. Что такое реляционная модель базы данных и реляционная база данных?
Вариант 1. Что называется реляционной моделью базы данных? + ð+ сСовокупность схем отношений, используемых для представления концептуальной модели ð сСовокупность отношений, реализующих концептуальную модель ð тТекущие значения отношений ð Ммодель данных реляционной СУБД
Вариант 2. Что называется реляционной базой данных?
ð совокупность схем отношений, используемых для представления концептуальной модели ð совокупность схем отношений, реализующих концептуальную модель + ð+ текущие значения отношений, описываемых концептуальной моделью ð модель данных реляционной СУБД
Вариант 3. Какой формальный аппарат используется в реляционной модели для описания запросов к базе данных?
ð+ операции реляционной алгебры ð+ формулы реляционного исчисления ð аппарат схем отношений ð ER-диаграммы
Задача 4. Операции объединения и пересечения отношений
Вариант 1. Какие требования к отношениям накладываются для применения этих операций? ð одинаковое число строк ð+ одинаковое число столбцов ð одинаковые названия столбцов ð равные размеры таблиц
Вариант 2. Что называется объединением отношений?
ð+ множество кортежей, принадлежащих одному или другому отношению, или им обоим ð множество кортежей, принадлежащих одному или другому отношению ð множество кортежей, принадлежащих обоим отношениям ð множество кортежей, одна часть которого представляет кортеж из первого отношения, вторая часть – кортеж из второго отношения
Вариант 3. Что называется разностью отношений?
ð множество кортежей, которые представляют кортежи из первого отношения за минусом тех значений, которые входят в кортежи второго отношения ð+ множество кортежей, принадлежащих первому отношению, но не принадлежащих второму отношению ð множество кортежей отношения, которое получается из первого отношения удалением атрибутов второго отношения ð множество атрибутов, которое получается из первого отношения удалением атрибутов второго отношения
Задача 5. Что такое операция «декартово произведение»?
Вариант 1. Что представляет собой результат операции «декартово произведение» двух отношений?
ð схему отношения, составленную из двух схем отношений ð+ новое отношение со схемой отношения, составленной из двух исходных схем отношений ð множество всевозможных кортежей, первая часть которых представляет кортежи первого отношения, вторая часть - кортежи второго отношения ð множество кортежей, получаемых добавлением к кортежам первого отношения кортеж из соответствующей строчки второго отношения
Вариант 2. Если арность отношений, участвующих в операции «декартово произведение» равна соответственно k 1 и k 2, чему равна арность полученного отношения?
ð+ k 1+ k 2 ð k 1* k 2 ð k 1 ‑ k 2 ð k 1+ k 1 * k 2
Вариант 3. Если арность отношений, участвующих в операции «декартово произведение» равна соответственно k 1 и k 2, чему равно количество кортежей в полученном отношении?
ð k 1+ k 2 ð+ k 1* k 2 ð k 1 ‑ k 2 ð (k 1+ k 2) * k 2
Вариант 4. Для чего используется операция «декартово произведение»? ð+ для «склейки» таблиц ð+ для перехода от значений атрибута в одной таблице к такому же значению атрибута в другой таблице ð для объединения таблиц ð для поиска данных в таблицах Задача 6. С помощью каких операций осуществляется выборка данных из таблицы?
Вариант 1. С помощью какой операции выбираются нужные столбцы таблицы?
ð cелекция
ð+ проекция ð декартово произведение ð разность
Вариант 2. С помощью какой операции выбираются нужные кортежи отношения?
ð проекция ð декартово произведение ð разность ð+ cелекция
Вариант 3. Какие операнды могут входить в формулу, определяющую условия выборки?
ð+ имена атрибутов ð+ константы ð+ арифметические операторы сравнения ð+ логические операторы сравнения
Задача 7. В чем смысл операций соединения?
Вариант 1. Какие операции входят в операции соединения?
ð+ селекция ð+ проекция ð+ декартово произведение ð разность
Вариант 2. Для чего нужны операции соединения?
ð+ для «склейки» таблиц ð+ для перехода от значений атрибутов в одной таблице к таким же значениям атрибутов в другой таблице ð+ для объединения таблиц с совпадающими значениями одного или нескольких атрибутов ð+ для реализации выборки данных на основе использования двух таблиц, связанных общими атрибутами
Вариант 3. В чем отличие операции «q -соединение» от операции «естественное соединение»?
ð используется меньше операций реляционной алгебры ð+ сравниваются значения одного общего атрибута ð накладывается меньше условий на исходные отношения ð при сравнении значений может использоваться больше арифметических операторов
Задача 8. Какая система работы с базой данных является реляционной?
Вариант 1. Как пользователь должен воспринимать реляционную базу данных?
ð+ как набор таблиц ð как иерархическую структуру ð как наборы записей с указателями ð как совокупность файлов
Вариант 2. Какие операции должна поддерживать реляционная система?
ð поиск ð добавление ð удаление ð+ селекция ð+ проекция ð+ соединение
Вариант 3. Как программист указывает физические пути доступа к данным в памяти компьютера при работе в реляционных системах?
ð+ не указывает, указывает только операции ð указывает в программе выполнения операции ð указывает в прикладной программе ð указывает при обращении к операции
Литература
1. Дейт К.Дж. Введение в системы баз данных: Пер. с англ. – 6-е изд. – К.: Диалектика, 1998. – 784 с. 2. Карпова Т. Базы данных. Модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с. 3. Ульман Дж. Основы систем баз данных: Пер. с англ. / Под ред. М.Р. Когаловского. – М.: Финансы и статистика, 1983. – 334 с. 4. Швецов В.И., Визгунов А.Н., Мееров И.Б. Базы данных. Учебное пособие. Н.Новгород: Изд-во ННГУ, 2004. 271 с.
5. Ульман Дж. Д., Уидом Дж. Введение в системы баз данных: Пер. с англ. – М.: Лори, 2000. – 374 с.
Лекция 8. Использование формального аппарата
Лекция посвящена вопросам оптимизации схем отношений на основе формальных методов теории реляционных баз данных. Разбирается пример приведения таблицы к третьей нормальной форме, оптимальной по ряду показателей. Рассматриваются вопросы целостности данных в реляционных СУБД. Ключевые словатермины: выбор рациональной схемы отношения, аномалия включения, аномалия удаления, аномалия обновления, функциональная зависимость, аксиомы Армстронга, нормальная форма, декомпозиция схемы отношения, нормализация, условия целостности реляционной модели. Цель лекции: показать возможность эффективного использования формальных методов построения оптимальной (по определенным показателям) структуры реляционной базы данных путем нормализации схем отношений.
8.1. Проблема выбора рациональных схем отношений При представлении концептуальной схемы в виде реляционной модели возможны различные варианты выбора схем отношений. Одни варианты выбора рассматривались в предыдущих разделах (п. 6.2.3), другие получаются объединением (или разбиением) некоторых схем отношений. От правильного выбора схем отношений, представляющих концептуальную схему, в значительной степени будет зависеть эффективность функционирования базы данных. Рассмотрим для примера конкретную схему отношений и проанализируем её недостатки. Предположим, что данные о студентах, факультетах, специальностях, включены в таблицу со следующей схемой отношения: СТУДЕНТ (Код студента, Фамилия, Название факультета, Название специальности). Эта схема отношений обусловливает следующие недостатки соответствующей базы данных: · Дублирование информации (избыточность). У студентов, обучающихся на одном факультете, будет повторяться название факультета. Для разных факультетов будут повторяться специальности. · Потенциальная противоречивость (аномалии обновления). Если, например, изменится название специальности, то изменяя её в одном кортеже (у одного студента), необходимо изменять и во всех других кортежах, где она присутствует. · Потенциальная возможность потери сведений (аномалии удаления). При удалении информации о всех студентах, поступающих на определенную специальность, мы теряем все сведения об этой специальности. · Потенциальная возможность невключения информации в базу данных (аномалии включения). В базе данных будут отсутствовать сведения о специальности, если на ней нет обучающихся студентов. В теории реляционных баз данных существуют формальные методы построения реляционной модели базы данных, в которой отсутствует избыточность и аномалии обновления, удаления и включения.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|