523.08K
Category: databasedatabase

SQL (Structured Query Language)

1.

SQL
Кох Елена Викторовна, доцент
персональный сайт:
http://elenakox.ru
e-mail: [email protected]

2.

2
SQL (Structured Query Language) — Структурированный
Язык Запросов — стандартный язык запросов по работе с
реляционными БД.
Язык SQL появился после реляционной алгебры, и его прототип
был разработан в конце 70-х годов в компании IBM Research. Он
был
реализован
в
первом
реляционной СУБД фирмы IBM System R.
прототипе

3.

3
В SQL результатом любой операции над отношениями также
является отношение. Запрос SQL задает не процедуру, т.е.
последовательность
действий,
необходимых
для
получения
результата, а условия, которым должны удовлетворять кортежи
результирующего
отношения,
сформулированные
входного отношения (входных отношений).
в
терминах

4.

SQL содержит разделы
4
Язык Определения Данных — DDL (Data Definition Language): дает возможность создания,
изменения и удаления различных объектов базы данных (таблиц, индексов, пользователей, привилегий
и т. п.).
Операторы определения данных DDL
Оператор
CREATE TABLE
DROP TABLE
Смысл
Создать таблицу
Удалить таблицу
ALTER TABLE
Изменить таблицу
CREATE VIEW
Создать представление
ALTER VIEW
Изменить представление
DROP VIEW
Удалить представление
CREATE INDEX
Создать индекс
DROP INDEX
Удалить индекс

5.

SQL содержит разделы
5
Операторы манипулирования данными DML
Оператор
Смысл
DELETE
Удалить строки
INSERT
Вставить строку
UPDATE
Обновить строку

6.

SQL содержит разделы
6
Язык запросов Data Query Lanquaqe (DQL)
Оператор
Смысл
SELECT
Выбрать строки

7.

SQL содержит разделы
Средства управления транзакциями
7
Оператор
Смысл
COMMIT
Завершить транзакцию
ROLLBACK
Откатить транзакцию
SAVEPOINT
Сохранить промежуточную точку выполнения
транзакции

8.

SQL содержит разделы
Средства администрирования данных
8
Оператор
Смысл
ALTER DATABASE
Изменить БД
ALTER DBAREA
Изменить область хранения БД
ALTER PASSWORD
CREATE DATABASE
Изменить пароль
Создать БД
CREATE DBAREA
Создать область хранения
DROP DATABASE
Удалить БД
DROP DBAREA
Удалить область хранения БД
GRANT
Предоставить права
REVOKE
Лишить прав

9.

SQL содержит разделы
Программный SQL
9
Оператор
Смысл
DECLARE
Определяет курсор для запроса
OPEN
Открыть курсор
FETCH
Считать строку из множества строк, определенных курсором
CLOSE
Закрыть курсор
PREPARE
Подготовить оператор SQL к динамическому выполнению
EXECUTE
Выполнить оператор SQL, ранее подготовленный к
динамическому выполнению

10.

10
Типы данных

11.

11
Типы данных
Строки
Типы данных SQL
Описание
CHAR(size)
Строки фиксированной длиной (могут содержать буквы, цифры и специальные
символы). Фиксированный размер указан в скобках. Можно записать до 255 символов
VARCHAR(size)
Может хранить не более 255 символов.
Константы, имеющие тип CHAR или VARCHAR, в выражениях SQL заключаются в
одиночные кавычки, например, ‘текст’
Логические данные
В SQL тип данных BOOLEAN (булевский) имеет три значения – true, false unknown. Значение
unknown (неизвестное) было введено для обозначения результата, получающегося при сравнении со
значением NULL (неопределенное). Если пользователь еще не ввел в ячейку таблицы никакого значения, то
эта «пустая» ячейка содержит значение NULL, интерпретируемое, как неизвестное или неопределенное
значение.

12.

Целые числа
12
Типы данных SQL
TINYINT(size)
SMALLINT(size)
MEDIUMINT(size)
INT(size)
Объем занимаемой
Описание
памяти
1 байт
Может хранить числа от -128 до 127
2 байта
3 байта
4 байта
8 байт
BIGINT(size)
Диапазон от -32 768 до 32 767
Диапазон от -8 388 608 до 8 388 607
Диапазон от -2 147 483 648 до 2 147 483 647
Диапазон от -9 223 372 036 854 775 808 до
9 223 372 036 854 775 807

13.

Числа с плавающей точкой
13
Типы данных SQL
Объем занимаемой
памяти
Описание
FLOAT(size,d)
4 байта
Число с плавающей точкой небольшой точности.
DOUBLE(size,d)
8 байт
Число с плавающей точкой двойной точности.
DECIMAL(size,d) S + 2 байта
Повышенная точность; зависимость от параметров

