Основные понятия реляционных баз данных презентация. Виды моделей данных

1 слайд

2 слайд

Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. Модель данных - совокупность структур данных и операций их обработки.

3 слайд

4 слайд

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

5 слайд

6 слайд

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

7 слайд

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

8 слайд

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

1. Термины и определения 1. База данных (database) – поименованная совокупность структурированных данных, относящихся к определенной предметной области 2. Предметная область – часть реально существующей системы, функционирующая как самостоятельная единица 3. Реляционная БД –тип современных баз данных 4. Таблица (table) – регулярная структура, состоящая из однотипных строк (records), разбитых на столбцы (fields) 5. Таблица реляционной БД – отношение (relation). Строка – кортеж. Столбец – атрибут 2


1. Термины и определения 6. Таблица в концептуальной модели БД – сущность (entity). Набор свойств – атрибуты. Набор допустимых значений – домен 7. Ключевой элемент (regular key) – поле/поля, определяющее значения других полей 8. Первичный ключ (primary key) – элемент, однозначно идентифицирующий строку 9. Связь (relation) – функциональная зависимость между объектами 10. Внешний ключ (foreign key) – ключевой элемент подчиненной (внешней, дочерней) таблицы 11. Ссылочная целостность данных (referential integrity) – набор правил 3


1. Термины и определения 12. Хранимые процедуры (stored procedures) – программные модули, сохраняемые в БД 13. Триггеры (triggers) – хранимые процедуры, запускаемые при изменениях в таблице 14. Объект (object) – элемент информационной системы, имеющий свойства (properties) и реагирующий на события (events) 15. Система – совокупность взаимодействующих между собой и с внешним окружением объектов 16. Репликация БД – создание копий БД (replica) 17. Транзакция – изменение информации в БД 18. Язык SQL (Structured Query Language) – универсальный язык работы с БД 4


2. Структура данных 1. Декартово произведение: D 1 *D 2 *…*D n = d 1 *d 2 *…*d n, где d 1 D 1, d 2 D 2, d n D n Пример: Пусть A (a 1, a 2, a 3) и B (b 1, b 2), тогда С=A*B (a1*b1, a2*b1, a3*b1, a1*b2, a2*b2, a3*b2) 2. Отношение R на множествах D 1, D 2, … D n – это подмножество декартова произведения D 1 * D 2 *…* D n Множества D 1, D 2, … D n – домены Элементы декартова произведения d 1 *d 2 *…*d n – кортежи Число n – степень отношения (n=1 - унарное, n=2 – бинарное,..., n-арное) Количество кортежей – мощность отношения 5






2. Структура данных Свойства отношений: 1. Отсутствие кортежей-дубликатов 2. Отсутствие упорядоченности кортежей 3. Отсутствие упорядоченности атрибутов 4. Атомарность значений атрибутов Проблемы проектирования: Отобразить объекты предметной области в абстрактные объекты модели данных Обеспечить эффективность выполнения запросов к БД 8


3. Теория нормальных форм Последовательность НФ: Первая нормальная форма (1NF) Вторая нормальная форма (2NF) Третья нормальная форма (3NF) Нормальная форма Бойса-Кодда (BCNF) Четвертая нормальная форма (4NF) Пятая нормальная форма (5NF) Основные свойства нормальных форм: Каждая следующая НФ в некотором смысле лучше предыдущей При переходе к следующей НФ свойства предыдущих НФ сохраняются 9


3. Теория нормальных форм Функциональные зависимости (ФЗ) Атрибут Y некоторого отношения функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y Избыточная функциональная зависимость – зависимость, которая может быть получена на основе других зависимостей, имеющихся в БД Нормализация – обратимый пошаговый процесс замены совокупности отношений другой схемой с устранением избыточных функциональностей Условие обратимости требует: –Не должны появляться ранее отсутствовавшие кортежи –Должны выполняться исходные множества ФЗ 10


3.1. Первая нормальная форма (1NF) Простой атрибут – атрибут, значения которого атомарныййй (неделимы) Сложный атрибут – получается соединением нескольких атомарныйййх атрибутов Отношение находится в 1NF, если значения всех его атрибутов атомарныййй 11 СЛУЖАЩИЙ (номер_служащего, имя, дата_рождения, история_работы, дети)




3.2. Вторая нормальная форма (2NF) Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от ключа 13 Сотрудник ДолжностьЗарплата Компьютер Гришин Кладовщик 10000,00 р.Нет Васильев Программист 20000,00 р.Есть Иванов Кладовщик 12000,00 р.Нет Сотрудник Должность Гришин Кладовщик Васильев Программист Иванов Кладовщик Должность Компьютер Кладовщик Нет Программист Есть СОТРУДНИКИ (Сотрудник, Должность, Зарплата, Компьютер) СОТРУДНИКИ (Сотрудник, Должность) ДОЛЖНОСТИ (Должность, Компьютер)


