
- •Основные понятия и определения
- •Реляционная модель данных Основные определения
- •Структура sql
- •Операторы определения данных -Data Definition Language- ddl
- •Операторы манипулирования данными- Data Manipulation Language –dml
- •Язык запросов Data Query Language (dql)
- •Средства управления транзакциями
- •Средства администрирования данных
- •6. Программный sql
- •Типы данных
- •Проектирование рбд на основе принципов нормализации
- •Системный анализ предметной области
- •Пример описания предметной области объекта автоматизации(оа)
- •Строим организационно-функциональную модель оа («дерево из орг-звеньев с должностями»
- •Словесно описываем бизнес-процессы протекающие в оа (дать их перечень после описания)
- •Описываем информационную модель (основа будущей бд)
- •Инфологическое моделирование
- •Модель "сущность-связь"
- •Даталогическое проектирование
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф)
6. Программный sql
Оператор |
Смысл |
Действие |
|
DECLARE |
Определяет курсор для запроса |
Задает имя и определяет связанный с ним запрос к БД, который соответствует виртуал. набору данных (ВНД) |
|
OPEN |
Открыть курсор |
Формирует ВНД, соответствующий описанию указанного курсора и текущему состоянию БД |
|
FETCH |
Считать строку из мн-ва строк, опред. курсором |
Считывает очередную строку, заданную параметром команды из ВНД, соответствующего открытому курсору |
|
CLOSE |
Закрыть курсор |
Прекращает доступ к ВНД, соотв.указанному курсору |
|
PREPARE |
Подготовить оператор SQL к динамическому выполнению |
Сгенерировать план выполнения запроса, соответствующего заданному оператору SQL |
|
EXECUTE |
Выполнить оператор SQL, ранее подгот. к динамическому выполнению |
Выполняет ранее подготовленный план запроса |
В коммерческих СУБД набор основных операторов расширен. В большинство СУБД включены операторы определения и запуска хранимых процедур и операторы определения триггеров.
Типы данных
В языке SQL/89 поддерживаются следующие основные типы данных:
CHARACTER(n) или CHAR(n) — символьные строки постоянной длины в n символов. При задании данного типа под каждое значение всегда отводится n символов, и если реальное значение занимает менее, чем n символов, то СУБД автоматически дополняет недостающие символы пробелами.
NUMERIC[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.
DECIMAL[(n,m)] или DEC[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.
INTEGER или INT — целые числа.
REAL — вещественный тип чисел, который соответствует числам с плавающей точкой
DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная в реализации, точность для REAL.
В стандарте SQL92 добавлены следующие типы данных:
VARCHAR(n) — строки символов переменной длины.
NCHAR(N) — строки локализованных символов постоянной длины.
NCHAR VARYING(n) — строки локализованных символов переменной длины.
ВIТ(n) — строка битов постоянной длины.
BIT VARYING(n) — строка битов переменной длины.
DATE — календарная дата.
ТIМЕSTАМР (точность) — дата и время.
INTERVAL — временной интервал.
Большинство коммерческих СУБД поддерживают еще дополнительные типы данных, которые не специфицированы в стандарте. Например, для представления неструктурированного текста большого объема (аналогичен типу MEMO в настольных СУБД).
Могут использоваться константы заданных типов.
Для числовых типов данных:
213-314 612.716, + 551.702, 2.9Е-4 -134.235Е7 0.54267Е18
Строковые константы в одинарных кавычках: 'Крылов Ю.Д.’ 'Санкт-Петербург'
Константы даты, времени и временного интервала в реляционных СУБД представляются в виде строковых констант. Форматы констант отличаются в различных СУБД