14.

Дата и время
14
Типы данных SQL
Описание
DATE()
Дата в формате ГГГГ-ММ-ДД
DATETIME()
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP()
Дата и время в формате timestamp. Однако при получении значения поля оно
отображается не в формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIME()
Время в формате ЧЧ:ММ:СС
YEAR()
Год в двухзначной или в четырехзначном формате.

15.

Неопределенные или отсутствующие данные
15
Для обозначения отсутствующих, пропущенных или неизвестных значений
атрибута в SQL используется ключевое слово NULL.
Особенности которые следует учитывать при использовании значений
атрибутов, которые могут находиться в состоянии NULL.
1. В агрегирующих функциях, позволяющих получать сводную информацию по множеству значений
атрибута, например, суммарное или среднее значение, для обеспечения точности и однозначности
толкования результатов отсутствующие или NULL-значения атрибутов игнорируются.
2. Условные операторы расширяются от булевой двузначной логики истина/ложь до трехзначной логики
истина/ложь/неизвестно.
3. Все операторы возвращают пустое значение (NULL), если значение любого из операндов отсутствует
(имеет “значение NULL”).
4. Для проверки на пустое значение следует использовать операторы IS NULL и IS NOT NULL
(использование для этого оператора сравнения “=” является ошибкой).
5. Функции преобразования типов, имеющие NULL в качестве аргумента, возвращают пустое значение
(NULL).

16.

16
Ключевые слова — это используемые в выражениях
SQL слова, имеющие специальное назначение (например,
они могут обозначать конкретные команды SQL).
Ключевые слова нельзя использовать для других целей, к
примеру, в качестве имен объектов базы данных.
Команды, или предложения, являются инструкциями,
с помощью которых SQL обращается к базе данных.
Команды состоят из нескольких (одной или более)
логических
частей,
называемых
предложениями.
Предложения начинаются ключевым словом и состоят из
ключевых слов и аргументов.

17.

Создание и модификация объектов базы данных
17

18.

18

19.

19

20.

PRIMARY. Этот параметр указывает файл в основной файловой группе. Эта файловая группа содержит все системные базы
данных. Она также содержит все объекты, не назначенные другим файловым группам.Каждая база данных содержит один
20
основной файл данных. Основной файл – это стартовая точка базы данных и указывает на место ее нахождения.Рекомендуемое
файловое расширение для основного файла .mdf. Если вы не укажите этого параметра, первый файл списка описания будет
использован как основной.
FILENAME. Этот параметр указывает имя и путь к файлу в операционной системе. Путь должен указывать на папку на
сервере, где установлен SQL Server.Нельзя использовать сетевые диски с других компьютеров.
SIZE. Этот параметр указывает размер файла данных или журнала. Вы можете указать размер в мегабайтах MB (значение по
умолчанию) или в килобайтах KB.Минимальный размер – 512KB для обоих файлов – журнала транзакций и файла данных.
Размер, указанный для основного файла базы данных должен быть больше или равен размеру основного файла базы данных
model. База model копируется во все новые базы данных, поэтому размер новой, не может быть меньше размера model, иначе
копирование станет невозможным. Когда вы добавляете новый файл базы данных или журнала без указания размера – то
сервер использует значение размера по умолчанию = 1МБ.
MAXSIZE. Этот параметр указывает максимальный размер, до которого файл может увеличиваться. Вы можете указать размер
в мегабайтах MB (значение по умолчанию) или в килобайтах KB. Если вы не укажите максимальный размер, файл будет
увеличиваться, пока диск не будет заполнен полностью.
FILEGROW. Этот параметр указывает размер приращения файла. Значение этого параметра для файла не может превышать
значение MAXSIZE. Значение 0 указывает на запрет увеличения. Значение может быть указано в мегабайтах (по умолчанию),
килобайтах или процентах. Значение по умолчанию, если этот параметр не указан - 10%, а минимальный размер – 64кб.
Указанный размер округляется до ближайшего числа, кратному 64кб.
COLLATION. Этот параметр указывает значение по умолчанию для сопоставления в базе данных.
Сопоставления (кодировка или раскладка) включают роли контролирующие использование символов для языка и алфавита.

21.

Существует два способа создания таблиц:
2)
21
1)
большинство СУБД обладают визуальным интерфейсом
для интерактивного создания таблиц и управление ими;
таблицами можно манипулировать, используя операторы SQL.
Базовые таблицы базы данных создаются
с помощью оператора CREATE TABLE
Упрощенный синтаксис оператора CREATE TABLE имеет
следующий вид:
CREATE TABLE <имя таблицы>
(<имя столбца><тип данных>[(<размер>)], ...);
English     Русский Rules