3.3. Третья нормальная форма (3NF) Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от Первичного Ключа Если существует такое множество атрибутов Y, что X Y и Y Z, то Z транзитивно зависит от X (X Z) 14 Сотрудник Отдел Телефон Гришин Бухгалтерия Васильев Бухгалтерия Иванов Снабжение Отдел Телефон Бухгалтерия Снабжение Сотрудник Отдел Гришин Бухгалтерия Васильев Бухгалтерия Петров Снабжение


3.4. Бойса-Кодда нормальная форма (BCNF) Отношение находится в BCNF, если оно находится во 3НФ и в ней отсутствуют зависимости атрибутов Первичного Ключа от неключевых атрибутов 15 Номер корта Время начала Время окончания Тариф Член клуба К-171 8:0024:00 Premium Да К-05 8:0020:00 General Нет К-171 8:0020:00 General Нет К-05 12:0018:00 Family Да К-НН 0:0024:00 VIP Да Тариф Время начала Время окончания Premium 8:0024:00 General 8:0020:00 Family 12:0018:00 VIP 0:0024:00 Тариф Номер корта Член клуба PremiumК-171 Да General К-171Нет Family К-05Да General К-05Нет VIP К-ННДа


3.5. Четвёртая нормальная форма (4NF) Отношение находится в 4NF, если оно находится в BCNF и в нём отсутствуют многозначные зависимости, не являющиеся функциональными зависимостями 16 ИМЯКУРСУЧЕБНОЕ_ПОСОБИЕ Петров Теория упругости Петров Теория колебаний Теория упругости Петров Теория упругости Теория колебаний Петров Теория колебаний Иванов Теория удара Иванов Теория удара Теоретическая механика Иванов Теория упругости Теория удара Иванов Теория упругости Теоретическая механика ИМЯКУРС Петров Теория колебаний Петров Теория упругости Иванов Теория удара Иванов Теория упругости ИМЯУЧЕБНОЕ_ПОСОБИЕ Петров Теория колебаний Петров Теория упругости Иванов Теоретическая механика Иванов Теория удара


3.6. Пятая нормальная форма (5NF) Отношение находится в 5НФ тогда и только тогда, когда любая зависимость по соединению в нём определяется только его возможными ключами Основные варианты декомпозиции отношения R с атрибутами {a, b, c}: {a}, {b}, {c}{a, b}, {b, c} {a}, {b, c}{a, b}, {a, c} {a, b}, {c}{b, c}, {a, c} {b}, {a, c}{a, b}, {b, c}, {a, c} Отношение R – результат операции естественного соединения (NATURAL JOIN), тогда: Декомпозиция называется декомпозицией без потерь, если R" в точности совпадает с R 17


3.5. Пятая нормальная форма (5NF) Не всякая декомпозиция является декомпозицией без потерь Пример: Отношение R с атрибутами {a, b, c} 18 R ABc Москва Россия Столица Томск Россия Не столица Берлин Германия Столица R1R1 a Москва Томск Берлин R2R2 bc Россия Столица Россия Не столица Германия Столица R" = R 1 NATURAL JOIN R 2 abc Москва Россия Столица Москва Россия Не столица Москва Германия Столица Томск Россия Столица Томск Россия Не столица Томск Германия Столица Берлин Россия Столица Берлин Россия Не столица Берлин Германия Столица Результат операции соединения этих отношений: Декомпозиция R 1 = {a}, R 2 = {b, c} имеет вид:


3.5. Пятая нормальная форма (5NF) Пример: Отношение R с атрибутами {a, b, c} 19 R1R1 ab Москва Россия Томск Россия Берлин Германия Декомпозиция R 1 = {a, b}, R 2 = {a, c}: R ABc Москва Россия Столица Томск Россия Не столица Берлин Германия Столица R2R2 ac Москва Столица Томск Не столица Берлин Столица Результат операции соединения этих отношений: R ABc Москва Россия Столица Томск Россия Не столица Берлин Германия Столица


3.5. Пятая нормальная форма (5NF) Пример: 20 Ассортимент (продавцы, фирмы, товары) Продавец Фирма Товар Иванов Рога и Копыта Пылесос Иванов Рога и Копыта Хлебница Петров Безенчук&Ко Сучкорез Петров Безенчук&Ко Пылесос Петров Безенчук&Ко Хлебница Петров Безенчук&Ко Зонт Сидоров Безенчук&Ко Пылесос Сидоров Безенчук&Ко Телескоп Сидоров Рога и Копыта Пылесос Сидоров Рога и Копыта Лампа Сидоров Геркулес Вешалка Товары продавцов Продавец Товар Иванов Пылесос Иванов Хлебница Петров Сучкорез Петров Пылесос Петров Хлебница Петров Зонт Сидоров Телескоп Сидоров Пылесос Сидоров Лампа Сидоров Вешалка Фирмы продавцов Продавец Фирма Иванов Рога и Копыта Петров Безенчук&Ко Сидоров Безенчук&Ко Сидоров Рога и Копыта Сидоров Геркулес Товары фирм Фирма Товар Рога и Копыта Пылесос Рога и Копыта Хлебница Рога и Копыта Лампа Безенчук&Ко Сучкорез Безенчук&Ко Пылесос Безенчук&Ко Хлебница Безенчук&Ко Зонт Безенчук&Ко Телескоп Геркулес Вешалка




