🗊Презентация Введение в базы данных

Категория: Информатика
Нажмите для полного просмотра!
Введение в базы данных, слайд №1Введение в базы данных, слайд №2Введение в базы данных, слайд №3Введение в базы данных, слайд №4Введение в базы данных, слайд №5Введение в базы данных, слайд №6Введение в базы данных, слайд №7Введение в базы данных, слайд №8Введение в базы данных, слайд №9Введение в базы данных, слайд №10Введение в базы данных, слайд №11Введение в базы данных, слайд №12Введение в базы данных, слайд №13Введение в базы данных, слайд №14Введение в базы данных, слайд №15Введение в базы данных, слайд №16Введение в базы данных, слайд №17Введение в базы данных, слайд №18Введение в базы данных, слайд №19Введение в базы данных, слайд №20Введение в базы данных, слайд №21Введение в базы данных, слайд №22Введение в базы данных, слайд №23Введение в базы данных, слайд №24Введение в базы данных, слайд №25Введение в базы данных, слайд №26Введение в базы данных, слайд №27Введение в базы данных, слайд №28Введение в базы данных, слайд №29Введение в базы данных, слайд №30Введение в базы данных, слайд №31Введение в базы данных, слайд №32Введение в базы данных, слайд №33Введение в базы данных, слайд №34Введение в базы данных, слайд №35Введение в базы данных, слайд №36Введение в базы данных, слайд №37Введение в базы данных, слайд №38Введение в базы данных, слайд №39Введение в базы данных, слайд №40Введение в базы данных, слайд №41Введение в базы данных, слайд №42Введение в базы данных, слайд №43Введение в базы данных, слайд №44Введение в базы данных, слайд №45Введение в базы данных, слайд №46Введение в базы данных, слайд №47Введение в базы данных, слайд №48Введение в базы данных, слайд №49Введение в базы данных, слайд №50Введение в базы данных, слайд №51Введение в базы данных, слайд №52Введение в базы данных, слайд №53Введение в базы данных, слайд №54Введение в базы данных, слайд №55Введение в базы данных, слайд №56Введение в базы данных, слайд №57Введение в базы данных, слайд №58Введение в базы данных, слайд №59Введение в базы данных, слайд №60Введение в базы данных, слайд №61Введение в базы данных, слайд №62Введение в базы данных, слайд №63Введение в базы данных, слайд №64Введение в базы данных, слайд №65Введение в базы данных, слайд №66Введение в базы данных, слайд №67Введение в базы данных, слайд №68Введение в базы данных, слайд №69Введение в базы данных, слайд №70Введение в базы данных, слайд №71Введение в базы данных, слайд №72Введение в базы данных, слайд №73Введение в базы данных, слайд №74Введение в базы данных, слайд №75Введение в базы данных, слайд №76Введение в базы данных, слайд №77Введение в базы данных, слайд №78Введение в базы данных, слайд №79Введение в базы данных, слайд №80Введение в базы данных, слайд №81Введение в базы данных, слайд №82Введение в базы данных, слайд №83Введение в базы данных, слайд №84Введение в базы данных, слайд №85Введение в базы данных, слайд №86Введение в базы данных, слайд №87Введение в базы данных, слайд №88Введение в базы данных, слайд №89Введение в базы данных, слайд №90Введение в базы данных, слайд №91Введение в базы данных, слайд №92Введение в базы данных, слайд №93Введение в базы данных, слайд №94Введение в базы данных, слайд №95Введение в базы данных, слайд №96Введение в базы данных, слайд №97Введение в базы данных, слайд №98Введение в базы данных, слайд №99Введение в базы данных, слайд №100Введение в базы данных, слайд №101Введение в базы данных, слайд №102Введение в базы данных, слайд №103Введение в базы данных, слайд №104Введение в базы данных, слайд №105Введение в базы данных, слайд №106Введение в базы данных, слайд №107Введение в базы данных, слайд №108Введение в базы данных, слайд №109Введение в базы данных, слайд №110Введение в базы данных, слайд №111Введение в базы данных, слайд №112Введение в базы данных, слайд №113Введение в базы данных, слайд №114Введение в базы данных, слайд №115Введение в базы данных, слайд №116Введение в базы данных, слайд №117Введение в базы данных, слайд №118Введение в базы данных, слайд №119Введение в базы данных, слайд №120Введение в базы данных, слайд №121Введение в базы данных, слайд №122Введение в базы данных, слайд №123Введение в базы данных, слайд №124Введение в базы данных, слайд №125Введение в базы данных, слайд №126Введение в базы данных, слайд №127Введение в базы данных, слайд №128Введение в базы данных, слайд №129Введение в базы данных, слайд №130Введение в базы данных, слайд №131Введение в базы данных, слайд №132Введение в базы данных, слайд №133Введение в базы данных, слайд №134Введение в базы данных, слайд №135Введение в базы данных, слайд №136Введение в базы данных, слайд №137Введение в базы данных, слайд №138Введение в базы данных, слайд №139

Содержание

Вы можете ознакомиться и скачать презентацию на тему Введение в базы данных. Доклад-сообщение содержит 139 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тема № 1. Базы данных специального назначения
Лекция № 1: Введение в базы данных
Учебные цели занятия: 
	Изучить:
основные понятия теории баз данных, 
основные принципы организации систем баз данных, 
вопросы семантического моделирования (ER-моделирование)
Учебные вопросы:
Основные понятия теории баз данных
Архитектура систем баз данных
Семантическое моделирование
Описание слайда:
Тема № 1. Базы данных специального назначения Лекция № 1: Введение в базы данных Учебные цели занятия: Изучить: основные понятия теории баз данных, основные принципы организации систем баз данных, вопросы семантического моделирования (ER-моделирование) Учебные вопросы: Основные понятия теории баз данных Архитектура систем баз данных Семантическое моделирование

Слайд 2





Литература: 
К. Дж. Дейт. - Введение в системы баз данных, 7-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1072 с., ил.
Дж. Грофф, П. Вайнберг.- SQL: Полное руководство.- Пер. с англ.-2-е изд., перераб. и доп.-К.: Издательская группа BHV, 2001.- 816 с., ил.
SQL в примерах и задачах; учеб. пособие / И.Ф.Астахова, А.П.Толстобров, В.М.Мельников.— Мн.: Новое знание, 2002. — 176 с.
Теория и практика построения баз данных/Д.Кренке.- 8-е изд.- СПб.: Питер, 2003.- 800 с., ил.- (Серия «Классика computer science»).
Описание слайда:
Литература: К. Дж. Дейт. - Введение в системы баз данных, 7-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1072 с., ил. Дж. Грофф, П. Вайнберг.- SQL: Полное руководство.- Пер. с англ.-2-е изд., перераб. и доп.-К.: Издательская группа BHV, 2001.- 816 с., ил. SQL в примерах и задачах; учеб. пособие / И.Ф.Астахова, А.П.Толстобров, В.М.Мельников.— Мн.: Новое знание, 2002. — 176 с. Теория и практика построения баз данных/Д.Кренке.- 8-е изд.- СПб.: Питер, 2003.- 800 с., ил.- (Серия «Классика computer science»).

Слайд 3





1. Основные понятия теории баз данных
1.1 Понятие системы баз данных 
   Система баз данных (СБД) – компьютеризированная система хранения записей.
	Основным назначением СБД является хранение информации и предоставление пользователям средства ее извлечения и модификации.
Описание слайда:
1. Основные понятия теории баз данных 1.1 Понятие системы баз данных Система баз данных (СБД) – компьютеризированная система хранения записей. Основным назначением СБД является хранение информации и предоставление пользователям средства ее извлечения и модификации.

Слайд 4






Однопользовательская система (single-user system) – система, в которой одновременно к базе данных может получить доступ не более одного пользователя
Многопользовательская система (multi-user system) – система в которой к базе данных может получить доступ одновременно несколько пользователей.
Описание слайда:
Однопользовательская система (single-user system) – система, в которой одновременно к базе данных может получить доступ не более одного пользователя Многопользовательская система (multi-user system) – система в которой к базе данных может получить доступ одновременно несколько пользователей.

Слайд 5


Введение в базы данных, слайд №5
Описание слайда:

Слайд 6





 ГЛАВНЫЕ КОМПОНЕНТЫ СБД
 данные
аппаратное обеспечение
программное обеспечение
пользователи
Описание слайда:
ГЛАВНЫЕ КОМПОНЕНТЫ СБД данные аппаратное обеспечение программное обеспечение пользователи

Слайд 7





ДАННЫЕ в БАЗЕ ДАННЫХ являются:

- интегрированными; 
-разделяемыми.

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

Разделяемость данных – возможность использования отдельных элементов, хранимых в базе данных несколькими различными пользователями. Имеется в виду, что каждый их пользователей сможет получить доступ к одному и тому же элементу данных в одно и то же время, возможно, для достижения различных целей.
Описание слайда:
ДАННЫЕ в БАЗЕ ДАННЫХ являются: - интегрированными; -разделяемыми. Интегрированность данных – возможность представления базы данных как объединение нескольких отдельных файлов данных, полностью или частично исключающее избыточность хранения информации. Разделяемость данных – возможность использования отдельных элементов, хранимых в базе данных несколькими различными пользователями. Имеется в виду, что каждый их пользователей сможет получить доступ к одному и тому же элементу данных в одно и то же время, возможно, для достижения различных целей.

Слайд 8





Аппаратное обеспечение СБД:
Тома вторичной (внешней) памяти (обычно это магнитные диски), используемые для хранения информации, а также соответствующие устройства ввода-вывода (дисководы и т.п.), контроллеры устройств, каналы ввода-вывода и т.д.
Аппаратный процессор (или процессоры) вместе с основной (первичной) памятью, предназначенные для поддержки работы программного обеспечения СБД.
Описание слайда:
Аппаратное обеспечение СБД: Тома вторичной (внешней) памяти (обычно это магнитные диски), используемые для хранения информации, а также соответствующие устройства ввода-вывода (дисководы и т.п.), контроллеры устройств, каналы ввода-вывода и т.д. Аппаратный процессор (или процессоры) вместе с основной (первичной) памятью, предназначенные для поддержки работы программного обеспечения СБД.

