
- •История развития субд.
- •Информационные системы. Основные функции и области применения.
- •Банк данных и его компоненты.
- •Классификация моделей представления данных
- •Сетевая модель данных. Достоинства и недостатки
- •Иерархическая модель данных. Достоинства и недостатки
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины
- •Первичный и внешний ключи. Индексы
- •Реляционная алгебра. Основные операции
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации
- •Целостность баз данных. Каскадное удаление и изменение данных.
- •Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
- •Журнализация изменений бд
- •Сериализация транзакций. Синхронизационные захваты. Метод временных меток
- •Синхронизационные захваты
- •Транзакция. Уровни изолированности пользователей
- •Функции и основные возможности языка sql.
- •Отличие sql от процедурных языков программирования.
- •Интерактивный и встроенный sql
- •Типы данных sql
- •4.1. Тип данных «строка символов»
- •Varchar[(длина)]
- •4.2 Числовые типы данных
- •4.3 Дата и время
- •4.4 Неопределенные или пропущенные данные (null)
- •Простейшие select-запросы. Синтаксис
- •Операторы in, between, like, is null
- •Агрегирование и групповые функции. Упорядочение выходных полей
- •Команды манипулирования данными. Использование подзапросов в insert
- •Использование подзапросов, основанных на таблицах внешних запросов
- •Использование подзапросов с delete
- •Использование подзапросов с update
- •Основные особенности архитектуры клиент-сервер
- •Организация данных в InterBase.
- •InterBase и область его применения
- •Описание данных на основе sql Организация данных в InterBase. Типы данных.
- •Домены. Создание доменов. Изменение доменов. Удаление доменов.
- •Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
- •4.1 Создание индексов
- •4.3. Восстановление индекса
- •4.4 Удаление индекса
- •Исключения. Создание исключения. Изменение исключения. Удаление исключения
- •Триггеры и их назначение. Команды создания, удаления и модификации триггеров и хранимых процедур.
- •Работа с blob и функции, определенные пользователем
- •Объявление внешней функции
Типы данных sql
В языке SQL имеются средства, позволяющие для каждого атрибута указывать тип данных, которому должны соответствовать все значения этого атрибута.
Определение типов данных является той частью языка, в которой коммерческие реализации языка не полностью с требованиями официального стандарта SQL. Это объясняется желанием обеспечить совместимость SQL с другими языками программирования.
4.1. Тип данных «строка символов»
Стандарт поддерживает только один тип представления текста – CHARACTER (CHAR). Этот тип данных представляет собой символьные строки фиксированной длины. Его синтаксис имеет вид:
CHARACTER [(длина)] или
CHAR [(длина)]
Длина может принимать значение от 1до 255. Если во вводимой в поле текстовой константе фактическое число символов меньше числа, определенного параметром длина, то эта константа автоматически дополняется справа пробелами до заданного числа символов.
Некоторые реализации языка SQL поддерживают в качестве типа данных строки переменной длины: VARCHAR, CHARACTER VARYING, CHAR VARYING. Этот тип данных описывает текстовую строку, которая может иметь произвольную длину до определенного конкретной реализацией SQL максимума (Oracle – до 2000 символов). В отличие от типа CHAR в этом случае при вводе текстовой константы, длина которой меньше заданной, не производится ее дополнение пробелами до заданного максимального значения.
Константы, имеющие тип CHARACTER и VARCHAR, в выражениях SQL заключаются в одиночные кавычки.
Синтаксис определения текстовой константы переменной длины:
Varchar[(длина)]
CHARACTER VARYING [(длина)]
CHAR VARYING[(длина)]
Если длина строки не указана явно, она полагается равной 1 символ во всех случаях.
4.2 Числовые типы данных
INTEGER – используется для представления целых чисел в диапазоне от -231 до +231
SMALLINT - используется для представления целых чисел в диапазоне от -215 до +215
DECIMAL (точность [, масштаб]) – десятичное число с фиксированной точкой, точность определяет количество значащих цифр в числе. Масштаб указывает максимальное число цифр справа от точки.
NUMERIC (точность [, масштаб]) - – десятичное число с фиксированной точкой, такое же как и DECIMAL
FLOAT [(точность)] – число с плавающей точкой и указанной минимальной точностью.
REAL – число с плавающей точкой, точность определена по умолчанию.
DOUBLE PRECISION – число аналогично REАL, но точность в два раза выше точности REAL.
4.3 Дата и время
Тип данных для представления даты и времени является нестандартным и определяется конкретной реализацией SQL. В наиболее общем случае поддерживается тип DATE и тип TIME для представления даты и времени соответственно.
4.4 Неопределенные или пропущенные данные (null)
Для обозначения отсутствующих, пропущенных или неизвестных значений атрибута в SQL используется ключевое слово NULL. Строго говоря, NULL не является значением атрибута в обычном понимании, а используется именно для обозначения того факта, что действительное значение атрибута на самом деле пропущено или неизвестно. Это приводит к ряду особенностей, которые необходимо учитывать при работе с NULL-значениями:
В агрегирующих функциях, позволяющих получать сводную информацию по множеству значений атрибута, для обеспечения точности и однозначного толкования результатов отсутствующие или NULL-значения атрибутов игнорируются;
Условные операторы от булевой двузначной логики TRUE/FALSE расширяются до трехзначной логики TRUE/FALSE/UNKNOWN;
Все операторы, за исключением оператора конкатенации строк (||), возвращают пустое значение (NULL), если значение любого из операндов NULL;
Для проверки на пустое значение следует использовать операторы IS NULL и IS NOT NULL (использование для этих целей оператора сравнения «=» является ошибкой);
Функции преобразования типа, имеющие NULL в качестве аргумента, возвращают пустое значение.