4. Заключение 1.1NF – значения всех его атрибутов атомарныййй 2.2NF – каждый неключевой атрибут функционально полно зависит от ключа 3.3NF – каждый неключевой атрибут нетранзитивно зависит от Первичного Ключа 4. BCNF – отсутствуют зависимости атрибутов Первичного Ключа от неключевых атрибутов 5.4NF – отсутствуют многозначные зависимости 6.5NF – любая зависимость по соединению определяется только его возможными ключами. Каждая проекция такого отношения содержит не менее одного возможного ключа и не менее одного неключевого атрибута. 22



Поурочное планирование 11 класс

2015

Дата: _____________________

Урок 8

Тема урока: «Реляционная база данных»

Цели урока:

    Познавательная

    знакомить учащихся с понятием реляционной базы данных;

    учить создавать многотабличную базу данных и связывать таблицы в ней.

    Развивающая

    развивать навыки и умения работы с таблицами;

    развивать умение анализировать и выделять главное

    Воспитательная

    Воспитывать аккуратность, внимательность, самостоятельность и дисциплинированность.

Тип урока : урок изучения нового материала

Вид урока: урок-деловая игра

Формы работы: индивидуальная, групповая, фронтальная

Методы: наглядные, словесные, практические

Материалы и оборудование:

    персональные компьютеры;

    программное обеспечение: СУБД Microsoft Access;

    презентация на тему «Реляционная модель базы данных»;

    презентация о туристической фирме «Планета путешествий»

Эпиграф к уроку: “Дорогу осилит идущий, а информатику – мыслящий”. (Гюстав Гийом)

Структура урока:

    Орг. момент. (1 мин)

    Проверка домашнего задания. (1 мин)

    Актуализация знаний. (5 мин)

    Работа над темой урока. (18 мин)

    Физкультминутка. (3 мин)

    Практическая часть. (12 мин)

    Итог урока. (2 мин)

    Рефлексия. (2 мин)

    Домашнее задание. (1 мин)

Ход урока

    Организационный момент:

- приветствие

- проверка отсутствующих

    Проверка домашнего задания:

- просмотр составленных ребусов по предыдущей теме

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

    Актуализация опорных знаний

Устный опрос:

    Продолжите фразы:

БД – это…

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

БД могут быть использованы для создания …

- фонда учебной литературы школьной библиотеки,

Кадрового состава предприятия,

Единого реестра препаратов аптеки,

Нормативных актов гражданского права,

Каталога фильмов кинотеатра…

Типы БД - …

- фактографические и документальные.

Фактографические БД содержат краткие сведения об объектах, представленные в определенном формате, например, Марка машины, завод-изготовитель, год выпуска …

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

СУБД – это …

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

2. Ответьте на вопросы:

Перечислите основные свойства баз данных (структурированность, взаимосвязанность, независимость от прикладных программ)

Каким требованиям должны удовлетворять СУБД? (возможность манипулирования данными, возможность поиска и формирования запросов, обеспечение целостности данных, обеспечение защиты и секретности)

Назовите простые СУБД, предназначенные для работы в небольших организациях (Access, FoxPro и Paradox)

Назовите СУБД мощного типа (Oracle , Sybase , Informix )

IV . Работа над новой темой

1. Информация от турфирмы

2. Типы моделей БД

3. Реляционная модель данных

4. Варианты типов связей

5. Составляющие реляционной модели

6. Основные типы полей

1. ИНФОРМАЦИЯ ОТ ТУРФИРМЫ

С этим вопросом нас ознакомит менеджер, принимающий заявки от фирм.

С информацией мы познакомимся, просмотрев презентацию о туристической фирме «Планета путешествий», выполненную нашим коллегой.

Просмотр презентации о туристической фирме «Планета путешествий».

2. "ТИПЫ МОДЕЛЕЙ БАЗ ДАННЫХ"

Это некоторые виды моделей БД.

модель 1 модель 2 модель 3

Тип модели БД определяется по типу связи между элементами БД.

-Существуют три основных типа моделей данных –иерархическая(1) и сетевая(2), реляционная(3).

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ

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

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

Узел - информационная модель элемента, находящегося на данном уровне иерархии.

Свойства иерархической модели базы данных:

    несколько узлов низшего уровня связано только с одним узлом высшего уровня;

    иерархическое дерево имеет только одну вершину (корень), неподчиненный никакой другой вершине;

    каждый узел имеет свое имя (идентификатор);

СЕТЕВАЯ МОДЕЛЬ

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

3. РЕЛЯЦИОННАЯ МОДЕЛЬ

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

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

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

Термин «реляционный» (от латинского relatio – отношение) -это модель хранения данных построена на взаимоотношении составляющих ее частей. В простейшем случае она представляет собой двухмерную таблицу, а при создании сложных информационных моделей составит совокупность взаимосвязанных таблиц. Каждая строка такой таблицы называется записью . Каждый столбец в такой таблице называется полем .

