- •Основные требования к организации базы данных
- •Основные компоненты субд
- •Три уровня представления данных в аис.
- •Классификация моделей данных
- •Инфологическое моделирование
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных. Элементы модели
- •Правила вывода функциональной зависимости
- •Реляционная алгебра
- •Нфсо, нф1, нф2
- •Нормальная форма Бойса - Кодда(нфбк)
- •Минимальное покрытие
- •Обобщённый алгоритм декомпозиции:
- •Соединение без потерь, сохраняющих зависимость
- •Метод Табло
- •Язык запросов sql. Основные категории
- •Язык запросов sql. Тип связывания
- •Многотабличные запросы. Использование псевдонимов
- •Использование оператора union для объединения результатов инструкций select
- •Модели транзакций. Журнал транзакций.
- •Основные компоненты субд Cache'
- •Файлы прямого и последовательного доступа
- •Инвертированные списки
- •Многозначная зависимость
- •Модель удаленного доступа к данным
- •Постреляционная модель данных
- •Многомерные модели
- •Распределенная обработка данных
- •Плотный, неплотный индекс
- •Модель сервер-приложение
- •Организация индексов в виде в-деревьев
- •Реляционное исчисление с переменными на доменах
- •Реляционное исчисление с переменными кортежами
- •Модель активного сервера
- •Модель файлового сервера
- •Субд Cache. Виды классов. Элементы классов
Язык запросов sql. Основные категории
Язык запросов SQL. Основан на реляционном исчислении с переменными-кортежами.
Язык имеет несколько стандартов
SQL1 – был принят в 1989
SQL2 – был принят в 1992
SQL3 – был принят в 1999
Исходное название – SEQUEL – Structured English Query Language
SQL нужен для выполнения операций над таблицами и над данными таблицы.
Как правило, SQL погружен в среду встроенного языка программирования СУБД
Paradox, FoxPro
SQL не обладает функциями языка разработки. Он ориентирован на доступ к данным. В этом случае его называют встроенным SQL, то есть он включен в состав средств разработки программ.
Различают 2 основных метода использования встроенного SQL :
статический
динамический
При статическом использовании языка в тексте программы имеются вызовы функций языка SQL, которые жестко включаются в выполняемый модуль после компиляции.
При динамическом использовании языка предполагается динамическое построение вызовов SQL функций. Динамический метод используется в случае, когда в приложении заранее неизвестен вид SQL вызова.
Основные категории:
DDL Data Definition Language (Язык определения данных)
Основные команды:
Создать таблицу
Удалить таблицу
Изменить таблицу
Создать представление
Изменить представление
Удалить представление
Создать индекс
Удалить индекс
DML Data Manipulation Language (Язык манипулирования данными)
Основные команды:
Создать строку
Вставить строку
Обновить строку
DQL Data Query Language (Язык запросов к данным)
Основные команды:
Select
DCL Data Control Language (Язык управления данными)
Основная команда:
Контроль над возможностью доступа к данным внутри базы данных.
Команды DCL обычно используются для создания объектов, относящихся к управлению доступом пользователей к базе данных, а также для назначения пользователям соответствующих уровней привилегий доступа.
Некоторые команды:
Изменить пароль
Дать привилегию
Отменить привилегию
DAC – Data Administration Commands
Данные команды дают пользователю возможность выполнять анализ операций внутри базы данных.
TTC – Transaction Control Commands (Команды управления транзакциями)
Используются только с командами DML
Сохранить транзакцию
Отменить транзакцию
Создать точки внутри групп транзакций
Язык запросов sql. Тип связывания
Типы связывания:
Связывание по равенству EQUIT JOINS
Естественное связывание NATURAL JOINS
Связывание по неравенству NON – EQUI JOINS
Внешнее связывание OUTER JOINS
Рекурсивное связывание SELF JOINS
Связывание по равенству EQUIT JOINS
Самый простой тип. Используется чаще всего. Связывание по равенству также называется внутренним связыванием (INNER JOIN). При связывании по равенству таблицы связываются по общему столбцу, который в каждой таблице является ключевым.
Естественное связывание NATURAL JOINS
Почти эквивалентно связыванию по равенству, но при естественном связывании повторение эквивалентных строк исключается. Условие связывания оказывается таким же.
Связывание по неравенству NON – EQUI JOINS
При связывании по неравенству 2 или несколько таблиц объединяются по условию неравенства значения столбца одной таблицы значению столбца другой таблицы.
Внешнее связывание OUTER JOINS
Внешнее связывание используется, когда вывод должен содержать все записи одной таблицы, даже если некоторые из ее записей не имеют соответствующих записей в другой таблице. Во многих реализациях языка внешнее связывание разбито на левое (LEFT JOIN), правое (RIGHT JOIN) и полное внешнее связывание (FULL JOIN).
Рекурсивное связывание SELF JOINS
Рекурсивное связывание предполагает связывание таблицы с ней же самой, как будто бы это 2 таблицы, применяя временные переименования таблицы в операторе SQL.
Если нужно связать таблицы, не имеющие общих столбцов, необходимо использовать третью таблицу, имеющую общие столбцы как с 1-ой, так и со 2-ой таблицей. Такая таблица – связующая таблица.