SQL-01-3 (Введение в SQL)

Содержание

Слайд 2

Язык SQL является стандартным средством взаимодействия с БД через реляционную СУБД,

Язык SQL является стандартным средством взаимодействия с БД через реляционную СУБД, промежуточным
промежуточным звеном между БД и пользователем (или прикладной программой).

Схема взаимодействия клиента и СУБД

Слайд 3

Особенности языка SQL

Язык SQL непроцедурный (декларативный)
Один оператор SQL обрабатывает одновременно весь набор

Особенности языка SQL Язык SQL непроцедурный (декларативный) Один оператор SQL обрабатывает одновременно
элементов
Использует трехзначную логику (3VL)

Происхождение названия языка SQL

SQL - structured query language
язык структурированных запросов

Слайд 4

Где живут наши клиенты?

SELECT город, регион FROM клиенты

Где живут наши клиенты? SELECT город, регион FROM клиенты

Слайд 5

Sub GetCastomerNames()
Dim db As Database
Dim rs As Recordset
Dim i

Sub GetCastomerNames() Dim db As Database Dim rs As Recordset Dim i
As Integer
Dim address() As String
Set db = CurrentDb()
Set rs = db.OpenRecordset("клиенты")
rs.MoveLast
ReDim address (rs.RecordCount - 1, 1)
With rs
.MoveFirst
i = 0
Do Until .EOF
address (i,0) = ![город]
address (i,1) = ![регион]
i = i + 1
.MoveNext
Loop
End With
rs.Close
db.Close
End Sub

SELECT город, регион
FROM клиенты

Декларативный и процедурный языки программирования

Слайд 6

Способы встраивания SQL в прикладные программы
1) Внедренные SQL-запросы
Отдельные SQL-запросы внедряются прямо

Способы встраивания SQL в прикладные программы 1) Внедренные SQL-запросы Отдельные SQL-запросы внедряются
в исходный текст программы и смешиваются с операторами базового языка. Этот подход позволяет создавать программы, обращающиеся непосредственно к БД. Специальные программы-предкомпиляторы преобразуют исходный текст с целью замены SQL-запросов соответствующими вызовами подпрограмм СУБД, затем текст компилируется и собирается обычным способом.
2) Использование прикладного интерфейса программирования
(Application Programming Interface – API)
Работа с БД реализуется через предоставляемый набор функций.
Вызывая эти функции, программа передает СУБД операторы SQL и получает обратно результаты запросов. В этом случае не требуется специализированный препроцессор.

Формы использования SQL: встроенный и интерактивный

Слайд 7

Sub GetAuthorNames2()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Set rs

Sub GetAuthorNames2() Dim db As Database Dim rs As Recordset Set db
= db.OpenRecordset("SELECT имя, фамилия FROM авторы;")
' Далее программа обрабатывает результаты
' запроса, находящиеся в переменной rs.
rs.Close
db.Close
End Sub

Пример включения операторов SQL в исходный код приложения, написанного на процедурном языке:

Слайд 8

SQL используется для реализации всех функций СУБД:

организация данных (определяет и изменяет структуры

SQL используется для реализации всех функций СУБД: организация данных (определяет и изменяет
представления данных и устанавливать отношения между элементами БД); ƒ
чтение данных (предоставляет пользователю или приложению возможность читать из БД содержащуюся в ней информацию и пользоваться ею); ƒ
обработка данных (дает возможность изменять базу данных, т.е. добавлять новые данные, удалять или обновлять уже имеющиеся); ƒ
управление доступом (позволяет задавать необходимые возможности пользователя по чтению и изменению данных, а также защищать их от несанкционированного доступа); ƒ
совместное использование данных (координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу); ƒ
целостность данных (обеспечивает целостность БД, защищая ее от разрушения из-за несогласованных изменений или отказа системы).

SQL – это неотъемлемая часть СУБД, инструмент, с помощью которого программируется взаимодействие клиентского приложения с реляционной БД.

Слайд 9

Категории операторов языка SQL

Язык определения данных (Data Definition Language или DDL) -

Категории операторов языка SQL Язык определения данных (Data Definition Language или DDL)
создание объектов баз данных CREATE SCHEMA, CREATE TABLE, CREATE VIEW, CREATE DOMAIN и др..
Язык манипулирования данными (Data Manipulation Language или DML) - запись, изменение и поиск данных. SELECT, INSERT, UPDATE и DELETE.
Операторы управления данными (Data Control Statements). - определение прав пользователей на операции с объектами базы данных. (Часто они рассматриваются как часть DDL.) GRANT, REVOKE.

Слайд 10

Дополнительные категории операторов языка SQL

операторы для определения ограничений целостности и триггеров;
средства

Дополнительные категории операторов языка SQL операторы для определения ограничений целостности и триггеров;
определения представлений БД;
средства управления транзакциями.

Слайд 11

Примеры реляционных СУБД

IBM DB2
Oracle
Microsoft SQL Server
MySQL
PostgreSQL
SQLite
Microsoft Access

Примеры реляционных СУБД IBM DB2 Oracle Microsoft SQL Server MySQL PostgreSQL SQLite Microsoft Access

Слайд 12

Microsoft Oracle SQL Server
PL/ SQL Transact-SQL

Расширенные языки некоторых

Microsoft Oracle SQL Server PL/ SQL Transact-SQL Расширенные языки некоторых СУБД СУБД: Языки СУБД:
СУБД

СУБД:

Языки СУБД:

Слайд 13

SQL-86 (1986/1987 гг.);
SQL-89 (1989 г.; фактически SQL-86 с малыми добавками);
SQL-92 (1992 г.;

SQL-86 (1986/1987 гг.); SQL-89 (1989 г.; фактически SQL-86 с малыми добавками); SQL-92
синонимы: SQL2, SQL92 ):
SQL:1999 (синонимы: SQL3, SQL-99; главные дополнения — объектные возможности языка, хранимые процедуры, поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности):
SQL:2003 (Введены расширения для работы с XML-данными, оконные функции, применяемые для работы с OLAP-базами данных, генераторы последовательностей и основанные на них типы данных).
С этого момента очередные версии стандарта выходят не в полном объеме, как прежде, а в виде "дополнительных частей"
SQL:2006 (развивает расширения, касающиеся XML, возникшие в SQL:2003)
SQL:2008 (Улучшены возможности оконных функций; устранены некоторые неоднозначности стандарта SQL:2003; введен ряд частных дополнений, как, например, TRUNCATE TABLE или выдача первых N записей)
На основе SQL-92 построен ГОСТ Р ИСО/МЭК 9075-93.

История версий стандарта языка SQL

Слайд 14

Разделы стандарта SQL2

Раздел 1: "Область применения";
Раздел 2: "Нормативные ссылки" - перечень дополнительных

Разделы стандарта SQL2 Раздел 1: "Область применения"; Раздел 2: "Нормативные ссылки" -
стандартов;
Раздел 3: "Определения, обозначения и соглашения";
Раздел 4: "Понятия" - базовые понятия, используемые при определении языка;
Раздел 5: "Лексические элементы";
Раздел 6: "Скалярные выражения" - определение элементов языка, производящих скалярные значения;
Раздел 7: "Выражения запросов" - определение элементов языка, производящих строки и таблицы данных;
Раздел 8: "Предикаты";

Слайд 15

Разделы стандарта SQL2 (продолжение)

Раздел 9: "Правила присваивания данных" - правила, определяющие порядок

Разделы стандарта SQL2 (продолжение) Раздел 9: "Правила присваивания данных" - правила, определяющие
выборки данных из базы данных или сохранения данных в базе данных, и правила формирования операций над множествами;
Раздел 10: "Дополнительные общие элементы" - дополнительные общие языковые элементы, используемые в разных частях языка;
Раздел 11: "Определение схемы и манипулирование схемой" - определение средств создания схемы и управления схемой;
Раздел 12: "Модуль" - определение модулей и процедур;
Раздел 13: "Манипулирование данными" - определение операторов манипулирования данными;
Раздел 14: "Управление транзакциями";
Раздел 15: "Управление подключениями";
Раздел 16: "Управление сессиями";

Слайд 16

Разделы стандарта SQL2 (продолжение)

Раздел17: "Динамический SQL" - определение средств, предназначенных для динамического

Разделы стандарта SQL2 (продолжение) Раздел17: "Динамический SQL" - определение средств, предназначенных для
выполнения операторов SQL; Раздел 18: "Управление диагностикой"
Раздел 19: "Встроенный SQL" - определение синтаксиса встраивания SQL в некоторые стандартные языки программирования;
Раздел 20: "Прямой вызов SQL" - определение подмножества SQL/92, которое может использоваться в режиме прямого вызова;
Раздел21: "Информационная схема и схема определений" - определение представляемых таблиц, содержащих информацию о схеме;
Раздел22: "Коды статуса" - определение значений, идентифицирующих статус завершения SQL-операторов и механизмов, посредством которых эти значения возвращаются;
Раздел 23: "Соответствие" - определение критериев соответствия языку SQL/92;

Слайд 17

Приложения к стандарту SQL2 (продолжение)

Приложение A: "Уровни языка SQL" - перечисление правил,

Приложения к стандарту SQL2 (продолжение) Приложение A: "Уровни языка SQL" - перечисление
определяющих подмножества вводного SQL (EntrySQL) и промежуточного SQL (IntermediateSQL) стандарта SQL/92;
Приложение B: "Элементы, определяемые в реализации" - перечисление средств, для которых в стандарте установлено, что синтаксис, или смысл, или результат воздействия на базу данных частично или полностью определяется в реализации, и описание определяющей информации, которая должна быть обеспечена в реализации для каждого случая;
Приложение C: "Элементы, зависимые от реализации" - перечисление средств, для которых в стандарте явно установлено, что их смысл или результат воздействия на базу данных зависит от реализации;
Приложение D: "Неодобряемые свойства" - перечисление свойств, которые разработчики стандарта не хотели бы видеть в его следующей версии;
Приложение E: "Несовместимости с SQL/89" - перечисление несовместимостей между SQL/92 и SQL/89;
Приложение F: "Поддержка и интерпретация SQL" - разъясняются интерпретации SQL и коррективы, которые были внесены после принятия SQL/89.

Слайд 18

Свойства реляционной структуры данных

Свойства реляционной структуры данных

Слайд 19

В реляционной БД данные представлены в виде совокупности нескольких таблиц

Все данные в

В реляционной БД данные представлены в виде совокупности нескольких таблиц Все данные
реляционной БД содержатся в таблицах.
Таблицы представляют собой совокупность каких-либо сведений об объектах, явлениях, процессах реального мира.
Таблицы содержат:
Строки. Каждая строка (или запись) представляет собой совокупность атрибутов (свойств) конкретного экземпляра объекта.
Столбцы. Каждый столбец (поле) представляет собой атрибут или совокупность атрибутов.
Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет определенное имя, тип данных и размер.

Слайд 20

Свойства таблицы

Является структурным элементом, который содержит данные
Имеет имя, уникальное внутри БД
Содержит данные,

Свойства таблицы Является структурным элементом, который содержит данные Имеет имя, уникальное внутри
соответствующие одному объектному типу (типу сущностей)
Содержит не менее одного столбца
Может не содержать ни одной строки
Содержит на пересечении столбца и строки значение
Каждый столбец имеет имя и набор свойств

Слайд 21

Пример таблицы из базы данных

Народные песни

Пример таблицы из базы данных Народные песни

Слайд 22

Связь таблиц

Таблицы связаны с помощью первичных и внешних ключей

Связь таблиц Таблицы связаны с помощью первичных и внешних ключей

Слайд 23

Схема БД книги_ру

Схема БД книги_ру

Слайд 24

Соответствие терминов

Соответствие терминов

Слайд 25

Свойства значения
Все значения атомарны (неделимы)
Значение может отсутствовать; отсутствие значения обозначается NULL

Свойства кортежа

Свойства значения Все значения атомарны (неделимы) Значение может отсутствовать; отсутствие значения обозначается
(строки)
Строка содержит свойства (атрибуты) одного экземпляра сущности
Порядок следования строк не имеет значения
Нет одинаковых строк (хотя бы в одном столбце значения различаются)
Каждая строка однозначно определяется первичным ключом

Свойства атрибута (столбца)
Столбец представляет атрибут (свойство) сущности
Для каждого столбца определен свой домен
Столбец содержит однотипные данные
Порядок следования столбцов не имеет значения

Слайд 26

Типы данных в SQL

Типы данных в SQL

Слайд 27

Таблица КНИГИ

Таблица КНИГИ

Слайд 28

Типы данных в SQL

У каждого столбца, локальной переменной, выражения и параметра есть

Типы данных в SQL У каждого столбца, локальной переменной, выражения и параметра
определенный тип данных.
Тип данных — атрибут, определяющий, какого рода данные могут храниться в объекте:
целые числа,
символы,
данные денежного типа,
метки времени и даты,
двоичные строки

Слайд 29

Категории типов данных

Категории типов данных

Слайд 30

Примеры литералов

Числовые: 40 , 12.34
Символьные: '40' , 'история'
Даты и времени

Примеры литералов Числовые: 40 , 12.34 Символьные: '40' , 'история' Даты и
: '2002-05-10' , '09:45:00' '2000.31.08 0:00:00'

Слайд 31

Строковые типы данных

Строковые типы данных

Слайд 32

Строковые типы данных в некоторых СУБД

Microsoft Access - text, memo;
Microsoft SQL Server

Строковые типы данных в некоторых СУБД Microsoft Access - text, memo; Microsoft
- varchar, text, nchar, nvarchar, ntext;
Oracle - char, varchar, varchar2, nchar, nvarchar, nvarchar2;
MySQL - char, varchar, nchar, nvarchar, text, tinytext, mediumtext, longtext;

Слайд 33

Битовые типы данных

Битовые типы данных

Слайд 34

Битовые типы данных в некоторых СУБД

Microsoft Access - yes, no, binary, OLE

Битовые типы данных в некоторых СУБД Microsoft Access - yes, no, binary,
object;
Microsoft SQL Server - binary, varbinary, image;
Oracle - raw, long raw, blob, bfile;
MySQL - blob, tinyblob, mediumblob, longblob;

Слайд 35

Точные числовые типы данных

Точные числовые типы данных

Слайд 36

Точные числовые типы данных в некоторых СУБД

Microsoft Access - decimal, integer, byte,

Точные числовые типы данных в некоторых СУБД Microsoft Access - decimal, integer,
long integer;
Microsoft SQL Server - numeric, de­cimal, integer, smallint, bigint, tinyint ;
Oracle - numeric, decimal, integer, smallint, number ;
MySQL - numeric, decimal, integer, smallint, bigint, mediumint, tiny­int ;

Слайд 37

Действительные числовые типы данных

Действительные числовые типы данных

Слайд 38

Действительные числовые типы данных в некоторых СУБД

Microsoft Access - single, double ;

Действительные числовые типы данных в некоторых СУБД Microsoft Access - single, double

Microsoft SQL Server - float, real ;
Oracle - float, real, double precision, number ;
MySQL - float, real, double preci­sion ;

Слайд 39

Календарные типы данных

Календарные типы данных

Слайд 40

Поля типа datetime и их допустимые значения

Поля типа datetime и их допустимые значения

Слайд 41

Календарные типы данных в некоторых СУБД

Microsoft Access - date/time ;
Microsoft SQL

Календарные типы данных в некоторых СУБД Microsoft Access - date/time ; Microsoft
Server - datetime, smalldatetime ;
Oracle - date, timestamp ;
MySQL - date, time, datetime, timestamp ;

Слайд 42

Интервальные типы данных

Интервальные типы данных

Слайд 43

Интервальные типы данных в некоторых СУБД

Microsoft Access - не поддерживает ;
Microsoft

Интервальные типы данных в некоторых СУБД Microsoft Access - не поддерживает ;
SQL Server - не поддерживает ;
Oracle - Interval ;
MySQL - не поддерживает ;

Слайд 44

Скалярные выражения

числовые
строковые
даты и времени (в т.ч. интервальные)

Скалярные выражения числовые строковые даты и времени (в т.ч. интервальные)

Слайд 45

Таблица КНИГИ

Таблица КНИГИ

Слайд 46

Типы выражений

Типы выражений

Слайд 47

Категории типов данных (Transact-SQL)

Категории типов данных (Transact-SQL)

Слайд 48

Типы данных (Transact-SQL)

Точные числа

Приблизительные числа

Дата и время

Типы данных (Transact-SQL) Точные числа Приблизительные числа Дата и время

Слайд 49

Типы данных (Transact-SQL)

Символьные строки

Символьные строки в Юникоде

Двоичные данные

Прочие типы данных

Типы данных (Transact-SQL) Символьные строки Символьные строки в Юникоде Двоичные данные Прочие типы данных

Слайд 50

Тип данных выражения (Transact-SQL)

При объединении одним оператором двух выражений с разными типами

Тип данных выражения (Transact-SQL) При объединении одним оператором двух выражений с разными
данных, параметрами сортировки, точностями, масштабами или длинами, результат определяется следующим образом:
Тип данных результата определяется применением правил очередности типов данных к входным выражениям.
Приоритет типов данных (Transact-SQL)
Параметры сортировки результата определяются правилами очередности параметров сортировки, если тип данных результата — char, varchar, text, nchar, nvarchar или ntext.
Очередность параметров сортировки (Transact-SQL)
Точность, масштаб и длина результата зависят от точности, масштаба и длины входных выражений
Точность, масштаб и длина (Transact-SQL)

Слайд 51

Схема БД книги_ру

Схема БД книги_ру

Слайд 52

Пример команды SQL с комментарием

– – Показать авторов, проживающих в Москве
SELECT

Пример команды SQL с комментарием – – Показать авторов, проживающих в Москве
фамилия, имя
FROM авторы
WHERE регион = 'Москва'
ORDER BY фамилия ;


Результат выполнения запроса

Слайд 53

Пример команды SQL с комментарием

– – Показать авторов, проживающих в Москве

Пример команды SQL с комментарием – – Показать авторов, проживающих в Москве

SELECT фамилия, имя
FROM авторы
WHERE регион = 'Москва'
ORDER BY фамилия ;


предложения

ключевые слова

имена переменных

завершающая точка с запятой

комментарий

Слайд 54

select ид_авт
, ФАМИЛИЯ
FROM
авторы WhErE регион = 'Санкт-Петербург' order
bY ФАмилия
;

SELECT ид_авт, фамилия

select ид_авт , ФАМИЛИЯ FROM авторы WhErE регион = 'Санкт-Петербург' order bY
FROM авторы
WHERE регион = 'Санкт-Петербург'
ORDER BY фамилия
;

Форма записи команды SQL

Имя файла: SQL-01-3-(Введение-в-SQL).pptx
Количество просмотров: 49
Количество скачиваний: 0