Модель данных, как и сама база данных, является объектом, имеющим свои определенные свойства.

Реляционная модель базы данных имеет следующие свойства:

    Каждый элемент таблицы – один элемент данных.

    Все столбцы в таблице являются однородными, т. е. имеют один тип (числа, текст, дата и т. д.).

    Каждый столбец (поле) имеет уникальное имя.

    Одинаковые строки в таблице отсутствуют.

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

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

    сортировку данных (например, по алфавиту);

    поиск записей (например, по фамилиям) и т. д.

    выборку данных по группам (например, по датам рождения или по фамилиям);

Главное достоинство таблиц - в их понятности.

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

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

Устанавливаются связи между таблицами после их создания, но до заполнения данными .

Для создания реляционной БД в окне СУБД выберем объект Таблицы и выберем вариант Создание таблицы в режиме конструктора .

4. ВАРИАНТЫ ТИПОВ СВЯЗЕЙ

База данных – это совокупность данных и связей между ними.

Для связанных таблиц возможно три варианта типа связи :

    «один к одному»;

    «один ко многим»;

    «многие ко многим».

1. Связь «один к одному».

Наиболее простой способ указать связь между данными – поместить данные совместно, например, в одной строке ведомости о заработной плате. Тогда наглядно видно, на какой должности работает сотрудник фирмы (фамилия) и какую заработную плату он получает (зарплата). Все строки ведомости имеют один шаблон, столбцы содержат данные одного типа.

    2. Связь «один ко многим».

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

    3. Связь «многие ко многим».

Производственные отношения между предприятиями часто имеют сложный характер, который отражается в сетевых структурах. Сеть – многоуровневая структура, каждый элемент которой может быть связан как с несколькими элементами нижнего уровня, так и с несколькими элементами верхнего уровня. Например, супермаркет получает товары от нескольких поставщиков. Может быть, что один вид товара поставляют разные поставщика и одновременно один поставщик обеспечивает несколькими товарами. Если рассмотреть связи «товар–поставщик», то они представляют собой сеть. Также сетевая модель получится и при рассмотрении связей «учитель – класс».

5. СОСТАВЛЯЮЩИЕ РЕЛЯЦИОННОЙ МОДЕЛИ

Ключ - поле, которое однозначно определяет соответствующую запись.

В реляционных БД строка таблицы называется записью , а столбец - полем . В общем виде это выглядит так:

Каждое поле таблицы имеет имя .

Одна запись содержит информацию об одном объекте той реальной системы, модель которой представлена в таблице. Например, одна запись о каком либо объекте - это информация об одном объекте.

Поля - это различные характеристики (иногда говорят - атрибуты) объекта. Значения полей в одной строчке относятся к одному объекту. Разные поля отличаются именами. А чем отличаются друг от друга разные записи? Записи различаются значениями ключей.

Главным ключом в базах данных называют поле (или совокупность полей), значение которого не повторяется у разных записей.

Например, в БД «Школьная библиотека» разные книги могут иметь одного автора, могут совпадать названия книг, год издания, полка. Но инвентарный номер у каждой книги свой (поле НОМЕР). Он-то и является главным ключом для записей в этой базе данных.

Не всегда удается определить одно поле в качестве ключа. Например, база данных областного управления образования «Школы района», в которой содержатся сведения о всех средних школах районных центров в виде следующей таблицы:

В такой таблице у разных записей не могут совпадать одновременно только два поля ГОРОД и НОМЕР ШКОЛЫ . Эти два поля вместе образуют составной ключ : ГОРОД-НОМЕР ШКОЛЫ . Составной ключ может состоять и более чем из двух полей.

С каждым полем связано еще одно очень важное свойство - тип поля.

Тип определяет множество значений, которые может принимать данное поле в различных записях.

В таблицах, приведённых ниже, показаны примеры простого и составного ключей:


6 . ОСНОВНЫЕ ТИПЫ ПОЛЕЙ

В реляционных БД столбец называется полем . В реляционных базах данных используются четыре основных типа полей:

числовой;

символьный;

дата;

логический.

Числовой тип имеют поля, значения которых могут быть только числами. Для этих данных отводится 1-4 байта. Например, в БД «Ведомость заработной платы предприятия» четыре поля числового типа: ТАРИФНАЯ СТАВКА, НАЧИСЛЕНИЯ, ОТЧИСЛЕНИЯ, СУММА К ВЫДАЧЕ.

Символьный тип имеют поля, в которых будут храниться символьные последовательности (слова, тексты, коды и т.п.). Текстовый тип данных предназначен для ввода текста длиной до 255 символов и устанавливается по умолчанию. Примерами символьных полей являются поля АВТОР и НАЗВАНИЕ в БД «Детская библиотека»; поле ТЕЛЕФОН в БД «Гимназия».

Тип «дата» имеют поля, содержащие календарные даты в форме «день/месяц/год» (в некоторых случаях используется американская форма: месяц/день/год). Для таких данных предусмотрено 8 байт. Тип «дата» имеет поле ДАТА ОТПРАВЛЕНИЯ в БД «Расписание аэровокзала».