Слайд 9





Программное обеспечение СБД: 
система управления базами данных, СУБД – это наиболее важный программный компонент системы, называемый также:  менеджер базы данных (database manager), сервер базы данных (database server);
утилиты
 средства разработки приложений;
 средства проектирования;
 генераторы отчетов; 
 менеджер транзакций (transaction manager) или диспетчер выполнения транзакций (TP monitor).
Описание слайда:
Программное обеспечение СБД: система управления базами данных, СУБД – это наиболее важный программный компонент системы, называемый также: менеджер базы данных (database manager), сервер базы данных (database server); утилиты средства разработки приложений; средства проектирования; генераторы отчетов; менеджер транзакций (transaction manager) или диспетчер выполнения транзакций (TP monitor).

Слайд 10





Пользователи :
Прикладные программисты 
Конечные пользователи
 Администраторы базы данных (АБД).
Описание слайда:
Пользователи : Прикладные программисты Конечные пользователи Администраторы базы данных (АБД).

Слайд 11





АДМИНИСТРАТОР базы данных (АБД) 
 (АБД) – человек, обеспечивающий необходимую техническую поддержку с целью реализации принятых решений. АБД отвечает за управление системой на техническом уровне.

 Функции АБД:
Определение концептуальной схемы. 
Определение внутренней схемы. 
Взаимодействие с пользователями. 
Определение требований защиты и обеспечение целостности данных. 
Определение процедур резервного копирования и восстановления. 
Управление производительностью и реагирование на изменяющиеся требования.
Описание слайда:
АДМИНИСТРАТОР базы данных (АБД) (АБД) – человек, обеспечивающий необходимую техническую поддержку с целью реализации принятых решений. АБД отвечает за управление системой на техническом уровне. Функции АБД: Определение концептуальной схемы. Определение внутренней схемы. Взаимодействие с пользователями. Определение требований защиты и обеспечение целостности данных. Определение процедур резервного копирования и восстановления. Управление производительностью и реагирование на изменяющиеся требования.

Слайд 12





1.2 Базы данных и их назначение

База данных – это некоторый набор перманентных (постоянных) данных, используемых прикладными системами какого-либо предприятия.
	Преимущества использования однопользовательских СБД :
Компактность. 
Скорость. 
Низкие трудозатраты. 
Актуальность. 
 Многопользовательская среда имеет дополнительное преимущество: 
: СБД предоставляет предприятию средства централизованного управления его данными
Описание слайда:
1.2 Базы данных и их назначение База данных – это некоторый набор перманентных (постоянных) данных, используемых прикладными системами какого-либо предприятия. Преимущества использования однопользовательских СБД : Компактность. Скорость. Низкие трудозатраты. Актуальность. Многопользовательская среда имеет дополнительное преимущество: : СБД предоставляет предприятию средства централизованного управления его данными

Слайд 13





Преимущества централизованного подхода к управлению данными:
Возможность совместного доступа к данным
 Сокращение избыточности данных
Устранение противоречивости данных (до некоторой степени)
Возможность поддержки транзакций
Обеспечение целостности данных
Организация защиты данных
Возможность балансировки противоречивых требований
Возможность введения стандартизации
Независимость данных.
Описание слайда:
Преимущества централизованного подхода к управлению данными: Возможность совместного доступа к данным Сокращение избыточности данных Устранение противоречивости данных (до некоторой степени) Возможность поддержки транзакций Обеспечение целостности данных Организация защиты данных Возможность балансировки противоречивых требований Возможность введения стандартизации Независимость данных.

Слайд 14





1.3 Данные и модели данных

Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактно машину, с которой взаимодействует пользователь. Упомянутые объекты позволяют моделировать структуру данных, а операторы – поведение данных.
Реализация (implementation) – заданной модели данных – это фактическое воплощение на реальной машине компонентов абстрактной машины, которые в совокупности составляют эту модель.
Описание слайда:
1.3 Данные и модели данных Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактно машину, с которой взаимодействует пользователь. Упомянутые объекты позволяют моделировать структуру данных, а операторы – поведение данных. Реализация (implementation) – заданной модели данных – это фактическое воплощение на реальной машине компонентов абстрактной машины, которые в совокупности составляют эту модель.

Слайд 15





1.4 Типы систем баз данных
Категории системы баз данных: 
системы инвертированных списков 
иерархические 
сетевые 
объектно-ориентированные и объектно-реляционные
Описание слайда:
1.4 Типы систем баз данных Категории системы баз данных: системы инвертированных списков иерархические сетевые объектно-ориентированные и объектно-реляционные

Слайд 16


Введение в базы данных, слайд №16
Описание слайда:

Слайд 17





Три уровня архитектуры ANSI/SPARC 
Внешний уровень - индивидуальный уровень пользователя 
Концептуальный уровень. Концептуальное представление – это представление всей информации базы данных в несколько более абстрактной форме  по сравнению с физическим способом хранения данных
 Внутренний уровень. Внутреннее представление – это низкоуровневое представление всей базы данных как базы, состоящей из некоторого множества экземпляров каждого из существующих типов внутренних записей.
Описание слайда:
Три уровня архитектуры ANSI/SPARC Внешний уровень - индивидуальный уровень пользователя Концептуальный уровень. Концептуальное представление – это представление всей информации базы данных в несколько более абстрактной форме по сравнению с физическим способом хранения данных Внутренний уровень. Внутреннее представление – это низкоуровневое представление всей базы данных как базы, состоящей из некоторого множества экземпляров каждого из существующих типов внутренних записей.

Слайд 18


Введение в базы данных, слайд №18
Описание слайда:

Слайд 19


Введение в базы данных, слайд №19
Описание слайда:

Слайд 20


Введение в базы данных, слайд №20
Описание слайда:

Слайд 21


Введение в базы данных, слайд №21
Описание слайда:

Слайд 22


Введение в базы данных, слайд №22
Описание слайда:

Слайд 23


Введение в базы данных, слайд №23
Описание слайда:

Слайд 24


Введение в базы данных, слайд №24
Описание слайда:

Слайд 25


Введение в базы данных, слайд №25
Описание слайда:

Слайд 26


Введение в базы данных, слайд №26
Описание слайда:

Слайд 27


Введение в базы данных, слайд №27
Описание слайда:

Слайд 28


Введение в базы данных, слайд №28
Описание слайда:

Слайд 29





Тема № 1. Базы данных специального назначения

Лекция № 2: Реляционная модель. Введение в реляционные БД. Основы языка SQL.
Учебные цели занятия: 
	Сформировать представление о:
Понятии реляционной модели данных , 
Языке SQL и его возможностях, 
Средствах определения структуры данных и типов данных реляционной модели и языка SQL.
Учебные вопросы:
Введение в реляционные базы данных
Введение в язык SQL
Домены, отношения и базовые переменные-отношения
Описание слайда:
Тема № 1. Базы данных специального назначения Лекция № 2: Реляционная модель. Введение в реляционные БД. Основы языка SQL. Учебные цели занятия: Сформировать представление о: Понятии реляционной модели данных , Языке SQL и его возможностях, Средствах определения структуры данных и типов данных реляционной модели и языка SQL. Учебные вопросы: Введение в реляционные базы данных Введение в язык SQL Домены, отношения и базовые переменные-отношения

Слайд 30





Литература: 
К. Дж. Дейт. - Введение в системы баз данных, 7-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1072 с., ил.
Дж. Грофф, П. Вайнберг.- SQL: Полное руководство.- Пер. с англ.-2-е изд., перераб. и доп.-К.: Издательская группа BHV, 2001.- 816 с., ил.
SQL в примерах и задачах; учеб. пособие / И.Ф.Астахова, А.П.Толстобров, В.М.Мельников.— Мн.: Новое знание, 2002. — 176 с.
Теория и практика построения баз данных/Д.Кренке.- 8-е изд.- СПб.: Питер, 2003.- 800 с., ил.- (Серия «Классика computer science»).
Описание слайда:
Литература: К. Дж. Дейт. - Введение в системы баз данных, 7-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1072 с., ил. Дж. Грофф, П. Вайнберг.- SQL: Полное руководство.- Пер. с англ.-2-е изд., перераб. и доп.-К.: Издательская группа BHV, 2001.- 816 с., ил. SQL в примерах и задачах; учеб. пособие / И.Ф.Астахова, А.П.Толстобров, В.М.Мельников.— Мн.: Новое знание, 2002. — 176 с. Теория и практика построения баз данных/Д.Кренке.- 8-е изд.- СПб.: Питер, 2003.- 800 с., ил.- (Серия «Классика computer science»).

Слайд 31






1.Введение в реляционные базы данных  
1.1. Реляционная модель
 
реляционная модель данных -  формальная основа или теория, на которой базируются реляционные системы. Для таких систем характерно выполнение трех условий:
Структурный аспект. 
Аспект целостности. 
Аспект обработки.
Описание слайда:
1.Введение в реляционные базы данных 1.1. Реляционная модель реляционная модель данных - формальная основа или теория, на которой базируются реляционные системы. Для таких систем характерно выполнение трех условий: Структурный аспект. Аспект целостности. Аспект обработки.

Слайд 32


Введение в базы данных, слайд №32
Описание слайда:

Слайд 33





Назначение некоторых операций базы данных
Операция SELECT предназначена для извлечения определенных строк из таблицы. 
Операция PROJECT предназначена для извлечения определенных столбцов из таблицы. 
Операция JOIN предназначена для соединения двух таблиц на основе общих значений в общих столбцах. При выполнении операции JOIN строки таблиц соединяются на основе значения некоторого столбца и только тогда, когда две строки соединяемых таблиц содержат в этих полях одинаковое значение.
Следует отметить, что в результате выполнения любой из приведенных операций получается также таблица. Это реляционное свойство называется замкнутостью.
Описание слайда:
Назначение некоторых операций базы данных Операция SELECT предназначена для извлечения определенных строк из таблицы. Операция PROJECT предназначена для извлечения определенных столбцов из таблицы. Операция JOIN предназначена для соединения двух таблиц на основе общих значений в общих столбцах. При выполнении операции JOIN строки таблиц соединяются на основе значения некоторого столбца и только тогда, когда две строки соединяемых таблиц содержат в этих полях одинаковое значение. Следует отметить, что в результате выполнения любой из приведенных операций получается также таблица. Это реляционное свойство называется замкнутостью.

