Содержание

Слайд 2

Основные определения Structured Query Language — «язык структурированных запросов SQL является-

Основные определения

Structured Query Language — «язык структурированных запросов
SQL является- информационно-логический язык, предназначенный для

описания хранимых данных, для извлечения хранимых данных и для модификации данных.
Слайд 3

Введение Большинство современных СУБД построено на реляционной модели данных. Для получения

Введение

Большинство современных СУБД построено на реляционной модели данных. Для получения

информации из отношений (таблиц) базы данных в качестве языка манипулирования данными в теоретическом плане используется язык SQL
Слайд 4

SQL – структурированный язык запросов, предназначенный для работы с БД реляционного

SQL – структурированный язык запросов, предназначенный для работы с БД реляционного

типа. SQL является интерактивным языком запросов, который обеспечивает пользователю быстрый доступ к данным. SQL является также языком программирования баз данных. Программисты могут вставить SQL-запросы в свои программы, чтобы получить доступ к базам данных SQL – язык распределения базы данных, служит для распределения данных взаимодействующих систем, для распределенной обработки баз данных
Слайд 5

Функции языка SQL Организация данных – создание и изменение структуры баз

Функции языка SQL

Организация данных – создание и изменение структуры баз данных


Чтение данных
Обработка данных – удаление, добавление и корректировка данных
Управление доступа к данным – предоставление привилегий (ограничение возможностей) пользователю для чтения и изменения данных
Совместное использование данных- координация общего пользования данных многими пользователями
Целостность данных – защита данных от разрушения при сбое системы или других обстоятельствах
Слайд 6

Стандарты SQL Разработка SQL началась в 1982 году Американским институтом национальных

Стандарты SQL

Разработка SQL началась в 1982 году Американским институтом национальных

стандартов ANSI (American National Standards Institute). В 1986 SQL был официально утвержден как стандарт ANSI, а в 1987 году – в качестве стандарта ISO (International Standards Organization) – международной организации по стандартизации.
Слайд 7

Первый официальный стандарт языка SQL был принят ANSI (Американский Национальный Институт

Первый официальный стандарт языка SQL был принят ANSI (Американский Национальный Институт Стандартов) в 1986

году и ISO (Международной организацией по стандартизации) в 1987 году (так называемый SQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка
поставщиками СУБД потребовало принятия в 1992 году нового расширенного стандарта (ANSI SQL-92 или просто SQL2). Следующим стандартом стал SQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.
Слайд 8

История версий стандарта SQL •1986. SQL-86,SQL-87. Первый вариант стандарта, принятый институтом

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

•1986. SQL-86,SQL-87. Первый вариант стандарта, принятый институтом ANSI и

одобренный ISO в 1987 году.
•1989. SQL-89,FIPS 127-1. Немного доработанный вариант предыдущего стандарта.
•1992. SQL-92. SQL2, FIPS 127-2. Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2.
•1999. SQL:1999. SQL3. Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
•2003. SQL:2003. Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных), генераторы последовательностей и основанные на них типы данных.
•2006. SQL:2006. Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.
•2008. SQL:2008. Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003
Слайд 9

Соответствие стандарту Впервые понятие «уровня соответствия» было предложено в стандарте SQL-92.

Соответствие стандарту

Впервые понятие «уровня соответствия» было предложено в стандарте SQL-92. ANSI

определяли четыре уровня соответствия реализации этому стандарту, где каждый последующий уровень соответствия заведомо подразумевал соответствие предыдущему уровню :
•Entry (базовый)
•Transitional (переходный) — проверку на соответствие этому уровню проводил только NIST
•Intermediate (промежуточный)
•Full (полный)
Положение изменилось с введением стандарта SQL:1999. в котором стандарт приобрёл модульную структуру — основная часть стандарта была вынесена в раздел «SQL/Foundation», все остальные были выведены в отдельные модули. Соответственно, остался только один уровень совместимости — что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД. Аналогичное положение имело место и с последующими версиями стандарта.
Слайд 10

Достоинства SQL Независимость от конкретной СУБД Наличие стандартов Декларативность

Достоинства SQL

Независимость от конкретной СУБД
Наличие стандартов
Декларативность

Слайд 11

Недостатки SQL Несоответствие реляционной модели данных Неопределённые значения (nulls) Явное указание

Недостатки SQL

Несоответствие реляционной модели данных
Неопределённые значения (nulls)
Явное указание порядка колонок слева

направо
Колонки без имени и дублирующиеся имена колонок
Отсутствие поддержки свойства «=» Использование указателей
Высокая избыточность
Сложность
Отступления от стандартов
Сложность работы с иерархическими структурами
Слайд 12

Расширения SQL InterBase/Firebird – краткое название языка –PSQL. Procedural SQL IBM

Расширения SQL

InterBase/Firebird – краткое название языка –PSQL. Procedural SQL
IBM DB2 – краткое название языка – SQL

PL. SQL Procedural Language (расширяет SQL/PSM); также в DB2 хранимые процедуры могут писаться на обычных языках программирования: Си, Java и т. д.
MS SQL Server/
Sybase ASE – краткое название языка – Transact-SQL. Transact- SQL
MySQL – краткое название языка – SQL/PSM. SQL/Persistent Stored Module
Oracle – краткое название языка – PL/SQL. Procedural Language/SQL (основан на языке Ada)
PostgreSQL – краткое название языка – PL/pgSQL. Procedural Language/PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL)
Слайд 13