Логический тип предназначен для хранения логического значения Да или Нет, Истина или Ложь.Такое поле занимает 1 бит.

Подведём итог, значения полей - это некоторые величины определенных типов. От типа величины зависят те действия, которые можно с ней производить. Например, арифметические операции можно выполнять с числовыми величинами, а с символьными и логическими - нельзя.

7. Понятия, необходимые для понимания процесса приведения модели к реляционной схеме.

Отношение - абстракция описываемого объекта как совокупность его свойств. Мы оперируем совокупностью свойств, которые и определяют объект.

Экземпляр отношения - совокупность значений свойств конкретного объекта.

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

Простой атрибут - атрибут, значения которого неделимы.

Сложный атрибут - атрибут, значением которого является совокупность значений нескольких различных свойств объекта или несколько значений одного свойства.

Требования к реляционным моделям:

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

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

Выбранный перечень атрибутов должен быть минимальным. Атрибут включается в отношение только в том случае, если он будет использоваться.

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

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

Графическая интерпретация реляционной схемы

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

Первичный ключ отношения должен быть выделен жирной рамкой.

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

V . Физкультминутка.

Эффект: расслабление тела, снятие нервного напряжения, восстановление нормального ритма дыхания.

    Моргать в течении 10сек.

с напряжением закрывать на 3-5 с попеременно один и другой глаз.

    В течении 10 с несколько раз сильно зажмуриться.

    В течении 10 с менять направление взгляда.

    Медленно опустить подбородок на грудь и оставаться в таком

положении 5 с. Выполнить упражнение 3 раза.

Эффект: избавление от усталости.

    Помассировать лицо, чтобы снять напряжение лицевых мышц.

    Надавливая пальцами на затылок в течении 10 с делать вращательные движения вправо, затем влево.

    В положении сидя или стоя опустить руки вдоль тела. Расслабить их. Сделать глубокий вдох и на медленном выдохе в течение 10-15 с слегка потрясти руками. Повторить несколько раз.

VI . Закрепление нового материала.

Выполнение практического задания на ПК.

Инструктаж по технике безопасности при работе с компьютером.

Задание: Создать таблицы туристической фирмы в Microsoft Access

Порядок выполнения задания

1. Открыть программу Microsoft Access.

2. Выбрать Новая пустая база данных.

3. Присвоить имя файла Туристическая фирма.

4. Подтвердить Создать.

5. Выбрать Режим таблицы и заполнить таблицу.

Уровень А (2 балла)

В таблице 2 столбца, 6 строк

Страны

Уровень В (4 балла)

В таблице 3 столбца (из них 2 столбца текстовой информации), 6 строк

Виды туров

    : Азовское море, Красное море, Чёрное море, Атлантический океан, Тихий океан

    : Туры по Европе, Украина: Донецк, Керчь, Изюм, Луганщина, Карпаты

    : Украина, Россия






















1 из 21

Презентация на тему:

№ слайда 1

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

№ слайда 2

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

База данных В узком смысле слова, база данных - это некоторый набор данных, необходимых для работы. Однако данные - это абстракция; никто никогда не видел "просто данные"; они не возникают и не существуют сами по себе. Данные суть отражение объектов реального мира.В широком смысле слова база данных - это совокупность описаний объектов реального мира и связей между ними, актуальных для конкретной прикладной области.

№ слайда 3

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

Классификация СУБД от модели данных Традиционно все СУБД классифицируются в зависимости от модели данных, которая лежит в их основе. Принято выделять: Иерархическую модель данныхСетевую модель данныхРеляционную модель данныхИногда к ним добавляют модель данных на основе инвертированных списков.

№ слайда 4

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

Реляционная модель данных Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира, а каждая ее строка - конкретный объект.

№ слайда 5

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

Основные понятия базы данных Так, таблица Деталь содержит сведения о всех деталях, хранящихся на складе, а ее строки являются наборами значений атрибутов конкретных деталей. Каждый столбец таблицы - это совокупность значений конкретного атрибута объекта. Так, столбец Материал представляет собой множество значений "Сталь", "Олово", "Цинк", "Никель". В столбце Количество содержатся целые неотрицательные числа. Значения в столбце Вес - вещественные числа, равные весу детали в килограммах.Эти значения не появляются из воздуха. Они выбираются из множества всех возможных значений атрибута объекта, которое называется доменом. Так, значения в столбце материал выбираются из множества имен всех возможных материалов - пластмасс, древесины, металлов и т.д. Следовательно, в столбце Материал принципиально невозможно появление значения, которого нет в соответствующем домене, например, "вода" или "песок".Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от столбцов, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.

№ слайда 6

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

№ слайда 7

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

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

№ слайда 8

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

№ слайда 9

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

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

№ слайда 10

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

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

№ слайда 11

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

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

№ слайда 12

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

№ слайда 13

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

