Главная страница

В. И. Швецов Базы данных


Скачать 8.45 Mb.
НазваниеВ. И. Швецов Базы данных
АнкорV_I_Shvetsov_Bazy_dannykh.doc
Дата20.12.2017
Размер8.45 Mb.
Формат файлаdoc
Имя файлаV_I_Shvetsov_Bazy_dannykh.doc
ТипУчебное пособие
#12252
страница10 из 24
1   ...   6   7   8   9   10   11   12   13   ...   24

ð+ одинаковое число столбцов

 одинаковые названия столбцов

 равные размеры таблиц

Вариант 2.

Что называется объединением отношений?
ð+ множество кортежей, принадлежащих одному или другому отношению, или им обоим

 множество кортежей, принадлежащих одному или другому отношению

 множество кортежей, принадлежащих обоим отношениям

 множество кортежей, одна часть которого представляет кортеж из первого отношения, вторая часть – кортеж из второго отношения

Вариант 3.

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

ð+ множество кортежей, принадлежащих первому отношению, но не принадлежащих второму отношению

 множество кортежей отношения, которое получается из первого отношения удалением атрибутов второго отношения

 множество атрибутов, которое получается из первого отношения удалением атрибутов второго отношения
Задача 5. Что такое операция «декартово произведение»?
Вариант 1.

Что представляет собой результат операции «декартово произведение» двух отношений?
 схему отношения, составленную из двух схем отношений

ð+ новое отношение со схемой отношения, составленной из двух исходных схем отношений

 множество всевозможных кортежей, первая часть которых представляет кортежи первого отношения, вторая часть - кортежи второго отношения

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

Вариант 2.

Если арность отношений, участвующих в операции «декартово произведение» равна соответственно k1 и k2, чему равна арность полученного отношения?
ð+ k1+k2

k1*k2

k1  k2

k1+k1 *k2

Вариант 3.

Если арность отношений, участвующих в операции «декартово произведение» равна соответственно k1 и k2, чему равно количество кортежей в полученном отношении?
k1+k2

ð+ k1*k2

k1  k2

 (k1+k2) *k2

Вариант 4.

Для чего используется операция «декартово произведение»?
ð+ для «склейки» таблиц

ð+ для перехода от значений атрибута в одной таблице к такому же значению атрибута в другой таблице

 для объединения таблиц

 для поиска данных в таблицах

Задача 6. С помощью каких операций осуществляется выборка данных из таблицы?
Вариант 1.

С помощью какой операции выбираются нужные столбцы таблицы?
 cелекция

ð+ проекция

декартово произведение

 разность

Вариант 2.

С помощью какой операции выбираются нужные кортежи отношения?
 проекция

 декартово произведение

 разность

ð+ cелекция

Вариант 3.

Какие операнды могут входить в формулу, определяющую условия выборки?
ð+ имена атрибутов

ð+ константы

ð+ арифметические операторы сравнения

ð+ логические операторы сравнения
Задача 7. В чем смысл операций соединения?

Вариант 1.

Какие операции входят в операции соединения?
ð+ селекция

ð+ проекция

ð+ декартово произведение

 разность

Вариант 2.

Для чего нужны операции соединения?
ð+ для «склейки» таблиц

ð+ для перехода от значений атрибутов в одной таблице к таким же значениям атрибутов в другой таблице

ð+ для объединения таблиц с совпадающими значениями одного или нескольких атрибутов

ð+ для реализации выборки данных на основе использования двух таблиц, связанных общими атрибутами

Вариант 3.

В чем отличие операции « -соединение» от операции «естественное соединение»?
 используется меньше операций реляционной алгебры

ð+ сравниваются значения одного общего атрибута

 накладывается меньше условий на исходные отношения

 при сравнении значений может использоваться больше арифметических операторов
Задача 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), другие получаются объединением (или разбиением) некоторых схем отношений. От правильного выбора схем отношений, представляющих концептуальную схему, в значительной степени будет зависеть эффективность функционирования базы данных.

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

СТУДЕНТ (Код студента, Фамилия, Название факультета, Название специальности).

