
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
Операции над отношениями.
Для получения информации из отношений необходим язык манипулирования данными.
Наиболее важной частью ЯМД является раздел формулировки запросов, который должен обладать достаточной выразительностью. Разработано три типа ЯМД:
-
реляционная алгебра
-
реляционное исчисление с переменными кортежами
-
реляционное исчисление с переменными доменами.
По своей выразительности они эквивалентны. Реальные языки в отличие от теоретических реализуют помимо запросов другие операции: арифметические, операции печати и др.
Наиболее популярна реляционная алгебра. При определении операций предполагается, что порядок столбцов в отношении фиксирован, а сами отношения конечны.
Рассмотрим основные операции:
-
Объединение отношений R = R1 U R2
Применяется только к отношениям одной и той же –арности.
а б в
R1: д е а R2: и к л
и к л г д е
R1 R2 : а б в
д е а
и к л
г д е
2. Разность отношений R = R1 -R2
Разностью R1 -R2 называется множество кортежей, принадлежащих R1, но не принадлежащих R2 . Одинаковой арности
R1 -R2 : а б в
д е а
3. Декартово произведение R = R1 * R2
Если отношение R1 имеет арность К1, а отношение R2 арность К2, то декартовым произведением R1*R2 является множество кортежей арности К1+К2, при чем первые К1 элементов образуют кортеж из отношения R1, а последние К2 элементов – кортеж из описания R2
а б в и к л
д е а и к л
и к л и к л
а б в г д е
д е а г д е
и к л г д е
-
Проекция отношения R1 на компонент i1, i2,..,ir R=Пi1,i2,…,ir (R1), где i1,i2,…,ir – номера столбцов отношения R1
Операция проекции заключается в том, что из отношения R1 выбираются столбцы с индексами i1, i2,..,ir и компонуются в указанном порядке
R=П1,2 (R1) а б R= П3,1 (R1) в а
д е а д
и к л и
-
Селекция отношения R1 по формуле F: R =σF(R1), где F – формула, образованная операндами, являющимися номерами столбцов, логическими операторами «И», «ИЛИ», «НЕ» и операциями сравнения < = > ≤ ≥ ≠. Могут использоваться скобки.
R = σ1=a v1=д(R1); R = σ2=к (R1);
а б в и к л
д е а R = σ1≠3 (R1)
а б в
д е а
и к л
Следующие операции реляционной алгебры можно получить с помощью основных, но они имеют самостоятельное значение
1. Пересечение: R= R1 ∩ R2 = R1 - (R1 - R2)
R1 и к а н R1 и к н а R1 ∩ R2: с а м д
с а м д с а м б о л р б
и к б в р к б в
о л р б о л р б
д в е н е д в и
2. Соединение отношений R1 >< R2, Ө - оператор сравнения, i, j – номера столбцов в отношениях R1 и R2. i ө j
В проведенных операциях можно обращаться к элементам кортежей по номерам столбцов и по их именам. Осуществляется преобразование имени в номер и обратно.
R1 А В С R2 Д Е R1 > < R2
а б в а и В=Д
а и р е к А В С Д Е
д е ж д е ж е к
Полученная система операций реляционной алгебры образует полный язык.
В общем случае ЯМД выходит за рамки абстрактных языков, так как включают операции удаления, добавления и модификации данных, а так же дополнительные операции: печать, вычисления, сравнения, агрегатные функции, применяемы к столбцам отношения.