Слайд 34






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

Слайд 35


Введение в базы данных, слайд №35
Описание слайда:

Слайд 36


Введение в базы данных, слайд №36
Описание слайда:

Слайд 37






мы удалили строку о сотруднике с фамилией «Буденко» (его номер «С4»):
DELETE Служащие WHERE НомСлужащего=«С4».
Концептуально это можно описать следующим образом: Старое значение отношения Служащие было заменено в целом совершенно другим, новым значением отношения. Т.е. приведенная операция удаления строки, по сути, - это просто другой, упрощенный способ записи операции реляционного присвоения:
Служащие := Служащие MINUS ( Служащие WHERE НомСлужащего=«С4»)
Ключевое слово MINUS используется для описания оператора реляционной разности.
Соответственно INSERT и UPDATE являются также иными формами записи соответствующих операций реляционного присвоения.
Описание слайда:
мы удалили строку о сотруднике с фамилией «Буденко» (его номер «С4»): DELETE Служащие WHERE НомСлужащего=«С4». Концептуально это можно описать следующим образом: Старое значение отношения Служащие было заменено в целом совершенно другим, новым значением отношения. Т.е. приведенная операция удаления строки, по сути, - это просто другой, упрощенный способ записи операции реляционного присвоения: Служащие := Служащие MINUS ( Служащие WHERE НомСлужащего=«С4») Ключевое слово MINUS используется для описания оператора реляционной разности. Соответственно INSERT и UPDATE являются также иными формами записи соответствующих операций реляционного присвоения.

Слайд 38





Предикат и истинное высказывание
Рассмотрим важный, способ представления смысла отношений: 
Во-первых, данное отношение r и заголовок отношения r представляют определенный предикат или логическую функцию.
Во-вторых, каждая строка в теле отношения r  представляет собой определенное истинное высказывание, полученное из предиката путем подстановки определенных значений аргументов соответствующего типа вместо местодержателей или параметров этого предиката.
Например, в случае, показанном на слайде, предикат будет следующим:
Служащий с номером НомСлужащего по фамилии ИмяСлужащего работает в отделе с номером НомОтдела и получает  зарплату Зарплата.
Здесь параметрами являются НомСлужащего, ИмяСлужащего, НомОтдела и Зарплата, которые соответствуют 4-м столбцам переменной-отношения Служащие. Примером соответствующего истинного высказывания может быть:
Служащий с номером ‘C1’ по фамилии ‘Иванов’ работает в отделе с номером ‘Отд1’ и получает  зарплату ’21 тыс. ден. ед.’.
Описание слайда:
Предикат и истинное высказывание Рассмотрим важный, способ представления смысла отношений: Во-первых, данное отношение r и заголовок отношения r представляют определенный предикат или логическую функцию. Во-вторых, каждая строка в теле отношения r представляет собой определенное истинное высказывание, полученное из предиката путем подстановки определенных значений аргументов соответствующего типа вместо местодержателей или параметров этого предиката. Например, в случае, показанном на слайде, предикат будет следующим: Служащий с номером НомСлужащего по фамилии ИмяСлужащего работает в отделе с номером НомОтдела и получает зарплату Зарплата. Здесь параметрами являются НомСлужащего, ИмяСлужащего, НомОтдела и Зарплата, которые соответствуют 4-м столбцам переменной-отношения Служащие. Примером соответствующего истинного высказывания может быть: Служащий с номером ‘C1’ по фамилии ‘Иванов’ работает в отделе с номером ‘Отд1’ и получает зарплату ’21 тыс. ден. ед.’.

Слайд 39






	Можно сказать, что:
типы- объекты (множества объектов), которые можно обсуждать;
отношения – факты (множества фактов), касающиеся объектов, которые можно обсуждать.
Важно понимать, что каждое отношение имеет связанный с ним предикат, включая отношения, полученные с помощью реляционных операторов, например оператора соединения.
 Пример 2.3. Отношение «Отделы», представленное на рис. 2.1 и три результирующих отношения, представленные на рис. 2.2, имеют следующие предикаты:
«Отделы»: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет».
Выборка строк из «Отделы», где Бюджет > 8M: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет, который больше 8 миллионов денежных единиц».
Извлечение столбцов НомОтдела и Бюджет из «Отделы»: «Отдел с номером НомОтдела имеет какое-то название и бюджет Бюджет».
Соединение переменных-отношений «Отделы» и «Служащие» на основе столбца НомОтдела: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет, а служащий с номером НомСлужащего по фамилии ИмяСлужащего работает в отделе с номером НомОтдела и получает зарплату Зарплата».
Описание слайда:
Можно сказать, что: типы- объекты (множества объектов), которые можно обсуждать; отношения – факты (множества фактов), касающиеся объектов, которые можно обсуждать. Важно понимать, что каждое отношение имеет связанный с ним предикат, включая отношения, полученные с помощью реляционных операторов, например оператора соединения. Пример 2.3. Отношение «Отделы», представленное на рис. 2.1 и три результирующих отношения, представленные на рис. 2.2, имеют следующие предикаты: «Отделы»: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет». Выборка строк из «Отделы», где Бюджет > 8M: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет, который больше 8 миллионов денежных единиц». Извлечение столбцов НомОтдела и Бюджет из «Отделы»: «Отдел с номером НомОтдела имеет какое-то название и бюджет Бюджет». Соединение переменных-отношений «Отделы» и «Служащие» на основе столбца НомОтдела: «Отдел с номером НомОтдела называется НазваниеОтд и имеет бюджет Бюджет, а служащий с номером НомСлужащего по фамилии ИмяСлужащего работает в отделе с номером НомОтдела и получает зарплату Зарплата».

Слайд 40






Реляционная БД – это такая БД, которая воспринимается ее пользователями как множество переменных, значениями которых являются отношения.
Поэтому реляционные системы иногда называют системами автоматической навигации. 
Ответственность за то, как именно выполняется автоматическая навигация, несет компонент СУБД – оптимизатор.
Описание слайда:
Реляционная БД – это такая БД, которая воспринимается ее пользователями как множество переменных, значениями которых являются отношения. Поэтому реляционные системы иногда называют системами автоматической навигации. Ответственность за то, как именно выполняется автоматическая навигация, несет компонент СУБД – оптимизатор.

Слайд 41


Введение в базы данных, слайд №41
Описание слайда:

Слайд 42