Традиционные операции Объединение двух отношений (С1 = А U В) предполагает, что на входе задано два односхемных отношения А и В. Результат объединения есть построенное по той же схеме отношение С, содержащее все кортежи А и все кортежи отношения В.Пересечение двух отношений (С2=А U В) предполагает на входе два односхемных отношения А и В. На выходе создается отношение по той же схеме, содержащее только те кортежи отношения А, которые есть в отношении В.Вычитание двух отношений (С3=А-В). Все три отношения строятся по одной схеме. В результирующее отношение С3 включаются только те кортежи из А, которых нет в отношении В.Декартово произведение (С4=А X В). Ее важное отличие от предшествующих состоит в том, что отношения А и В могут быть построены по разным схемам, а схема отношения С4 включает все атрибуты отношении А и В.

№ слайда 14

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

Специальные операции Операция селекция выполняется по строкам. На входе операции используется одно отношение. Результат выборки есть новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.Операция проекция. На входе операции используется одно отношение. Результирующее отношение включает подмножество атрибутов исходного. Каждому кортежу исходного отношения соответствует такой кортеж в результирующем отношении, что значения одинаковых атрибутов этих двух кортежей совпадают. Но при этом в результирующем отношении кортежи-дубликаты устраняются, в связи с чем мощность результирующего отношения может быть меньше мощности исходного.Операция соединение естественное. На входе операции используется два отношения. В каждом из отношений выделен атрибут, по которому будет осуществляться соединение. Оба атрибута должны быть определены на одном и том же домене. Схема результирующего отношения включает все атрибуты двух отношений. Допускается, чтобы в схеме результирующего отношения вместо двух атрибутов, по которым выполняется соединение, был представлен только один. Операция соединение похожа на декартово произведение. Операция деление. На входе операции используется два отношения А и В. Пусть отношение А, называемое делимым, содержит атрибуты (А1,А2, ...,Аn). Отношение В – делитель -содержит подмножество атрибутов А; положим, (А1,А2, ...,Аk), где (k

№ слайда 15

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

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

№ слайда 16

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

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

№ слайда 17

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

Первая нормальная форма Отношение называется нормализованным или приведенным к первой нормальной форме (1НФ), если все его атрибуты простые.Ненормализованное отношение легко сделать нормализованным. Такое преобразование может привести к увеличению мощности отношения и изменению ключа.Функциональная зависимость. Пусть Х и Y - два атрибута некоторого отношения, Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению Х соответствует не более чем одно значение атрибута Y. Функциональную зависимость можно обозначить так: Х>Y.Полная функциональная зависимость. Говорят, что не ключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа.

№ слайда 18

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

Вторая нормальная форма Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и каждый не ключевой атрибут функционально полно зависит от составного ключа.Чтобы отношение привести ко второй нормальной форме, необходимо:построить его проекцию, исключив атрибуты, которые не находятся в полной функциональной зависимости от составного ключа;построить дополнительно одну или несколько проекций на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.Транзитивная зависимость. Пусть X, Y, Z - три атрибута некоторого отношения. При этом Х>Y и Y>Z, но обратное соответствие отсутствует, т. е. Z не> или Y не>Х. Тогда говорят, что Z транзитивно зависит от X.

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

Другие нормальные формы Первая нормальная форма запрещает таблицам иметь неатомарные, или многозначные атрибуты. Однако существует множество ситуаций моделирования, требующих многозначных атрибутов. Например, преподаватель в вузе отвечает за несколько дисциплин. Существует несколько решений, каждое из которых имеет определенные недостатки. Все они требуют лишней памяти из-за наличия пустых значений, либо из-за необходимости вводить избыточные данные. Те из них, в которых есть пустые значения, нарушают категорийную целостность, поскольку все атрибуты вместе составляют ключ таблицы. Эти кажущиеся связи между независимыми атрибутами можно исключить, потребовав, чтобы каждое значение атрибута сочеталось с каждым значением другого атрибута как минимум в одной строке. Условие, обеспечивающее независимость атрибутов путем обязательного повторения значений, называется многозначной зависимостью. Многозначная зависимость является таким же ограничительным условием, как функциональная зависимость. Очевидно, что поскольку они требуют огромного числа повторений значений данных, важный этап процесса нормализации состоит в избавлении от многозначных зависимостей.Таблица имеет четвертую нормальную форму (4НФ), если она имеет 3НФ и не содержит многозначных зависимостей.Для избавления от некоторых других аномалий были предложены еще несколько нормальных форм: пятая нормальная форма (5НФ), нормальная форма область/ключ (НФОК) и т.д. Однако они имеют очень ограниченное практическое использование.

№ слайда 21

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

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


Edgar Frank "Ted" Codd Эдгар Френк Кодд, Dorset, England , Williams Island, Florida создал и описал концепцию реляционных баз данных и реляционную алгебру ; для проектирования БД предложил аппарат нормализации отношений Edgar Frank "Ted" Codd Эдгар Френк Кодд, Dorset, England , Williams Island, Florida создал и описал концепцию реляционных баз данных и реляционную алгебру ; для проектирования БД предложил аппарат нормализации отношений Реляционная модель данных




Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах. Гарантированный доступ - любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца Гарантированный доступ - любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными, неопределёнными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов. Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными, неопределёнными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах. Гарантированный доступ - любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца Гарантированный доступ - любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными, неопределёнными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов. Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными, неопределёнными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов. 12 ПРАВИЛ КОДДА


Онлайновый реляционный каталог - описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных. Онлайновый реляционный каталог - описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных. Исчерпывающий язык управления данными - по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции. Исчерпывающий язык управления данными - по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему. Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление Онлайновый реляционный каталог - описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных. Онлайновый реляционный каталог - описание БД и ее содержания должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных. Исчерпывающий язык управления данными - по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции. Исчерпывающий язык управления данными - по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему. Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление 12 ПРАВИЛ КОДДА


Физическая независимость данных - на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных. Физическая независимость данных - на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных. Логическая независимость данных - на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц. Логическая независимость данных - на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно. Неподрывность - невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня Неподрывность - невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня Физическая независимость данных - на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных. Физическая независимость данных - на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных. Логическая независимость данных - на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц. Логическая независимость данных - на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно. Неподрывность - невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня Неподрывность - невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня 12 ПРАВИЛ КОДДА


Наиболее распространенная трактовка реляционной модели данных принадлежит К.Дейту. Согласно Дейту, реляционная модель состоит из трех частей: Реляционная модель данных Структурной части.Структурной части. Целостной части.Целостной части. Манипуляционной частиМанипуляционной части Структурной части.Структурной части. Целостной части.Целостной части. Манипуляционной частиМанипуляционной части


Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n- арные отношения.Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n- арные отношения. Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей. Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление.Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление. Реляционная модель данных


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


Основные определения Отношение - это множество кортежей, соответствующих одной схеме отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Реляционная модель данных Кортеж - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута. "Значение" является допустимым значением домена данного атрибута Попросту говоря, кортеж - это набор именованных значений заданного типа.


Реляционная алгебра Реляционное исчисление Третья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления. Реляционная модель данных


В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении.




ОСНОВЫ РЕЛЯЦИОННОЙ АЛГЕБРЫ Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвращающие отношения в качестве результата. Таким образом, реляционный оператор выглядит как функция с отношениями в качестве аргументов: Замкнутость реляционной алгебры







ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ОПЕРАТОРЫ Объединение. Объединением двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В и телом, состоящим из кортежей, принадлежащих или А, или В, или обоим отношениям. Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение А, и отношение В, то в объединение он входит один раз.








Замечание. Как видно из приведенного примера, потенциальные (возможные) ключи, которые были в отношениях А и В не наследуются объединением этих отношений. Поэтому, в объединении отношений А и В атрибут «номер» может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию объединения как "объединение множеств". Конечно, объединение отношений А и В имеет, как и любое отношение, возможный ключ, например, состоящий из всех атрибутов.









Декартово произведение Декартовым произведением двух отношений А и В называется отношение, заголовок которого является сцеплением заголовков отношений А и В, а тело состоит из кортежей, являющихся сцеплением кортежей отношений А*В={(А1В1)(А1В2)…..AnBn}: Синтаксис Декартово произведение: A TIMES B



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




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



Проекция Проекцией отношения А по атрибутам X,Y,Z, где каждый из атрибутов принадлежит отношению A, называется отношение с заголовком (X,Y,Z) и телом, содержащим множество кортежей вида(x, y, z), таких, для которых в отношении A найдутся кортежи со значением атрибута X равным x, значением атрибута Y равным y, …, значением атрибута Z равным z. Синтаксис операции проекции A Замечание. Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.



Соединения отношений. Наряду с операциями выборки и проекции, является одной из наиболее важных реляционных операций. Обычно рассматривается несколько разновидностей операции соединения: –Общая операция соединения –Тэта-соединение –Экви-соединение –Естественное соединение




Общая операция соединения Таким образом, операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.


Тэта-соединение Определение Пусть отношение А содержит атрибут Х, отношение В содержит атрибут Y, а Тэта- один из операторов сравнения (и т.д.). Тогда - соединением отношения А по атрибуту Х с отношением В по атрибуту Y называют отношение Это частный случай операции общего соединения. Иногда, для операции -соединения применяют следующий, более короткий синтаксис:


Пример.7 Тэта-соединение Рассмотрим некоторую компанию, в которой хранятся данные о поставщиках и поставляемых деталях. Пусть поставщикам и деталям присвоен некий статус. Пусть бизнес компании организован таким образом, что поставщики имеют право поставлять только те детали, статус которых не выше статуса поставщика


Пример.7 Тэта-соединение Номер поставщика Наименование поставщика (Статус поставщика) Х 1Иванов4 2Петров2 3Сидоров1 Таблица 13 Отношение A (Поставщики) Номер деталиНаименование детали Статус детали Y 1Болт3 2Гайка2 3Винт1 Таблица 14 Отношение B (Детали)


Пример.7 Тэта-соединение Номер Постав- щика Наименова ние поставщика Статус поставщика X Номер детали Наименов а ние детали Статус детали Y 1Иванов41Болт3 1Иванов42Гайка2 1Иванов43Винт1 2Петров13Винт1 3Сидоров22Гайка2 3Сидоров23Винт1 Таблица 15 Отношение "Какие поставщики поставляют какие детали"


Пример8. Экви-соединение Пусть имеются отношения P, D и PD, хранящие информацию о поставщиках, деталях и поставках соответственно (для удобства введем краткие наименования атрибутов): Номер Детали DNUM Наименование детали DNAME 1Болт 2Гайка 3Винт Номер поставщика PNUM Наименование поставщика PNAME 1Иванов 2Петров 3Сидоров Таблица 16 Отношение P (Поставщики) Таблица 17 Отношение D (Детали)


Пример8. Экви-соединение Номер поставщика PNUM Номер детали DNUM Поставляемое количество VOLUME Таблица 18 Отношение PD (Поставки)


Пример8. Экви-соединение Номер поставщик а PNUM1 Наименование поставщика PNAME Номер Поставщика PNUM2 Номер детали DNUM Поставляемо е количество VOLUME 1Иванов Иванов Иванов Петров Петров Сидоров Таблица 19 Отношение "Какие детали поставляются какими поставщиками"


Пример8. Экви-соединение Недостатком экви-соединения является то, что если соединение происходит по атрибутам с одинаковыми наименованиями (а так чаще всего и происходит!), то в результатирующем отношении появляется два атрибута с одинаковыми значениями. В нашем примере атрибуты PNUM1 и PNUM2 содержат дублирующие данные. Избавиться от этого недостатка можно, взяв проекцию по всем атрибутам, кроме одного из дублирующих. Именно так действует естественное соединение.


Естественное соединение Определение Пусть даны отношения А(А1,…, Аn,Х1,…, Хm) и B(Х1,…,Хm,В1,…,Вn), имеющие одинаковые атрибуты (Х1,…,Хn) (т.е. атрибуты с одинаковыми именами и определенные на одинаковых доменах). Тогда естественным соединением отношений А и В называется отношение с заголовком (А1,…, Аn,Х1,…, Хm,В1,…,Вn) и телом, содержащим множество кортежей (а1,…,аn,x1,…,xn,b1,…,bn), таких, что Естественное соединение настолько важно, что для него используют специальный синтаксис: A JOIN B


Естественное соединение Замечание. В синтаксисе естественного соединения не указываются, по каким атрибутам производится соединение. Естественное соединение производится по всем одинаковым атрибутам. Замечание. Естественное соединение эквивалентно следующей последовательности реляционных операций: –Переименовать одинаковые атрибуты в отношениях –Выполнить декартово произведение отношений –Выполнить выборку по совпадающим значениям атрибутов, имевших одинаковые имена –Выполнить проекцию, удалив повторяющиеся атрибуты –Переименовать атрибуты, вернув им первоначальные имена Замечание. Можно выполнять последовательное естественное соединение нескольких отношений. Нетрудно проверить, что естественное соединение (как, впрочем, и соединение общего вида) обладает свойством ассоциативности, т.е. (A JOIN B) JOIN C=A JOIN (И JOIN C)


Пример9. Естественное соединение В предыдущем примере ответ на вопрос "какие детали поставляются поставщиками", более просто записывается в виде естественного соединения трех отношений P JOIN PD JOIN D (для удобства просмотра порядок атрибутов изменен, это является допустимым по свойствам отношений): Номер поставщика PNUM Наименование поставщика PNAME Номер детали DNUM Наименован ие детали DNAME Поставляемое количество VOLUME 1Иванов1Болт100 1Иванов2Гайка200 1Иванов3Винт300 2Петров1Болт150 2Петров2Гайка250 3Сидоров1Болт1000 Таблица 20 Отношение P JOIN PD JOIN D


Деление Определение. Пусть даны отношения А(Х1,…, Хn,Y1,…, Ym) и B(Y1,…,Ym), причем атрибуты Y1,…,Ym - общие для двух отношений. Делением отношений A на B называется отношение с заголовком (X1,…,Xn) и телом, содержащим множество кортежей (x1,…,xn), таких, что для всех кортежей в отношении A найдется кортеж. Отношение A выступает в роли делимого, отношение B выступает в роли делителя. Деление отношений аналогично делению чисел с остатком. Синтаксис операции деления:


Пример. Деление Ответим на вопрос, "какие поставщики поставляют все детали?". В качестве делимого возьмем проекцию X=PD[ PNUM,DNUM ], содержащую номера поставщиков и номера поставляемых ими деталей: Номер Поставщика PNUM Номер Детали DNUM Таблица 21 Проекция X=PD


Пример. Деление В качестве делителя возьмем проекцию Y=D [ DNUM], содержащую список номеров всех деталей (не обязательно поставляемых кем- либо): Номер детали DNUM Таблица 22 Проекция Y=D Select DISTINCT PNUM from Y, X where NOT EXIST (Select DNUM from X where Y.DNUM=X.DNUM) Деление дает список номеров поставщиков, поставляющих все детали: Таблица 23 Отношение X DEVIDEBY Y Номер поставщика PNUM 1


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


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