SQL в компьютерной сети Сервер базы данных выполняет SQL – запрос

SQL в компьютерной сети

Сервер базы данных выполняет SQL – запрос

и возвращает пользователю только ту информацию из базы данных, которая соответствует этому SQL - запросу
Слайд 14

Элементы языка SQL Ключевые слова Имена Константы Типы данных Встроенные функции выражения

Элементы языка SQL

Ключевые слова
Имена
Константы
Типы данных
Встроенные функции


выражения
Слайд 15

Ключевые слова. Имена. Константы Ключевые слова – это фиксированный набор английских

Ключевые слова. Имена. Константы

Ключевые слова – это фиксированный набор английских

слов, которые определяют тип запроса и необходимую информацию для выполнения этого запроса
Имена используются для обозначения (присвоения имени) таблиц, столбцов в таблице, а также владельцев таблиц (баз данных)
Константы служат для явного указания величин – чисел, строк, дату и время – в командах SQL
Слайд 16

Типы данных. Выражения Типы данных служат для представления информации в базах

Типы данных. Выражения

Типы данных служат для представления информации в базах

данных. В SQL определен набор типов данных (char, varchar , integer, smallint…)
Выражения в SQL представляют собой имена, константы, встроенные функции, связанные между собой знаками арифметических операций. В сложных выражениях для изменения порядка вычислений применяются круглые скобки.
Слайд 17

ТИП ДАННЫХ Тип данных определяет, какое значение может содержать столбец: целочисленные

ТИП ДАННЫХ

Тип данных определяет, какое значение может содержать столбец: целочисленные данные,

символьные данные, денежные данные, данные даты и времени, двоичные строки и т. д.
Слайд 18

Каждый столбец в таблице базы данных должен иметь имя и тип

Каждый столбец в таблице базы данных должен иметь имя и тип

данных.
Разработчик SQL должен решить, какой тип данных будет храниться внутри каждого столбца при создании таблицы. Тип данных является ориентиром для SQL, чтобы понять, какой тип данных ожидается внутри каждого столбца, а также определяет, как SQL будет взаимодействовать с сохраненными данными.
Слайд 19

Типы данных SQL

Типы данных SQL

Слайд 20

Отличие Varchar от char Типы данных CHAR и VARCHAR очень схожи

Отличие Varchar от char

Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по

способам их хранения и извлечения. В столбце типа CHAR длина поля постоянна и задается при создании таблицы. ... Величины в столбцах VARCHAR представляют собой строки переменной длины.
Слайд 21

Операторы SQL Операторы SQL делятся на: операторы определения данных (Data Definition

Операторы SQL

Операторы SQL делятся на:
операторы определения данных (Data Definition Language, DDL)
операторы манипуляции

данными (Data Manipulation Language, DML)
операторы определения доступа к данным (Data Control Language, DCL)
операторы управления транзакциями (Transaction Control Language, TCL)
Слайд 22

Операторы DDL Create - СОЗДАТЬ Alter - ИЗМЕНИТЬ Drop - УДАЛИТЬ

Операторы DDL

Create - СОЗДАТЬ
Alter - ИЗМЕНИТЬ
Drop - УДАЛИТЬ

Слайд 23

Объекты БД DataBase – база данных БД Table - таблица Trigger

Объекты БД

DataBase – база данных БД
Table - таблица
Trigger - триггер
Procedure -

процедура
Generator - генератор
Exception – исключение
VIEW - просмотр
Слайд 24

Создание таблиц CREATE TABLE имя_таблицы ( имя_столбца тип_данных [NULL | NOT

Создание таблиц

CREATE TABLE имя_таблицы ( имя_столбца тип_данных [NULL | NOT NULL]

[CONSTRAINTS],имя_столбца тип_данных[NULL|NOT NULL] [CONSTRAINTS] , ..... );
Ограничения
На пустое значение
На значение по умолчанию
На определенные ранее параметры
Слайд 25

NOT NULL Constraint — столбец не может иметь значение NULL. DEFAULT

NOT NULL Constraint — столбец не может иметь значение NULL.
DEFAULT Constraint

— задает значение по умолчанию для столбца, если оно не указано.
UNIQUE Constraint — все значения в столбце должны быть разными.
PRIMARY Key — уникальная идентификация каждой строки/записи в таблице базы данных.
FOREIGN Key — уникально идентифицирует строку/запись в любой другой таблице базы данных.
CHECK Constraint — ограничение CHECK обеспечивает, чтобы все значения в столбце удовлетворяли определенным условиям.
INDEX — используется для быстрого создания данных базы данных.
Ограничения могут указываться при создании таблицы с помощью оператора CREATE TABLE или вы можете использовать оператор ALTER TABLE для создания ограничений уже после создания таблицы.
Слайд 26

Изменение таблиц ALTER TABLE имя таблицы ADD | DROP имя_столбца тип_данных

Изменение таблиц

ALTER TABLE имя таблицы
ADD | DROP имя_столбца тип_данных [NULL |

NOT >NULL] [CONSTRAINTS] , ADD I DROP имя_столбца тип_данных [NULL|NOT >NULL] [CONSTRAINTS] ,
Изменения не только структуры, но и целостности