
- •Оглавление
- •Раздел 4. Проектирование реляционных баз данных. 113
- •Раздел 5. Определение структур данных и обслуживание баз данных. 114
- •Введение
- •Раздел 1. Основы теории баз данных Тема 1: Базы данных и информационные системы. Основные понятия.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Тема 2: Банки данных. Системы управления базами данных.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Раздел 2. Реляционная алгебра Тема1: Реляционная алгебра. Классические операции теории множеств.
- •Тема 2: Специальные операции теории множеств.
- •Раздел 3. Модели данных. Тема 1: Классические модели данных.
- •Сетевая модель представления данных.
- •Реляционная модель представления данных.
- •Элементы реляционной модели
- •Тема 2: Связывание таблиц. Целостность связей.
- •Основные виды связи таблиц.
- •Контроль целостности связей.
- •Характеристика видов связей
- •Раздел 4. Проектирование реляционных баз данных. Тема 1: Основные принципы проектирования баз данных.
- •2. Избыточное дублирование данных и аномалии
- •3. Формирование исходного отношения.
- •Тема 2: Метод нормальных форм
- •2. Выявление зависимостей между атрибутами
- •3. Нормальные формы
- •Тема 3: Метод сущность-связь. Этапы проектирования.
- •2.Этапы проектирования
- •3.Пример проектирования бд учебной части.
- •Тема 4: Правила формирования отношений.
- •2. Формирование отношений для связи 1:м
- •3. Формирование отношений для связи м:м
- •Раздел 5. Определение структур данных и обслуживание баз данных. Тема 1: Среда sql*Plus.
- •Функции.
- •2. Основные типы данных
- •3. Арифметические выражения
- •4. Операторы сравнения
- •5. Обработка неопределенных значений
- •6. Функции
- •7. Форматные модели
- •Тема 2: Структуры данных. Создание таблиц.
- •Создание таблиц.
- •3. Создание таблиц
- •Тема 3: Изменение таблиц и ограничений
- •Добавление и изменение столбца.
- •Изменение ограничений.
- •Удаление таблицы. Изменение имени таблицы и добавление комментариев.
- •Тема 4: Операции с ограничениями.
- •Тема 5: Манипулирование данными.
- •1. Вставка новых строк в таблицу
- •2. Копирование строк из другой таблицы
- •3. Обновление строк в таблице
- •4. Удаление строк из таблицы
- •Тема 6: Команда запроса данных. Простой запрос.
- •Тема 7: Сложные запросы.
- •Использование функций для работы с датами при организации запроса.
- •Тема 8: Группировка строк в запросе
- •2. Группы внутри групп.
- •3. Предложение having.
- •Тема 9: Подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •Однострочные и многострочные подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •2.Однострочные и многострочные подзапросы.
- •Тема 10: Выборка данных из нескольких таблиц.
- •2. Псевдонимы таблиц.
- •3. Дополнительные условия поиска.
- •4. Внешние соединения.
- •Select таблица.Столбец, таблица.Столбец
- •Тема 11: Создание, изменение и удаление последовательностей.
- •Создание последовательности.
- •2. Изменение и удаление последовательности.
- •3. Генерация значений последовательности.
- •Тема 12: Создание, изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Тема 13: «Индексы»
- •Понятие индекса. Необходимость использования.
- •Создание и удаление индексов.
- •1. Понятие индекса. Необходимость использования.
- •2. Создание и удаление индексов.
- •Тема 14: «Создание отчетов»
- •2. Форматирование number колонок.
- •3. Оформление Отчета пробелами и итоговыми строками.
- •4. Вычисление итоговых строк при изменении значения колонки.
- •5. Определение заголовков.
- •6. Установка размеров страницы
- •7. Сохранение и Печать Результатов Запроса
- •Тема 15: Управление транзакциями
- •Практикум Раздел 3. Реляционная алгебра.
- •Раздел 4. Проектирование реляционных баз данных.
- •Раздел 5. Определение структур данных и обслуживание баз данных.
- •Библиографический список
Тема 2: Специальные операции теории множеств.
Выборка
Проекция
Деление
Соединение
Выборка (R WHERE f) отношения R по формуле f представляет собой новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f. Для записи формулы используются операнды — имена атрибутов (или номера столбцов), константы, логические операции (AND — И, OR — ИЛИ, NOT — НЕ), операции сравнения и скобки.
Пример 1. Пусть дано отношение R1, которое содержит сведения о деталях, материалах, из которых они изготавливаются, вес каждой детали и города, в которых выпускаются эти детали. Необходимо получить сведения о деталях, изготовленных из каленого материала с весом не более 13.
Таблица 1
R1
Р# |
название |
тип |
вес |
P1 |
Гайка |
Каленый |
12 |
P2 |
Угол |
Твердый |
13 |
P3 |
Шайба |
Каленый |
10,5 |
P4 |
Болт |
Каленый |
14 |
P5 |
Гайка |
Твердый |
11 |
Результирующее отношение
Таблица 2
R (R1 WHERE тип = «каленый» AND вес <13)
Р# |
название |
тип |
вес |
P1 |
Гайка |
Каленый |
12 |
P3 |
Шайба |
Каленый |
10,5 |
2. Проекция отношения А на атрибуты X, Y,..., Z (А [X, Y,..., Z]), где множество {X, Y,..., Z} является подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовком X, Y,..., Z и телом, содержащим кортежи отношения А, за исключением повторяющихся кортежей. Повторение одинаковых атрибутов в списке X, Y,..., Z запрещается.
Операция проекции допускает следующие дополнительные варианты записи:
отсутствие списка атрибутов подразумевает указание всех атрибутов (операция тождественной проекции);
выражение вида R [ ] означает пустую проекцию, результатом которой является пустое множество;
операция проекции может применяться к произвольному отношению, в том числе и к результату выборки.
Пример 2. На основании отношения R1 создана проекция R(R1 whereТип = «каленый») [название]
Таблица 3
название |
тип |
Гайка |
Каленый |
Шайба |
Каленый |
Болт |
Каленый |
3. Результатом деления отношения R1 с атрибутами А и В на отношение R2 с атрибутом В (Rl DIVIDEBY R2), где А и В простые или составные атрибуты, причем атрибут В — общий атрибут, определенный на одном и том же домене (множестве доменов составного атрибута), является отношение R с заголовком А и телом, состоящим из кортежей r таких, что в отношении R1 имеются кортежи (r, s), причем множество значений s включает множество значений атрибута В отношения R2.
Пример 3. Даны два отношения R1 и R2.
Таблица 4
R1
Р# |
название |
P# |
тип |
вес |
P1 |
Гайка |
P1 |
Каленый |
12 |
P2 |
Угол |
P2 |
Твердый |
13 |
P3 |
Шайба |
P3 |
Каленый |
10,5 |
P4 |
Болт |
P4 |
Каленый |
14 |
P5 |
Гайка |
P5 |
Твердый |
11 |
Таблица 5
R2
Р# |
вес |
P1 |
12 |
P2 |
13 |
P3 |
10,5 |
P4 |
14 |
Результирующее отношение R(R1 DIVIDEBY R2) – вычитание из множества полей первого отношения множества полей второго отношения (одинаковые записи не дублируются)
Таблица 6
Р# |
название |
тип |
P1 |
Гайка |
Каленый |
P2 |
Угол |
Твердый |
P3 |
Шайба |
Каленый |
P4 |
Болт |
Каленый |
4. Соединение Cf(Rl, R2) отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем Декартова произведения отношений R1 и R2 с последующим применением к результату операции выборки по формуле f. Правила записи формулы f такие же, как и для операции селекции.
Соединение Cf(Rl, R2), где формула f имеет произвольный вид (в отличие от частных случаев, рассматриваемых далее), называют также Q-соединением.
Пример 4. Соединение отношений R1, R2
Таблица 7
R1
Р# |
название |
тип |
Город_П |
P1 |
Гайка |
Каленый |
Киев |
P2 |
Угол |
Твердый |
Киев |
P3 |
Шайба |
Каленый |
Урай |
Таблица 8
R2
П# |
Имя |
статус |
Город_Д |
S1 |
Сергей |
20 |
Москва |
S2 |
Иван |
10 |
Киев |
S3 |
Петр |
15 |
Урай |
Результирующее отношение R(R1,R2) по атрибутам Город_П и Город_Д.
Таблица 9
Р# |
название |
тип |
Город_П |
П# |
Имя |
статус |
Город_Д |
P1 |
Гайка |
Каленый |
Киев |
S2 |
Иван |
10 |
Киев |
P2 |
Угол |
Твердый |
Киев |
S2 |
Иван |
10 |
Киев |
P3 |
Шайба |
Каленый |
Урай |
S3 |
Петр |
15 |
Урай |