1 Введение в язык баз данных Transact-SQL. Лекция 2. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
2 Язык баз данных Transact-SQL. SQL – фактический стандарт для операций с БД. Structured Query Language – IBM 1970 г. Transact-SQL базируется на грамматике SQL-92.
3 Язык SQL - наиболее распространенный язык управления БД клиент/сервер. Основное достоинство SQL – это его унификация Первый американский стандарт SQL зарегистрирован в 1986 г - ANSI X Что такое язык SQL ?
4 SQL язык реляционных БД, а не системного программирования. SQL ориентирован на работу с множествами. SQL не имеет средств управления выполнением программ.
5 Реализация SQL. Непосредственный вызов Язык модулей Встроенный SQL (распространенный)
6 Непосредственный вызов. Инструкции SQL передаются в систему управления РБД, которая создает и выводит таблицу.
7 Язык модулей. Записывает в текстовый файл инструкции SQL. Инструкция начинается с MODULE и определяет язык программирования.
8 Встроенный SQL. Инструкции SQL генерируются системой управления и включаются как текст в команды языка этой системы.
9 История развития – Эдгар Код публикует статью с моделью РБД – Работа над проектом System/R. Язык SEQUEL – Коммерческие поставки РБД Oracle – Relational Technology выпускает СУБД Ingress – IBM выпускает СУБД Database 2 (DB2) – ANSI утверждает стандарт SQL X Sybase создает РСУБД для обработки транзакций – ISO принимает стандарт SQL – Ashton-Tate и Microsoft выпускает СУБД SQL Server под ОС OS/2. IBM выпускает 2-ую версию СУБД DB2.
– Первые поставки СУБД на основе SQL для ОС OS/ – Microsoft публикует спецификацию протокола ODBC (открытое взаимодействие баз данных) – Начинаются первые поставки ПО, поддерживающих протокол ODBC. История развития.
11 Элементы Transact-SQL. T-SQL – оптимальный и строгий. T-SQL – наиболее близок к стандарту. SQL-PLUS (Oracle) – имеет специфичный дополнительный синтаксис.
12 Элементы Transact-SQL. Комментарии Литералы или буквенно-цифровые символы Идентификаторы Выражения Ключевые слова Операторы Функции
13 Комментарии. Комментарии – это текстовая строка, которая игнорируется текстовым процессором запросов Transact-SQL и служит для пояснения выполняемых действий.
14 Литералы. Разделители: Запятые Квадратные скобки Точка Апострофы (%), (_), (*), (?) (!)
15 Типы комментариев. С помощью символов /* и */. /************************* Здесь располагается текст комментария *************************/ /*Краткое пояснение*/ С помощью символов –- -- Краткий комментарий
16 Литералы. Используются буквы английского алфавита, цифры и символы (_), (%), (*), (?), (!), (#), а так же знаки арифметических операций. Разделители – (), (), (,), (.), (;), (:), ([]), ( () )
17 Запятые. Разделение членов списков, имен полей: Имя, Адрес, Город, Индекс
18 Квадратные скобки. Задают имена полей, содержащие не допустимые символы [Название компании]
19 Точка. Если в запросе присутствует несколько таблиц, Авторы.Код Автора
20 Апострофы Строки в T-SQL заключаются в апострофы.
21 Подстановочные знаки. В инструкции LIKE используются (*), (?), (#), (!)
22 Идентификаторы Могут содержать до 128 символов (первый только буква, (_), (#) Локальная переменная начинается с c глобальная, # временная таблица Могут дублироваться Publisher.dbo.title
23 Выражения. SELECT (FirstName + LastName) As Автор FROM Authors
24 Ключевые слова Команды SQL делятся на шесть категорий.
25 DQL (Data Query Language) Предназначены для извлечения данных и описанием внешнего вида полученных данных Пример. SELECT
26 DML (Data Manipulation Language). Позволяет добавить и удалить записи. INSERT, DELETE, UPDATE
27 TPL (Transaction Processing Language). Язык обработки транзакций BEGIN TRANSACTION COMMIT [WORK] ROLLBACK [WORK]
28 DDL (Data Definition Language) Язык определения данных CREATE TABLE CREATE VIEW
29 CCL (Cursor Control Language) Язык управления курсором UPDATE WHERE CURRENT
30 DCL (Data Control Language) Язык управления данными GRANT REVOKE
31 Ключевые слова. Инструкции -SELECT – выполняют операцию Предложения – WHERE – определяют диапазон значений поля Модификаторы – ORDER BY – модифицируют действие инструкции Операторы - =, >,< - сравнение Статистические функции – min ()
32 Операторы. Арифметические Сравнения Слияния строковых значений Логические
33 Арифметические операторы Оператор Описание +Сложение -Разность - (Унарный)Меняет знак операнда *Умножение /Деление %Возвращает значение остатка от деления нацело
34 Операторы сравнения. Оператор Описание <Меньше <=Меньше или равно =Равно >=Больше или равно >Больше <>Не равно
35 Операторы слияния строковых значений Объединяют два текстовых значения в единую строку – +
36 Логические операторы Оператор Описание ANDЛогическое И ORЛогическое ИЛИ NOTНЕ XORИсключающее ИЛИ
37 Типы данных Числовые целые типы данных: Integer – от до Smallint – от до Tinyint – от 0 до 255
38 Типы данных Числовые с плавающей точкой: Real – от 3,4E-38 до 3,4E+38 Float [(n)] – от 1,7-308 до 1,7+308
39 Типы данных Символьные типы: Char (n) Varchar (n) Text Дата Datetime SmallDatetime
40 Типы данных Специальные типы: Bit Image Money Smallmoney Пользовательские типы данных
41 Функции T-SQL Базовые: AVG, SUM, MIN, MAX, COUNT Строковые: ASCII, CHAR, LOWER, UPPER ИТД Арифметические: ACOS, ASIN, ATAN, EXP Функции преобразования: CONVERT
42 Функции T-SQL Функции для работы с датами. Системные функции. HOST_NAME
43