Эта схема отношений обусловливает следующие недостатки соответствующей базы данных:

  • Дублирование информации (избыточность). У студентов, обучающихся на одном факультете, будет повторяться название факультета. Для разных факультетов будут повторяться специальности.

  • Потенциальная противоречивость (аномалии обновления). Если, например, изменится название специальности, то изменяя её в одном кортеже (у одного студента), необходимо изменять и во всех других кортежах, где она присутствует.

  • Потенциальная возможность потери сведений (аномалии удаления). При удалении информации о всех студентах, поступающих на опре­деленную специальность, мы теряем все сведения об этой специальности.

  • Потенциальная возможность невключения информации в базу данных (аномалии включения). В базе данных будут отсутствовать сведения о специальности, если на ней нет обучающихся студентов.

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

Нормализация. Первая нормальная форма.

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

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

Рассмотрим следующий пример.

Таблица представляет сущность ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ


Код студента

Фамилия

Код
экзамена

Предмет и дата

Оценка

1

Сергеев

1

Математика 5.06.08

4

2

Иванов

1

5

1

Сергеев

2

Физика
9.06.08

5

2

Иванов

2

5


Данная таблица не находится в первой нормальной форме (ненормализованная), так как на пересечении строки и четвертого столбца располагается не одно значение, а несколько.

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

Код студента

Фамилия

Код
экзамена

Предмет

Дата

Оценка

1

Сергеев

1

Математика

5.08.03

4

2

Иванов

1

Математика

5.08.03

5

1

Сергеев

2

Физика

9.08.03

5

2

Иванов

2

Физика

9.08.03

5


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

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

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

Прежде чем перейти к построению второй нормальной формы, необходимо определить ряд формальных понятий.

8.2. Функциональные зависимости (зависимости
между атрибутами отношения)

Пусть (A1A2,…, An) – схема отношения, а X и Y – подмножества {A1A2,…,An}.

Функциональная зависимость на отношении R – это утверждение вида «Если два кортежа R совпадают по атрибутам множества X{A1A2,…, An} (т.е. эти кортежи имеют в соответствующих друг другу компонентах одни и те же значения для каждого атрибута множества X), то они должны совпадать и по атрибутам множества Y{A1A2,…, An}. Формально эта зависимость записывается выражением X Y, причем говорится, что X функционально определяет Y. Часто используется другое утверждание: X функционально определяет Y или Y функционально зависит от X (обозначается XY) тогда и только тогда, когда каждое значение множества X отношения R связано с одним значением множества Y отношения R. Иначе говоря, если два кортежа R совпадают по значению X, они совпадают и по значению Y.

Замечание. Вообще говоря, под термином «отношение» могут подразумеваться два понятия:

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

  • отношение, как набор конкретных значений (таблица с заполненными элементами).

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

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

Пример функциональных зависимостей для отношения ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ

Код студента Фамилия

Код студента, Код экзамена Оценка

Пример функциональных зависимостей для отношения СТУДЕНТ, приведенного в начале настоящей лекции

Код студента Фамилия,

Код студента Факультет

Заметим, что последняя зависимость существует при условии, что один студент не может обучаться на нескольких факультетах.

Полное множество функциональных зависимостей

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

Заданное множество функциональных зависимостей для отношения R обозначим F, полное множество функциональных зависимостей, которые логически можно получить из F, называется замыканием F и обозначается F+.

Если множество функциональных зависимостей совпадает с замыканием данного множества, то такое множество функциональных зависимостей называется полным.

Введенные понятия позволяют формально определить понятие ключа.

Пусть существует некоторая схема R с атрибутами A1A2…An, F – некоторое множество функциональных зависимостей и X – некоторое подмножество R. Тогда X называется ключом, если, во-первых, в F+ существует зависимость X A1A2…An и, во-вторых, ни для какого подмножества Y, входящего в X, зависимость Y  A1A2…An не принадлежит F+.

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

Частичной функциональной зависимостью будем называть зависимость неключевого атрибута от части составного ключа.

Для вычисления замыкания множества функциональных зависимо­стей используются следующие правила вывода (аксиомы Армстронга):

Пусть известна некоторая схема отношения R{A1, A2,…, An} с множеством атрибутов U={A1, A2,…, An} и множество функциональных зависимостей F, заданных на множестве U.
1   ...   6   7   8   9   10   11   12   13   ...   24


написать администратору сайта