( TOPEMP WHERE SALARY < 21K) {  EMP#, SALARY }
( (EMP WHERE SALARY > = 19K) {  EMP#, ENAME, SALARY} 
WHERE SALARY < 21K) {  EMP#, SALARY }
После определенного количества перегруппировок это выражение может быть упрощено и может принять следующий вид:
( EMP WHERE SALARY > = 19K AND SALARY < 21K) {  EMP#, SALARY }
первоначальная операция над представлением конвертируется в эквивалентную операцию над соответствующей базовой переменной-отношением (при этом она оптимизируется).
Описание слайда:
( TOPEMP WHERE SALARY < 21K) { EMP#, SALARY } ( (EMP WHERE SALARY > = 19K) { EMP#, ENAME, SALARY} WHERE SALARY < 21K) { EMP#, SALARY } После определенного количества перегруппировок это выражение может быть упрощено и может принять следующий вид: ( EMP WHERE SALARY > = 19K AND SALARY < 21K) { EMP#, SALARY } первоначальная операция над представлением конвертируется в эквивалентную операцию над соответствующей базовой переменной-отношением (при этом она оптимизируется).

Слайд 43





Транзакции

		Транзакция – логическая единица работы, обычно включающая несколько операций над базой данных. Для пользователя должна иметься возможность указать системе, что отдельные операции являются частью одной транзакции. Для этого  используются операции BEGIN TRANSACTION, COMMIT и ROLLBACK. Как правило, транзакция начинается при выполнении операции BEGIN TRANSACTION и прекращается при выполнении операции COMMIT или ROLLBACK.

BEGIN TRANSACTION	/* Перевести деньги со счета A на счет B */
		UPDATE account A	/* Снятие денег со счета A */
		UPDATE account B	/* Помещение денег на счет B */
		IF <проверка условия> THEN
		COMMIT;		/* Нормальное завершение */ 
		ELSE ROLLBACK	/* Аварийное завершение (откат) */
ENDIF
Описание слайда:
Транзакции Транзакция – логическая единица работы, обычно включающая несколько операций над базой данных. Для пользователя должна иметься возможность указать системе, что отдельные операции являются частью одной транзакции. Для этого используются операции BEGIN TRANSACTION, COMMIT и ROLLBACK. Как правило, транзакция начинается при выполнении операции BEGIN TRANSACTION и прекращается при выполнении операции COMMIT или ROLLBACK. BEGIN TRANSACTION /* Перевести деньги со счета A на счет B */ UPDATE account A /* Снятие денег со счета A */ UPDATE account B /* Помещение денег на счет B */ IF <проверка условия> THEN COMMIT; /* Нормальное завершение */ ELSE ROLLBACK /* Аварийное завершение (откат) */ ENDIF

Слайд 44





Транзакции

Свойства транзакций:
Атомарность – гарантия (с логической точки зрения), что операции будут выполнены полностью или не выполнены вовсе, даже если в системе до окончания процесса выполнения произойдет сбой.
Продолжительность – гарантия того, что если транзакция успешно выполнила оператор COMMIT, то все выполненные ею изменения будут реализованы в БД, даже если в системе в какой-то момент произойдет сбой.
Изолированность. Если в системе выполняется одновременно несколько транзакций, то все изменения, сделанные одной из них, не будут видны остальным, пока она не выполнит оператор COMMIT.
Упорядоченность. При параллельном выполнении нескольких транзакций, операции которых чередуются между собой, гарантируется, что осуществление этих операций будет упорядоченным (serializable), т.е. результат будет таким же, как при строго последовательном выполнении этих же транзакций в произвольном порядке.
Описание слайда:
Транзакции Свойства транзакций: Атомарность – гарантия (с логической точки зрения), что операции будут выполнены полностью или не выполнены вовсе, даже если в системе до окончания процесса выполнения произойдет сбой. Продолжительность – гарантия того, что если транзакция успешно выполнила оператор COMMIT, то все выполненные ею изменения будут реализованы в БД, даже если в системе в какой-то момент произойдет сбой. Изолированность. Если в системе выполняется одновременно несколько транзакций, то все изменения, сделанные одной из них, не будут видны остальным, пока она не выполнит оператор COMMIT. Упорядоченность. При параллельном выполнении нескольких транзакций, операции которых чередуются между собой, гарантируется, что осуществление этих операций будет упорядоченным (serializable), т.е. результат будет таким же, как при строго последовательном выполнении этих же транзакций в произвольном порядке.

Слайд 45


Введение в базы данных, слайд №45
Описание слайда:

Слайд 46


Введение в базы данных, слайд №46
Описание слайда:

Слайд 47


Введение в базы данных, слайд №47
Описание слайда:

Слайд 48





2.4 Транзакции

Для операторов COMMIT и ROLLBACK в языке SQL есть прямые аналоги. Это операторы COMMIT WORK и ROLLBACK WORK соответственно (в обоих случаях слово WORK – необязательное). Но в языке SQL нет явного оператора, соответствующего оператору BEGIN TRANSACTION. Неявно транзакция начинается всякий раз, когда выполняется оператор, способный «инициализировать транзакцию» (transaction-initiating), но только в том случае, когда никакая транзакция не выполняется. Таковыми операторами являются практически все операторы, которые мы обсуждаем в этом разделе.
Замечание. Некоторые реализации языка SQL имеют в своем составе аналоги оператора BEGIN TRANSACTION, которые в явном виде позволяют задавать начало выполнения транзакции. Примером такой реализации может послужить СУБД Microsoft SQL Server 2000.
Описание слайда:
2.4 Транзакции Для операторов COMMIT и ROLLBACK в языке SQL есть прямые аналоги. Это операторы COMMIT WORK и ROLLBACK WORK соответственно (в обоих случаях слово WORK – необязательное). Но в языке SQL нет явного оператора, соответствующего оператору BEGIN TRANSACTION. Неявно транзакция начинается всякий раз, когда выполняется оператор, способный «инициализировать транзакцию» (transaction-initiating), но только в том случае, когда никакая транзакция не выполняется. Таковыми операторами являются практически все операторы, которые мы обсуждаем в этом разделе. Замечание. Некоторые реализации языка SQL имеют в своем составе аналоги оператора BEGIN TRANSACTION, которые в явном виде позволяют задавать начало выполнения транзакции. Примером такой реализации может послужить СУБД Microsoft SQL Server 2000.

Слайд 49





2.5 Взаимодействие приложений и СУБД

Для реализации возможности взаимодействия прикладных приложений, написанных прикладными программистами, с реляционной СУБД, использующей язык SQL, возможны несколько вариантов:
Первый вариант состоит во внедрении SQL-операторов в синтаксические конструкции того или иного языка и поддержка их на уровне компилятора, который осуществляет достаточно прозрачно взаимодействие с СУБД. 
Второй вариант представляет форму взаимодействия, когда с языком программирования поставляется несколько библиотек, которые реализуют возможность взаимодействия с СУБД
Описание слайда:
2.5 Взаимодействие приложений и СУБД Для реализации возможности взаимодействия прикладных приложений, написанных прикладными программистами, с реляционной СУБД, использующей язык SQL, возможны несколько вариантов: Первый вариант состоит во внедрении SQL-операторов в синтаксические конструкции того или иного языка и поддержка их на уровне компилятора, который осуществляет достаточно прозрачно взаимодействие с СУБД. Второй вариант представляет форму взаимодействия, когда с языком программирования поставляется несколько библиотек, которые реализуют возможность взаимодействия с СУБД

Слайд 50





3. Домены, отношения и базовые переменные-отношения 
Основой современной технологии БД является реляционная модель. 
в реляционной модели рассматриваются три принципиальных аспекта данных – 
структура данных,
манипулирование данными   
поддержание целостности данных.
Описание слайда:
3. Домены, отношения и базовые переменные-отношения Основой современной технологии БД является реляционная модель. в реляционной модели рассматриваются три принципиальных аспекта данных – структура данных, манипулирование данными поддержание целостности данных.

Слайд 51


Введение в базы данных, слайд №51
Описание слайда:

Слайд 52





3.1 Домены

Домен – это не что иное, как тип данных. В частности, возможно, простой, определяемый системой, подобно типам INTEGER и CHAR. В общем случае этот тип определяется пользователем.
Прежде всего, домен, или тип данных, это множество значений – всех возможных значений рассматриваемого типа. Например, тип INTEGER – это множество всех целых чисел. Говоря о каком-либо типе данных необходимо помнить об операторах, которые могут корректно применяться к значениям этого типа. Другими словами, значениями заданного типа можно манипулировать только с помощью операторов, определенных для этого типа.
Типы данных можно разделить на скалярные и нескалярные.
Описание слайда:
3.1 Домены Домен – это не что иное, как тип данных. В частности, возможно, простой, определяемый системой, подобно типам INTEGER и CHAR. В общем случае этот тип определяется пользователем. Прежде всего, домен, или тип данных, это множество значений – всех возможных значений рассматриваемого типа. Например, тип INTEGER – это множество всех целых чисел. Говоря о каком-либо типе данных необходимо помнить об операторах, которые могут корректно применяться к значениям этого типа. Другими словами, значениями заданного типа можно манипулировать только с помощью операторов, определенных для этого типа. Типы данных можно разделить на скалярные и нескалярные.

Слайд 53





3.2 Значения отношений

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

Слайд 54


Введение в базы данных, слайд №54
Описание слайда:

Слайд 55






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

Слайд 56


Введение в базы данных, слайд №56
Описание слайда:

Слайд 57






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

Слайд 58






Форма записи:
CREATE DOMAIN <имя домена> <имя встроенного типа>
	[ <определение значения по умолчанию> ]
	[ <ограничения> ] ;
	Необязательный параметр определение значения по умолчанию задает значение по умолчанию, которое будет применяться к каждому столбцу, определенному на этом домене и не имеющему собственного явно заданного значения по умолчанию. Значение этого параметра должно иметь вид DEFAULT <значение по умолчанию>, где значение по умолчанию может быть как литералом, именем 0-адического оператора (без операндов, CURRENT_DATE) или значением NULL. В параметре ограничения указываются все ограничения, накладываемые на домен.
Описание слайда:
Форма записи: CREATE DOMAIN <имя домена> <имя встроенного типа> [ <определение значения по умолчанию> ] [ <ограничения> ] ; Необязательный параметр определение значения по умолчанию задает значение по умолчанию, которое будет применяться к каждому столбцу, определенному на этом домене и не имеющему собственного явно заданного значения по умолчанию. Значение этого параметра должно иметь вид DEFAULT <значение по умолчанию>, где значение по умолчанию может быть как литералом, именем 0-адического оператора (без операндов, CURRENT_DATE) или значением NULL. В параметре ограничения указываются все ограничения, накладываемые на домен.

Слайд 59






оператор DROP DOMAIN, имеющего следующий синтаксис:
DROP DOMAIN <имя домена> <режим>;
Здесь параметр режим может принимать значения RESTICT или CASCADE.
Описание слайда:
оператор DROP DOMAIN, имеющего следующий синтаксис: DROP DOMAIN <имя домена> <режим>; Здесь параметр режим может принимать значения RESTICT или CASCADE.

Слайд 60






Оператор  CREATE TABLE (обращаем внимание, что слово TABLE подразумевает только базовую таблицу, также как и в операторах ALTER TABLE, DROP TABLE). 
Синтаксис выражения следующий:
CREATE TABLE <имя базовой таблицы>
		( <список элементов базовой таблицы>);
Здесь каждый элемент базовой таблицы является либо определением столбца, либо определением ограничения базовой таблицы. В последнем случае элемент задает ограничение поддержки целостности данных, которое будет применяться к создаваемой таблице. Этот вопрос мы рассмотрим в последующих лекциях. Определение столбца, в свою очередь, выглядит следующим образом:
<имя столбца> <тип или имя домена> [ <значение по умолчанию> ]
Параметр <имя столбца> указывает название столбца, параметр <тип или имя домена> задает используемый тип данных иди домен, а необязательный параметр <значение по умолчанию> определяет значение по умолчанию для соответствующего столбца, которое подавляет значение по умолчанию, указанное для домена.
Описание слайда:
Оператор CREATE TABLE (обращаем внимание, что слово TABLE подразумевает только базовую таблицу, также как и в операторах ALTER TABLE, DROP TABLE). Синтаксис выражения следующий: CREATE TABLE <имя базовой таблицы> ( <список элементов базовой таблицы>); Здесь каждый элемент базовой таблицы является либо определением столбца, либо определением ограничения базовой таблицы. В последнем случае элемент задает ограничение поддержки целостности данных, которое будет применяться к создаваемой таблице. Этот вопрос мы рассмотрим в последующих лекциях. Определение столбца, в свою очередь, выглядит следующим образом: <имя столбца> <тип или имя домена> [ <значение по умолчанию> ] Параметр <имя столбца> указывает название столбца, параметр <тип или имя домена> задает используемый тип данных иди домен, а необязательный параметр <значение по умолчанию> определяет значение по умолчанию для соответствующего столбца, которое подавляет значение по умолчанию, указанное для домена.

Слайд 61






Существующее определение базовой таблицы можно изменить в любое время с помощью оператора ALTER TABLE, который позволяет производить следующие изменения:
Добавить столбец;
Задать для существующего столбца новое значение по умолчанию;
Удалить значение по умолчанию для существующего столбца;
Удалить существующий столбец;
Задать новые ограничения целостности;
Удалить существующие ограничения целостности.
	Пример для первого случая приведен ниже:
ALTER TABLE S ADD COLUMN DISCOUNT INTEGER DEFAULT -1;
	Этот оператор добавляет в базовую таблицу S столбец с именем DISCOUNT типа INTEGER со значением по умолчанию -1.
Описание слайда:
Существующее определение базовой таблицы можно изменить в любое время с помощью оператора ALTER TABLE, который позволяет производить следующие изменения: Добавить столбец; Задать для существующего столбца новое значение по умолчанию; Удалить значение по умолчанию для существующего столбца; Удалить существующий столбец; Задать новые ограничения целостности; Удалить существующие ограничения целостности. Пример для первого случая приведен ниже: ALTER TABLE S ADD COLUMN DISCOUNT INTEGER DEFAULT -1; Этот оператор добавляет в базовую таблицу S столбец с именем DISCOUNT типа INTEGER со значением по умолчанию -1.

Слайд 62






существующую базовую таблицу можно уничтожить с помощью оператора DROP TABLE:
DROP TABLE <имя базовой таблицы> <режим>;
	Параметр режим принимает те же значения RESTRICT и  CASCADE, смысл которых аналогичен.
Описание слайда:
существующую базовую таблицу можно уничтожить с помощью оператора DROP TABLE: DROP TABLE <имя базовой таблицы> <режим>; Параметр режим принимает те же значения RESTRICT и CASCADE, смысл которых аналогичен.

Слайд 63


Введение в базы данных, слайд №63
Описание слайда:

Слайд 64





Тема № 1. Базы данных специального назначения
Лекция № 3: Реляционная алгебра. Реляционное исчисление. Средства языка SQL.
Учебные цели занятия: 
	Сформировать представление о:
Положениях реляционной алгебры и ее назначении, 
Положениях реляционного исчисления и его назначении, 
Средствах языка SQL манипулирования данными.
Ограничениях целостности используемых реляционной моделью
Учебные вопросы:
Реляционная алгебра
Реляционное исчисление
Целостность данных
Описание слайда:
Тема № 1. Базы данных специального назначения Лекция № 3: Реляционная алгебра. Реляционное исчисление. Средства языка SQL. Учебные цели занятия: Сформировать представление о: Положениях реляционной алгебры и ее назначении, Положениях реляционного исчисления и его назначении, Средствах языка SQL манипулирования данными. Ограничениях целостности используемых реляционной моделью Учебные вопросы: Реляционная алгебра Реляционное исчисление Целостность данных

Слайд 65





1. Реляционная алгебра
1.1 Введение в реляционную алгебру

Выборка   -  Возвращает отношение, содержащее все кортежи заданного отношения, которые удовлетворяют указанным условиям. Операцию выборки также иногда называют операцией ограничения.
Проекция - Возвращает отношение, содержащее все кортежи (подкортежи) заданного отношения, которые остались в этом отношении после исключения из него нескольких атрибутов.
Произведение  - Возвращает отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум заданным отношениям.
Объединение  -  Возвращает отношение, содержащее все кортежи, которые принадлежат либо одному из двух заданных отношений, либо им обоим.
Описание слайда:
1. Реляционная алгебра 1.1 Введение в реляционную алгебру Выборка - Возвращает отношение, содержащее все кортежи заданного отношения, которые удовлетворяют указанным условиям. Операцию выборки также иногда называют операцией ограничения. Проекция - Возвращает отношение, содержащее все кортежи (подкортежи) заданного отношения, которые остались в этом отношении после исключения из него нескольких атрибутов. Произведение - Возвращает отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум заданным отношениям. Объединение - Возвращает отношение, содержащее все кортежи, которые принадлежат либо одному из двух заданных отношений, либо им обоим.

Слайд 66





1. Реляционная алгебра
1.1 Введение в реляционную алгебру

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

Слайд 67





Графическая интерпретация восьми операторов
Описание слайда:
Графическая интерпретация восьми операторов

Слайд 68





1.2 Реляционная замкнутость

Результат выполнения любой операции над отношением также является отношением. Эта особенность является свойством реляционной замкнутости. 
Благодаря этому свойству можно записывать вложенные реляционные выражения, т.е. выражения, в которых операнды сами представлены реляционными выражениями, причем произвольной сложности.
результат обязательно должен иметь определенный тип отношения.
Описание слайда:
1.2 Реляционная замкнутость Результат выполнения любой операции над отношением также является отношением. Эта особенность является свойством реляционной замкнутости. Благодаря этому свойству можно записывать вложенные реляционные выражения, т.е. выражения, в которых операнды сами представлены реляционными выражениями, причем произвольной сложности. результат обязательно должен иметь определенный тип отношения.

Слайд 69





1.2 Реляционная замкнутость

Необходим встроенный в реляционную алгебру набор правил вывода типов (отношений), чтобы выводить тип (отношения) на выходе произвольной реляционной операции, зная типы (отношения) на ее входе.
Полезным в этом направлении является введение оператора переименования RENAME, который позволяет вернуть новое отношение, только указанные атрибуты которого имеют новые имена, а его значение остается прежним.
P RENAME PNAME AS PN, WEIGTH AS WT
Данный оператор позволяет устраниться от необходимости использования механизма уточнения имен атрибутов (P.WEIGHT, как в SQL).
Описание слайда:
1.2 Реляционная замкнутость Необходим встроенный в реляционную алгебру набор правил вывода типов (отношений), чтобы выводить тип (отношения) на выходе произвольной реляционной операции, зная типы (отношения) на ее входе. Полезным в этом направлении является введение оператора переименования RENAME, который позволяет вернуть новое отношение, только указанные атрибуты которого имеют новые имена, а его значение остается прежним. P RENAME PNAME AS PN, WEIGTH AS WT Данный оператор позволяет устраниться от необходимости использования механизма уточнения имен атрибутов (P.WEIGHT, как в SQL).

Слайд 70





1.3 Реляционная алгебра. Синтаксис (начало)
Описание слайда:
1.3 Реляционная алгебра. Синтаксис (начало)

Слайд 71





Реляционная алгебра. Синтаксис (конец)
Описание слайда:
Реляционная алгебра. Синтаксис (конец)

Слайд 72





Объединение
Описание слайда:
Объединение

Слайд 73





Пересечение
Описание слайда:
Пересечение

Слайд 74





Вычитание
Описание слайда:
Вычитание

Слайд 75





Декартово произведение
Описание слайда:
Декартово произведение

Слайд 76





Выборка
Описание слайда:
Выборка

Слайд 77





Проекция
Описание слайда:
Проекция

Слайд 78





Соединение
Описание слайда:
Соединение

Слайд 79





Деление
Описание слайда:
Деление

Слайд 80





1.5 Реляционная алгебра. Примеры
Описание слайда:
1.5 Реляционная алгебра. Примеры

Слайд 81





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

Слайд 82






Данными выражениями можно манипулировать в соответствии с различными символическими высокоуровневыми правилами преобразования.
Запрос ((SP JOIN S) WHERE P#=’P2’) {SNAME}
может быть преобразован в более рациональное выражение вида:
((SP WHERE P#=’P2’) JOIN S) {SNAME}
Таким образом, реляционная алгебра может быть хорошим основанием для выполнения оптимизации (что должно производиться оптимизатором автоматически).
В общем случае язык называют реляционно полным, если его возможности, по крайней мере, соответствуют возможностям, обеспечиваемым алгебраическими операциями, т.е. выражения этого языка позволяют определить каждое отношение, которое может быть определено с помощью алгебраических выражений
Описание слайда:
Данными выражениями можно манипулировать в соответствии с различными символическими высокоуровневыми правилами преобразования. Запрос ((SP JOIN S) WHERE P#=’P2’) {SNAME} может быть преобразован в более рациональное выражение вида: ((SP WHERE P#=’P2’) JOIN S) {SNAME} Таким образом, реляционная алгебра может быть хорошим основанием для выполнения оптимизации (что должно производиться оптимизатором автоматически). В общем случае язык называют реляционно полным, если его возможности, по крайней мере, соответствуют возможностям, обеспечиваемым алгебраическими операциями, т.е. выражения этого языка позволяют определить каждое отношение, которое может быть определено с помощью алгебраических выражений

Слайд 83





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

Слайд 84






	Пример 
В качестве примера рассмотрим следующий запрос: «Выбрать номера поставщиков и названия городов, в которых находятся поставщики детали с номером ‘P2’».
Алгебраическая версия запроса выглядит следующим образом: 1) сначала выполнить соединение отношения поставщиков S и отношения поставок по атрибуту S#; 2) Выбрать из результата соединения кортежи с номером детали ‘P2’; 3)Выполнить проекцию для результата этой выборки по атрибутам S# и CITY.
В терминах реляционного исчисления запрос формулируется следующим образом:
	Получить атрибуты S# и CITY для таких поставщиков S, для которых в отношении SP существует запись о поставке с тем же значением атрибута S# и со значением атрибута P#, равным ‘P2’.
	Т.е. указываются лишь некоторые характеристики требуемого результата, оставляя системе решать, что именно и в какой последовательности соединять, проецировать и т.д., чтобы получить необходимый результат.
Реляционное исчисление носит описательный характер, а реляционная алгебра – предписывающий, т.е. не описывается, в чем заключается проблема, а задается процедура решения этой проблемы.
Описание слайда:
Пример В качестве примера рассмотрим следующий запрос: «Выбрать номера поставщиков и названия городов, в которых находятся поставщики детали с номером ‘P2’». Алгебраическая версия запроса выглядит следующим образом: 1) сначала выполнить соединение отношения поставщиков S и отношения поставок по атрибуту S#; 2) Выбрать из результата соединения кортежи с номером детали ‘P2’; 3)Выполнить проекцию для результата этой выборки по атрибутам S# и CITY. В терминах реляционного исчисления запрос формулируется следующим образом: Получить атрибуты S# и CITY для таких поставщиков S, для которых в отношении SP существует запись о поставке с тем же значением атрибута S# и со значением атрибута P#, равным ‘P2’. Т.е. указываются лишь некоторые характеристики требуемого результата, оставляя системе решать, что именно и в какой последовательности соединять, проецировать и т.д., чтобы получить необходимый результат. Реляционное исчисление носит описательный характер, а реляционная алгебра – предписывающий, т.е. не описывается, в чем заключается проблема, а задается процедура решения этой проблемы.

Слайд 85






Реляционное исчисление основано на разделе математической логики, которое называется исчислением предикатов. 
Основным понятием реляционного исчисления является понятие переменной кортежа – переменная, «изменяющаяся на» некотором заданном отношении, т.е. переменная, допустимыми значениями для которой являются кортежи заданного отношения. 
Другими словами, если переменная кортежа V изменяется в пределах отношения r, то в любой заданный момент времени переменная V представляет некоторый кортеж t отношения r.
В связи с тем, что реляционное исчисление основано на переменных кортежа, его первоначальную версию называют также исчислением кортежей.
Описание слайда:
Реляционное исчисление основано на разделе математической логики, которое называется исчислением предикатов. Основным понятием реляционного исчисления является понятие переменной кортежа – переменная, «изменяющаяся на» некотором заданном отношении, т.е. переменная, допустимыми значениями для которой являются кортежи заданного отношения. Другими словами, если переменная кортежа V изменяется в пределах отношения r, то в любой заданный момент времени переменная V представляет некоторый кортеж t отношения r. В связи с тем, что реляционное исчисление основано на переменных кортежа, его первоначальную версию называют также исчислением кортежей.

Слайд 86





2.Реляционная исчисление. 2.2 Исчисление кортежей.  Синтаксис (начало)
Описание слайда:
2.Реляционная исчисление. 2.2 Исчисление кортежей. Синтаксис (начало)

Слайд 87





2. Реляционная исчисление. 
 Синтаксис (конец)
Описание слайда:
2. Реляционная исчисление. Синтаксис (конец)

Слайд 88





Переменные кортежей
Приведем примеры определения переменных кортежей для БД поставщиков и деталей:
RANGEVAR SX RANGES OVER S
RANGEVAR SY RANGES OVER S
RANGEVAR SPX RANGES OVER SP
RANGEVAR SPY RANGES OVER SP
RANGEVAR PX RANGES OVER P
	
	RANGEVAR SU RANGES OVER
		(SX WHERE SX.CITY = ‘Москва’),
		(SX WHERE EXISTS SPX (SPX.S# = SX.S# AND
	SPX.P# = ‘P1’))
Переменная кортежа SU определенная на объединении множества поставщиков, находящихся в Москве, и множества кортежей поставщиков детали с номером ‘P1’. Конечно, отношения при их объединении должны быть совместимы по типу.
Замечание. Переменные кортежей не являются переменными в обычном смысле, а скорее представляют некоторый аналог местодержателям, или параметрам, предикатов, а, следовательно, являются переменными в логическом смысле.
Описание слайда:
Переменные кортежей Приведем примеры определения переменных кортежей для БД поставщиков и деталей: RANGEVAR SX RANGES OVER S RANGEVAR SY RANGES OVER S RANGEVAR SPX RANGES OVER SP RANGEVAR SPY RANGES OVER SP RANGEVAR PX RANGES OVER P RANGEVAR SU RANGES OVER (SX WHERE SX.CITY = ‘Москва’), (SX WHERE EXISTS SPX (SPX.S# = SX.S# AND SPX.P# = ‘P1’)) Переменная кортежа SU определенная на объединении множества поставщиков, находящихся в Москве, и множества кортежей поставщиков детали с номером ‘P1’. Конечно, отношения при их объединении должны быть совместимы по типу. Замечание. Переменные кортежей не являются переменными в обычном смысле, а скорее представляют некоторый аналог местодержателям, или параметрам, предикатов, а, следовательно, являются переменными в логическом смысле.

Слайд 89





Свободные и связанные переменные кортежей
Каждая ссылка на переменную кортежа является либо свободной, либо связанной.
Пусть V – переменная кортежа, тогда:
Ссылки на переменную V в логических выражениях типа NOT p свободны или связаны в пределах этого выражения в зависимости от того, свободны они или нет в формуле p. Ссылки на переменную V в логических выражениях типа (p AND q) и (p OR q) свободны или связаны в зависимости от того, свободны ли они в выражениях p и q.
Ссылки на переменную V, которые свободны в логическом выражении p, связаны в логических выражениях типа EXISTS V(p) и FORALL V(p) в соответствии с тем, свободны ли они в формуле p
Описание слайда:
Свободные и связанные переменные кортежей Каждая ссылка на переменную кортежа является либо свободной, либо связанной. Пусть V – переменная кортежа, тогда: Ссылки на переменную V в логических выражениях типа NOT p свободны или связаны в пределах этого выражения в зависимости от того, свободны они или нет в формуле p. Ссылки на переменную V в логических выражениях типа (p AND q) и (p OR q) свободны или связаны в зависимости от того, свободны ли они в выражениях p и q. Ссылки на переменную V, которые свободны в логическом выражении p, связаны в логических выражениях типа EXISTS V(p) и FORALL V(p) в соответствии с тем, свободны ли они в формуле p

Слайд 90






	Пример  
	Приведем некоторые примеры свободных и связанных переменных кортежей:
Примеры свободных переменных кортежей:
	SX.S# = ’П1’
	SX.S# = SPX.S#
	NOT (SX.CITY = ’Москва’)
	SX.S#=SPX.S# AND SPX.P# <> PX.P#
	PX.COLOR = ‘Красный’ OR PX.CITY = ’Москва’
Примеры связанных переменных кортежей:
	EXISTS SPX (SPX.S#=SX.S# AND SPX.P#=’P2’)
	FORALL PX (PX.COLOR=’Красный’)
Описание слайда:
Пример Приведем некоторые примеры свободных и связанных переменных кортежей: Примеры свободных переменных кортежей: SX.S# = ’П1’ SX.S# = SPX.S# NOT (SX.CITY = ’Москва’) SX.S#=SPX.S# AND SPX.P# <> PX.P# PX.COLOR = ‘Красный’ OR PX.CITY = ’Москва’ Примеры связанных переменных кортежей: EXISTS SPX (SPX.S#=SX.S# AND SPX.P#=’P2’) FORALL PX (PX.COLOR=’Красный’)

Слайд 91





Кванторы
Существует два квантора: EXISTS и FORALL. 
Квантор EXISTS является квантором существования, а FORALL – квантором всеобщности.
Если выражение p – логическое выражение, в которой переменная V свободна, то выражения EXISTS V(p) и FORALL V(p) также являются допустимыми логическими выражениями, но переменная V в них обеих будет связанная.
Первая формула означает: «Существует, по крайней мере, одно значение переменной V, такое, что вычисление выражения p дает для него значение истина». Второе выражение означает: «Для всех значений переменной V вычисление выражения p дает для него значение истина».
Описание слайда:
Кванторы Существует два квантора: EXISTS и FORALL. Квантор EXISTS является квантором существования, а FORALL – квантором всеобщности. Если выражение p – логическое выражение, в которой переменная V свободна, то выражения EXISTS V(p) и FORALL V(p) также являются допустимыми логическими выражениями, но переменная V в них обеих будет связанная. Первая формула означает: «Существует, по крайней мере, одно значение переменной V, такое, что вычисление выражения p дает для него значение истина». Второе выражение означает: «Для всех значений переменной V вычисление выражения p дает для него значение истина».

Слайд 92






	Пример 
 Рассмотрим следующий квантор существования:
	EXISTS SPX (SPX.S#=SX.S# AND SPX.P#=’P2’)
Данное выражение может быть прочитано следующим образом:
	В текущем значении переменной-отношения SP существует, по крайней мере, один кортеж (скажем, SPX), такой, для которого значение атрибута S# в этом кортеже равно значению атрибута SX.S# (какое бы оно ни было), а значение атрибута P# в кортеже SPX равно ‘P2’.
Описание слайда:
Пример Рассмотрим следующий квантор существования: EXISTS SPX (SPX.S#=SX.S# AND SPX.P#=’P2’) Данное выражение может быть прочитано следующим образом: В текущем значении переменной-отношения SP существует, по крайней мере, один кортеж (скажем, SPX), такой, для которого значение атрибута S# в этом кортеже равно значению атрибута SX.S# (какое бы оно ни было), а значение атрибута P# в кортеже SPX равно ‘P2’.

Слайд 93





2.3 Примеры использования исчисления кортежей
Описание слайда:
2.3 Примеры использования исчисления кортежей

Слайд 94





2.4 Средства языка SQL (начало)
Описание слайда:
2.4 Средства языка SQL (начало)

Слайд 95





Средства языка SQL (продолжение)
Описание слайда:
Средства языка SQL (продолжение)

Слайд 96





Средства языка SQL (продолжение)
Описание слайда:
Средства языка SQL (продолжение)

Слайд 97





Средства языка SQL (конец)
Описание слайда:
Средства языка SQL (конец)

Слайд 98





Типы (категории) ограничений целостности данных
Описание слайда:
Типы (категории) ограничений целостности данных

Слайд 99





Ограничения переменной-отношения и БД. Примеры
Описание слайда:
Ограничения переменной-отношения и БД. Примеры

Слайд 100





«Золотое правило»
Описание слайда:
«Золотое правило»

Слайд 101





Потенциальные ключи
Описание слайда:
Потенциальные ключи

Слайд 102





Внешние ключи
Описание слайда:
Внешние ключи

Слайд 103





Ограничения целостности в SQL (начало)
Описание слайда:
Ограничения целостности в SQL (начало)

Слайд 104





Ограничения целостности в SQL (конец)
Описание слайда:
Ограничения целостности в SQL (конец)

Слайд 105





Вопросы на самоподготовку:
Описание слайда:
Вопросы на самоподготовку:

Слайд 106





Тема № 1. Базы данных специального назначения
Лекция № 4: Нормализация баз данных
Учебные цели занятия: 
	Сформировать представление о:
Функциональных зависимостях и их назначении, 
Процессе нормализации и его назначении,
Нормальных формах 1НФ, 2НФ, 3НФб НФБК
Процедурах нормализации  (до 3НФ,  НФБК)
Учебные вопросы:
Функциональные зависимости
Нормализация: формы 1НФ, 2НФ, 3НФ и НФБК
Нормализация: более высокие нормальные формы
Описание слайда:
Тема № 1. Базы данных специального назначения Лекция № 4: Нормализация баз данных Учебные цели занятия: Сформировать представление о: Функциональных зависимостях и их назначении, Процессе нормализации и его назначении, Нормальных формах 1НФ, 2НФ, 3НФб НФБК Процедурах нормализации (до 3НФ, НФБК) Учебные вопросы: Функциональные зависимости Нормализация: формы 1НФ, 2НФ, 3НФ и НФБК Нормализация: более высокие нормальные формы

Слайд 107





1. Функциональная зависимость
Описание слайда:
1. Функциональная зависимость

Слайд 108





1.2 Основные определения 
Левая и правая части функциональной зависимости (X и Y соответственно), называют детерминантом и зависимой частью соответственно 
Следует отметить, что если X является потенциальным ключом переменной-отношения R, то все атрибуты Y переменной-отношения R должны обязательно быть функционально зависимы от X.
Если переменная-отношение R удовлетворяет функциональной зависимости A  B и A не является потенциальным ключом, то R будет характеризоваться некоторой избыточностью. Например, в переменной-отношении SCP наличие ФЗ S#  CITY приведет к тому, что сведения о месте расположения поставщика в определенном городе повторятся много раз
Описание слайда:
1.2 Основные определения Левая и правая части функциональной зависимости (X и Y соответственно), называют детерминантом и зависимой частью соответственно Следует отметить, что если X является потенциальным ключом переменной-отношения R, то все атрибуты Y переменной-отношения R должны обязательно быть функционально зависимы от X. Если переменная-отношение R удовлетворяет функциональной зависимости A  B и A не является потенциальным ключом, то R будет характеризоваться некоторой избыточностью. Например, в переменной-отношении SCP наличие ФЗ S#  CITY приведет к тому, что сведения о месте расположения поставщика в определенном городе повторятся много раз

Слайд 109





Функциональные зависимости (примеры)
Описание слайда:
Функциональные зависимости (примеры)

Слайд 110





1.3 Тривиальные и нетривиальные зависимости 
Зависимость называется тривиальной, если она не может не выполняться. В качестве примера приведем тривиальную ФЗ, существующую в переменной-отношении SCP, которая обсуждалась в предыдущем разделе:
{S#, P#}  S#
Функциональная зависимость называется тривиальной тогда и только тогда, когда первая часть ее символической записи является подмножеством (не обязательно собственным) левой части. Формальное определение выглядит следующим образом:
Функциональная зависимость называется тривиальной тогда и только тогда, когда ее зависимая часть является подмножеством (не обязательно собственным) детерминанта.
С практической точки зрения такие зависимости не представляют никакого интереса – в отличие от нетривиальных зависимостей, которые действительно являются реальными ограничениями целостности. Однако в формальной теории зависимостей необходимо учитывать все зависимости, как тривиальные, так и нетривиальные
Описание слайда:
1.3 Тривиальные и нетривиальные зависимости Зависимость называется тривиальной, если она не может не выполняться. В качестве примера приведем тривиальную ФЗ, существующую в переменной-отношении SCP, которая обсуждалась в предыдущем разделе: {S#, P#}  S# Функциональная зависимость называется тривиальной тогда и только тогда, когда первая часть ее символической записи является подмножеством (не обязательно собственным) левой части. Формальное определение выглядит следующим образом: Функциональная зависимость называется тривиальной тогда и только тогда, когда ее зависимая часть является подмножеством (не обязательно собственным) детерминанта. С практической точки зрения такие зависимости не представляют никакого интереса – в отличие от нетривиальных зависимостей, которые действительно являются реальными ограничениями целостности. Однако в формальной теории зависимостей необходимо учитывать все зависимости, как тривиальные, так и нетривиальные

Слайд 111





1.4 Замыкание множества  зависимостей 
Как уже упоминалось, одни ФЗ могут подразумевать другие ФЗ. Например, рассмотрим приведенную ниже ФЗ.
{S#, P#}  {CITY, QTY}
Она подразумевает следующие ФЗ:
{S#, P#}  CITY
{S#, P#}  QTY
В качестве более сложного примера рассмотрим переменную-отношение R с атрибутами A, B, C, для которых выполняются ФЗ A  B и B  C. Нетрудно заметить, что в этом случае выполняется и ФЗ A  C, которая называется транзитивной ФЗ, т.е. C зависит от A транзитивно, через B.
Множество всех ФЗ, которые подразумеваются заданным множеством ФЗ S, называется замыканием множества S и обозначается символом S+.
Из этого определения следует, что необходим способ вычисления S+ на основе S.
Описание слайда:
1.4 Замыкание множества зависимостей Как уже упоминалось, одни ФЗ могут подразумевать другие ФЗ. Например, рассмотрим приведенную ниже ФЗ. {S#, P#}  {CITY, QTY} Она подразумевает следующие ФЗ: {S#, P#}  CITY {S#, P#}  QTY В качестве более сложного примера рассмотрим переменную-отношение R с атрибутами A, B, C, для которых выполняются ФЗ A  B и B  C. Нетрудно заметить, что в этом случае выполняется и ФЗ A  C, которая называется транзитивной ФЗ, т.е. C зависит от A транзитивно, через B. Множество всех ФЗ, которые подразумеваются заданным множеством ФЗ S, называется замыканием множества S и обозначается символом S+. Из этого определения следует, что необходим способ вычисления S+ на основе S.

Слайд 112





Правила вывода (аксиомы Армстронга)
Описание слайда:
Правила вывода (аксиомы Армстронга)

Слайд 113






Пример 4.2. Пусть дана переменная-отношение R с атрибутами A, B, C, D, E, F и следующими ФЗ:
A  BC
B  E
CD  EF
Можно показать, что для переменной-отношения R выполняется ФЗ AD  F, которая вследствие этого принадлежит замыканию множества ФЗ.
A  BC (дано)
A  C (декомпозиция из п.1)
AD  CD (дополнение из п.2)
CD  EF (дано)
AD  EF (транзитивность из пп.3 и 4)
AD  F (декомпозиция из п.5)
Описание слайда:
Пример 4.2. Пусть дана переменная-отношение R с атрибутами A, B, C, D, E, F и следующими ФЗ: A  BC B  E CD  EF Можно показать, что для переменной-отношения R выполняется ФЗ AD  F, которая вследствие этого принадлежит замыканию множества ФЗ. A  BC (дано) A  C (декомпозиция из п.1) AD  CD (дополнение из п.2) CD  EF (дано) AD  EF (транзитивность из пп.3 и 4) AD  F (декомпозиция из п.5)

Слайд 114





1.5 Замыкание множества атрибутов
Описание слайда:
1.5 Замыкание множества атрибутов

Слайд 115





1.5 Замыкание множества атрибутов (пример)
Пример 4.3. Пусть дана переменная-отношение R с атрибутами A, B, C, D, E, F и следующими ФЗ:
A  BC
E  CF
B  E
CD  EF
Вычислим замыкание {A,B}+, исходя из указанного множества ФЗ:
Присвоим замыканию CLOSURE[Z,S] начальное значение – множество {A,B}.
Описание слайда:
1.5 Замыкание множества атрибутов (пример) Пример 4.3. Пусть дана переменная-отношение R с атрибутами A, B, C, D, E, F и следующими ФЗ: A  BC E  CF B  E CD  EF Вычислим замыкание {A,B}+, исходя из указанного множества ФЗ: Присвоим замыканию CLOSURE[Z,S] начальное значение – множество {A,B}.

Слайд 116





1.5 Замыкание множества атрибутов (пример)
Выполним внутренний цикл четыре раза – по одному для каждой ФЗ. На первой итерации будет обнаружено, что левая часть действительно является подмножеством замыкания CLOSURE[Z,S]. Таким образом, к результату добавляются атрибуты B и C. В результате замыкание CLOSURE[Z,S] представляет собой множество {A,B,C}.
На второй итерации (E  CF) к замыканию не добавляется атрибутов.
На третьей итерации (B  E) к замыканию CLOSURE[Z,S] добавляется атрибут E. Теперь замыкание CLOSURE[Z,S] представляет собой множество {A,B,C,E}.
На четвертой итерации (CD  EF) к замыканию не добавляется атрибутов.
Далее внутренний цикл выполняется еще четыре раза, в ходе чего на второй итерации (E  CF) к замыканию добавится атрибут F.
После еще одного четырехкратного прохождения внутреннего цикла замыкание не изменится, и процесс завершится с результатом {A,B}+={A,B,C,E,F}.
Данный алгоритм представляет простой способ определения, будет ли данная ФЗ XY в замыкание S+ множества S.
Описание слайда:
1.5 Замыкание множества атрибутов (пример) Выполним внутренний цикл четыре раза – по одному для каждой ФЗ. На первой итерации будет обнаружено, что левая часть действительно является подмножеством замыкания CLOSURE[Z,S]. Таким образом, к результату добавляются атрибуты B и C. В результате замыкание CLOSURE[Z,S] представляет собой множество {A,B,C}. На второй итерации (E  CF) к замыканию не добавляется атрибутов. На третьей итерации (B  E) к замыканию CLOSURE[Z,S] добавляется атрибут E. Теперь замыкание CLOSURE[Z,S] представляет собой множество {A,B,C,E}. На четвертой итерации (CD  EF) к замыканию не добавляется атрибутов. Далее внутренний цикл выполняется еще четыре раза, в ходе чего на второй итерации (E  CF) к замыканию добавится атрибут F. После еще одного четырехкратного прохождения внутреннего цикла замыкание не изменится, и процесс завершится с результатом {A,B}+={A,B,C,E,F}. Данный алгоритм представляет простой способ определения, будет ли данная ФЗ XY в замыкание S+ множества S.

Слайд 117





1.6 Неприводимые множества зависимостей
Описание слайда:
1.6 Неприводимые множества зависимостей

Слайд 118






Пусть S1 и S2 – два множества ФЗ. Если любая ФЗ, которая выводится из множества ФЗ S1, также выводится из множества ФЗ S2 (т.е. S1+ - подмножество S2+), то множество S2 называется покрытием множества S1. Это означает, что если СУБД поддерживает все ограничения целостности, представленных ФЗ S2, то она автоматически поддерживает и все  ограничения целостности, представленные ФЗ S1.
Если множество S1 является покрытием для множества S2, а множество S2 одновременно является покрытием для множества S1 (S1+=S2+), то множества S1 и S2 называются эквивалентными.
Описание слайда:
Пусть S1 и S2 – два множества ФЗ. Если любая ФЗ, которая выводится из множества ФЗ S1, также выводится из множества ФЗ S2 (т.е. S1+ - подмножество S2+), то множество S2 называется покрытием множества S1. Это означает, что если СУБД поддерживает все ограничения целостности, представленных ФЗ S2, то она автоматически поддерживает и все ограничения целостности, представленные ФЗ S1. Если множество S1 является покрытием для множества S2, а множество S2 одновременно является покрытием для множества S1 (S1+=S2+), то множества S1 и S2 называются эквивалентными.

Слайд 119






Пример 4.4. Пусть дана переменная-отношение R с атрибутами A, B, C, D и следующими ФЗ:
A  BC
B  C
A  B
AB  C
AC  D
Найдем неприводимое множество ФЗ, эквивалентное данному множеству.
Прежде всего, перепишем заданные ФЗ, чтобы каждая из них имела одноэлементную правую часть, используя правило декомпозиции, при этом удалив одну из ФЗ A  B:
A  B
A  C
Описание слайда:
Пример 4.4. Пусть дана переменная-отношение R с атрибутами A, B, C, D и следующими ФЗ: A  BC B  C A  B AB  C AC  D Найдем неприводимое множество ФЗ, эквивалентное данному множеству. Прежде всего, перепишем заданные ФЗ, чтобы каждая из них имела одноэлементную правую часть, используя правило декомпозиции, при этом удалив одну из ФЗ A  B: A  B A  C

Слайд 120






B  C
AB  C
AC  D
Затем в детерминанте ФЗ AC  D может быть опущен атрибут C, поскольку имеется зависимость A  C, из которой по правилу дополнения можно получить зависимость AAC. Кроме того, дана ФЗ AC  D, из которой по правилу транзитивности можно получить ФЗ A  D. Таким образом, атрибут C в детерминанте ФЗ AC  D является избыточным.
Далее, ФЗ AB  C может быть исключена, поскольку дана зависимость A  C, из которой по правилу дополнения можно получить ФЗ AB  CB, а затем по правилу декомпозиции – ФЗ AB  C.
Наконец ФЗ A  C подразумевается зависимостями A  B и B  C, а следовательно может быть отброшена. В результате получаем неприводимое множество ФЗ:
A  B
B  C
A  D
Множество ФЗ I, которое неприводимо и эквивалентно другому множеству ФЗ S, называется неприводимым покрытием множества S. Таким образом, в системе вместо исходно множества ФЗ S может использоваться его неприводимое покрытие I. Однако следует отметить, что для заданного множества ФЗ не всегда существует уникальное неприводимое покрытие.
Описание слайда:
B  C AB  C AC  D Затем в детерминанте ФЗ AC  D может быть опущен атрибут C, поскольку имеется зависимость A  C, из которой по правилу дополнения можно получить зависимость AAC. Кроме того, дана ФЗ AC  D, из которой по правилу транзитивности можно получить ФЗ A  D. Таким образом, атрибут C в детерминанте ФЗ AC  D является избыточным. Далее, ФЗ AB  C может быть исключена, поскольку дана зависимость A  C, из которой по правилу дополнения можно получить ФЗ AB  CB, а затем по правилу декомпозиции – ФЗ AB  C. Наконец ФЗ A  C подразумевается зависимостями A  B и B  C, а следовательно может быть отброшена. В результате получаем неприводимое множество ФЗ: A  B B  C A  D Множество ФЗ I, которое неприводимо и эквивалентно другому множеству ФЗ S, называется неприводимым покрытием множества S. Таким образом, в системе вместо исходно множества ФЗ S может использоваться его неприводимое покрытие I. Однако следует отметить, что для заданного множества ФЗ не всегда существует уникальное неприводимое покрытие.

Слайд 121





2. Нормализация: формы 1НФ, 2НФ, 3НФ и НФБК

Процесс дальнейшей нормализации, который ниже будет упоминаться просто как нормализация, основывается на концепции нормальных форм. Говорят, что переменная-отношение находится в определенной нормальной форме, если она удовлетворяет некоторому набору условий. Например, переменная-отношение находится во второй нормальной форме (2НФ), если она находится в первой нормальной форме и удовлетворяет некоторым дополнительным условиям.
Описание слайда:
2. Нормализация: формы 1НФ, 2НФ, 3НФ и НФБК Процесс дальнейшей нормализации, который ниже будет упоминаться просто как нормализация, основывается на концепции нормальных форм. Говорят, что переменная-отношение находится в определенной нормальной форме, если она удовлетворяет некоторому набору условий. Например, переменная-отношение находится во второй нормальной форме (2НФ), если она находится в первой нормальной форме и удовлетворяет некоторым дополнительным условиям.

Слайд 122





Уровни нормализации
Описание слайда:
Уровни нормализации

Слайд 123





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

Слайд 124





Первая нормальная форма (1НФ)
Описание слайда:
Первая нормальная форма (1НФ)

Слайд 125





Нормализация (пример 1НФ)
Описание слайда:
Нормализация (пример 1НФ)

Слайд 126





Вторая нормальная форма (2НФ)
Описание слайда:
Вторая нормальная форма (2НФ)

Слайд 127





Нормализация (пример 2НФ)
Описание слайда:
Нормализация (пример 2НФ)

Слайд 128





Третья нормальная форма (3НФ)
Описание слайда:
Третья нормальная форма (3НФ)

Слайд 129





Нормальная форма Бойса-Кодда (НФБК)
Описание слайда:
Нормальная форма Бойса-Кодда (НФБК)

Слайд 130





Четвертая нормальная форма (4НФ)
Описание слайда:
Четвертая нормальная форма (4НФ)

Слайд 131





Четвертая нормальная форма (4НФ) Продолжение
Описание слайда:
Четвертая нормальная форма (4НФ) Продолжение

Слайд 132





Четвертая нормальная форма (4НФ) Окончание
Описание слайда:
Четвертая нормальная форма (4НФ) Окончание

Слайд 133





Пятая нормальная форма (5НФ)
Описание слайда:
Пятая нормальная форма (5НФ)

Слайд 134





Пятая нормальная форма (5НФ) Продолжение
Описание слайда:
Пятая нормальная форма (5НФ) Продолжение

Слайд 135





Пятая нормальная форма (5НФ) Продолжение
Описание слайда:
Пятая нормальная форма (5НФ) Продолжение

Слайд 136





Пятая нормальная форма (5НФ) Окончание
Описание слайда:
Пятая нормальная форма (5НФ) Окончание

Слайд 137





Вопросы на самоподготовку:
Описание слайда:
Вопросы на самоподготовку:

Слайд 138





Общая схема процедуры нормализации 
Весь процесс нормализации можно неформально определить с помощью перечисленных ниже правил.
Переменную-отношение в 1НФ следует разбить на такие проекции, которые позволят исключить все функциональные зависимости, не являющиеся неприводимыми. В результате будет получен набор переменных-отношений в 2НФ.
Полученные переменные-отношения в 2НФ следует разбить на такие проекции, которые позволят исключить все существующие транзитивные ФЗ. В результате будет получен набор переменных-отношений в 3НФ.
Полученные переменные-отношения в 3НФ следует разбить на проекции, позволяющие исключить любые оставшиеся ФЗ, в которых детерминанты не являются потенциальными ключами. В результате такого разбиения будет получен набор переменных-отношений в НФБК.
Полученные переменные-отношения в НФБК следует разбить на проекции, позволяющие исключить любые многозначные зависимости, которые не являются функциональными. В результате будет получен набор переменных-отношений в 4НФ.
Полученные переменные-отношения в 4НФ следует разбить на проекции, позволяющие исключить любые зависимости соединения, которые не подразумеваются потенциальными ключами. В результате получаем набор переменных-отношений в 5НФ.
Описание слайда:
Общая схема процедуры нормализации Весь процесс нормализации можно неформально определить с помощью перечисленных ниже правил. Переменную-отношение в 1НФ следует разбить на такие проекции, которые позволят исключить все функциональные зависимости, не являющиеся неприводимыми. В результате будет получен набор переменных-отношений в 2НФ. Полученные переменные-отношения в 2НФ следует разбить на такие проекции, которые позволят исключить все существующие транзитивные ФЗ. В результате будет получен набор переменных-отношений в 3НФ. Полученные переменные-отношения в 3НФ следует разбить на проекции, позволяющие исключить любые оставшиеся ФЗ, в которых детерминанты не являются потенциальными ключами. В результате такого разбиения будет получен набор переменных-отношений в НФБК. Полученные переменные-отношения в НФБК следует разбить на проекции, позволяющие исключить любые многозначные зависимости, которые не являются функциональными. В результате будет получен набор переменных-отношений в 4НФ. Полученные переменные-отношения в 4НФ следует разбить на проекции, позволяющие исключить любые зависимости соединения, которые не подразумеваются потенциальными ключами. В результате получаем набор переменных-отношений в 5НФ.

Слайд 139





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



Похожие презентации
Mypresentation.ru
Загрузить презентацию