Главная страница
Навигация по странице:

  • Задания для самостоятельного выполнения 1

  • 5.1. Сущность нормализации Под нормализацией

  • Нормализованным отношением

  • Базы данных. Лекции - База данных, лекционный курс. Базы данных лекционный курс


    Скачать 1.23 Mb.
    НазваниеБазы данных лекционный курс
    АнкорБазы данных
    Дата10.03.2022
    Размер1.23 Mb.
    Формат файлаdoc
    Имя файлаЛекции - База данных, лекционный курс.doc
    ТипДокументы
    #390809
    страница7 из 11
    1   2   3   4   5   6   7   8   9   10   11

    Тесты для самоконтроля


    1. Отношением называют:

    а) набор значений элементов данных одного типа;

    б) множество кортежей;

    в) некоторое подмножество декартова произведения доменов.

    2. Набор значений элементов данных одного типа, отвечающий поставленным условиям, называется:

    а) отношением;

    б) доменом;

    в) декартовым произведением k доменов.

    3. В результате разности двух отношений получится отношение, содержащее записи, принадлежащие:

    а) первому отношению;

    б) одновременно двум отношениям;

    в) либо первому отношению, либо второму, либо им обоим.

    4. К числу операций, применяемых к отношениям с одной и той же схемой, относится операция:

    а) объединения;

    б) деления;

    в) пересечения.

    5. Соединяемые столбцы повторяются:

    а) при естественном соединении;

    б) при эквисоединении;

    в) при тета – соединении.

    6. Отношения могут комбинироваться только по одноименным столбцам:

    а) при тета – соединении;

    б) при естественном соединении;

    в) при эквисоединении.

    7. К одному отношению применяются следующие операции:

    а) выборка, проекция;

    б) объединение, разность, пересечение;

    в) произведение, деление.

    Задания для самостоятельного выполнения
    1. Даны отношения: r, содержащее информацию о женщинах – читательницах библиотеки, и s, содержащее информацию о читателях – должниках.

    r

    Код

    ФИО

    Адрес

    Телефон

    Ж1

    Петрова В.

    Гамарника 1-1




    Ж2

    Иванова М.

    Интернациональный 1-1

    34-56-78

    Ж3

    Петрова М.

    Ленина 1-2




    s

    Код

    ФИО

    Адрес

    Телефон

    М1

    Иванов П..

    Пирогова 1-1

    2-34-56

    М3

    Петров П.

    Ленина 1-2




    Ж1

    Петрова В.

    Гамарника 1-1




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

    Выдача Книги

    Читатель

    Код книги

    Дата выдачи




    Код книги

    Иванов А.

    Д1

    01.09.02




    Д1

    Петров Б.

    П1

    01.09.02




    П2

    Сидоров В.

    Д1

    08.09.02







    Макаров Г.

    П2

    09.09.02







    Иванов А.

    П1

    08.09.02







    Сидоров В.

    П2

    15.09.02







    Петров Б.

    Д2

    15.09.02







    Найти читателей, которые брали все указанные книги.
    3. Используя инструкции SQL,

    а) создать таблицу Читатели с пятью полями: целочисленным полем Код и текстовыми полями определенного размера: Пол, Фамилия, Адрес, Телефон. Для всех полей, кроме последнего, определить обязательный ввод данных;

    б) изменить структуру таблицы Читатели, переопределив тип поля Код с целочисленного на текстовый;

    в) определить в таблице Читатели поле Код как ключевое;

    г) создать индекс по полю Пол;

    д) найти всех читателей, имеющих телефон;

    е) подсчитать количество женщин и мужчин – читателей библиотеки;

    ж) изменить фамилию какой-либо читательницы библиотеки;

    з) добавить в таблицу информацию о новом читателе библиотеки;

    и) удалить из таблицы информацию обо всех мужчинах – читателях библиотеки;

    к) удалить из таблицы индекс по полю Пол;

    л) удалить таблицу Читатели.
    5. НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ
    5.1. Сущность нормализации
    Под нормализацией отношений понимают процесс построения оптимальной структуры таблиц и связей в реляционной базе данных. Теория нормализации основана на том, что определенный набор таблиц обладает лучшими свойствами при включении, модификации и удалении данных, чем все остальные наборы таблиц, с помощью которых могут быть представлены те же данные.

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

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

    Рассмотрим БД для консультанта университета, состоящую из одной таблицы Консультант со следующими полями: № студента, ФИО студента, № комнаты, № телефона, № курса, Семестр1, Оценка:



    № сту­дента

    ФИО студента

    № комнаты

    № телефона

    № курса

    Семестр

    Оценка

    3215

    Васильев О.И.

    115

    2136

    ТВПС

    5

    4

    3215

    Васильев О.И.

    115

    2136

    МСиС

    5

    4

    3215

    Васильев О.И.

    115

    2136

    БД

    6

    5

    3215

    Васильев О.И.

    115

    2136

    ТВПС

    6

    5

    3462

    Воловик В.А.

    206

    2344

    ТВПС

    7

    5

    3462

    Воловик В.А.

    206

    2344

    БД

    6

    5

    3462

    Воловик В.А.

    206

    2344

    ООП

    6

    3

    3567

    Борисов И.Ю.

    115

    2136

    ВМ

    7

    4

    3567

    Борисов И.Ю.

    115

    2136

    ПиП

    5

    4

    3567

    Борисов И.Ю.

    115

    2136

    ОС

    5

    3

    4756

    Гатаулин А.Е.

    254

    3321

    ООП

    4

    5



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

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

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

    Неявная избыточность: один и тот же номер телефона имеют все студенты, живущие в одной комнате. Допустим, Васильев О.И. извещает консультанта о том, что его номер телефона изменен на 7777, забыв при этом сообщить о друге по комнате, консультант меняет телефонный номер в кортежах для Васильева О.И. – в результате правильный номер телефона будет фактически утерян.

    Выясним различие между дублированием данных и избыточным дублированием данных.

    Рассмотрим отношение СлужащийНачальник:

    № служащего

    Начальник

    125

    Джонс

    138

    Смит

    195

    Смит

    200

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


    № служащего

    Начальник

    125

    Джонс

    138

    Смит

    195




    200



    Дублированные фамилии удалены – и невозможно узнать фамилии начальников для служащих с номерами 195 и 200.


    Теперь рассмотрим отношение СлужащийНачальникТелефон (предполагаем, что каждый начальник имеет только один телефонный номер):

    № служащего

    Начальник

    № телефона

    125

    Джонс

    3051

    138

    Смит

    2222

    195

    Смит

    2222

    200

    Джонс

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

    СлужащийНачальник НачальникТелефон


    №_служащего

    Начальник




    Начальник

    Телефон

    125

    Джонс




    Джонс

    3051

    138

    Смит




    Смит

    2222

    195

    Смит










    200

    Джонс









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

    Дадим определение функциональнойзависимости между данными.

    Пусть имеется отношение r(A1, A2, …, An). Атрибут А2 отношения r функционально зависит от атрибута A1 того же отношения, если в каждый момент времени каждому значению атрибута А1 соответствует не более, чем одно значение атрибута А2 (то есть функциональная зависимость А2 от А1 означает, что если в любой момент времени известно значение А1, то можно однозначно получить и значение А2). Обозначается:

    А1  А2.

    Рассмотрим отношение Студент (№ зачетной книжки, № группы, ФИО).

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

    зачетной книжки№ группы;

    зачетной книжкиФИО.

    Если предположить, что имеются полные однофамильцы, то:

    ФИО№ зачетной книжки;

    ФИО№ группы.

    Атрибут может функционально зависеть не от какого-то одного атрибута, а от целой группы атрибутов, то есть А1 и А2 могут быть составными.

    В связи с этим дадим определение полной функциональной зависимости.

    Если в отношении r для множеств атрибутов А1 и А2 имеет место А1  А2 и при этом ↛ А2, где – подмножество А1 ( ), то говорят, что множество атрибутов А2 функционально полно зависит от всего множества А1, но не зависит ни от какого подмножества А1.

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

    В качестве примера обратимся к атрибутам отношения Консультант. Функционально зависимы следующие атрибуты:

    студентаФИО студента;

    студента№ комнаты;

    студента№ телефона;

    комнаты№ телефона;

    телефона№ комнаты;

    студента, № курса, СеместрОценка.

    Другой способ представления функциональных зависимостей:


    1   2   3   4   5   6   7   8   9   10   11


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