SQL презентация

Содержание


SQL
 Реализация в ACCESSСравнение Microsoft Access SQL и ANSI SQL
 Microsoft Access SQL вСинтаксис команды SELECT (Microsoft Access) 
 SELECT [предикат] { * |Аргументы инструкции SELECT
 Предикат (ALL, DISTINCT, DISTINCTROW или TOP) - одноАргументы инструкции SELECT
 Таблица	 - имя таблицы, из которой должны бытьСовместная обработка нескольких таблиц
 SELECT сотрудник.ФИО, предмет.[наименование предмета краткое]
 FROM сотрудникСовместная обработка таблиц (левое соединение)
 Список сотрудников, не имеющих детей:Конструкция Between...And
 выражение1 [NOT] BETWEEN выражение2 AND выражение3
 (в Microsoft AccessСимволы шаблона
 Разные символы шаблона используются с предикатом Like.
 Символ шаблона	Предложение GROUP BY
 SELECT списокПолей FROM таблица WHERE условиеОтбора [GROUP BYЗадача
 	Есть таблицы «фирмы», «сотрудники» и «аттестации». Надо определить, сколько аттестованныхВложенный запрос. Предикат Exists.
 SELECT сотр.фирма, Count(сотр.сотр) AS число_аттест_сотр
 FROM сотр
Инструкция SELECT...INTO 
 Создает запрос на создание таблицы.
 Синтаксис
 SELECT поле_1[,Запрос на объединение (пример 1)
 SELECT [Название], [Город]
 FROM [Поставщики]
 UNION
Запрос на объединение (пример 2)
 SELECT [Название], [Город]
 FROM [Поставщики]
 UNIONСоздание подчиненного запроса с использованием построителя запросов QBE
 	Если подчиненный запросКорректирующие запросыУдаление записей. Запрос на QBEИнструкция DELETE (SQL) Синтаксис команды
 DELETE [таблица.*]
 FROM таблица
 WHERE условие_отбораУдаление записей. Запрос на SQL (сгенерированный)
 DELETE DISTINCTROW студент.ФИО
 FROM студент
Инструкция DELETE
 Запрос на удаление удаляет записи целиком, а не толькоУдаление записей. Запрос на SQL 
 Запрос:
 DELETE *
 FROM студент
Управляющие операторыСоздание объектовСоздание объектов
 Объекты:
 Таблица
 индекс
 представление
 создаются командой CREATE 
 удаляютсяСоздание таблицыСоздание таблицы. Синтаксис команды
 CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)]Создание таблицы. Синтаксис команды в Access
 Существенно отличается от стандарта:
 реализованыTEMPORARY
  Временная (TEMPORARY) таблица доступна только в том сеансе, гдеWITH COMPRESSION
 Использование атрибута WITH COMPRESSION допускается только для типов данныхСоздание индексаСоздание индекса.  Синтаксис команды
 CREATE [ UNIQUE ] INDEX индекс
Создание индекса
 DISALLOW NULL - запрещает наличие значений Null в индексированныхПримеры создания индексов
 Пример1.
 CREATE INDEX NewIndex ON Employees (HomePhone, _
Создание представленийСоздание представлений. Синтаксис команды
 	CREATE VIEW представление [(поле_1[, поле_2[, ...]])] ASСоздание представлений.  (пример 1)Изменение структуры таблицы
  ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)]Удаление объектов
 	DROP {TABLE таблица | INDEX индекс ON таблица |Дополнительные возможности  MS Acces SQLДополнительные возможности  MS Acces SQL
 Инструкция TRANSFORM, предназначенная для созданияИнструкция SELECT...INTO  
 SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN



Слайды и текст этой презентации
Слайд 1
Описание слайда:
SQL Реализация в ACCESS


Слайд 2
Описание слайда:
Сравнение Microsoft Access SQL и ANSI SQL Microsoft Access SQL в основном отвечает стандарту ANSI-89 (уровень 1) некоторые средства ANSI SQL не используются в Microsoft Access SQL Microsoft Access SQL использует зарезервированные слова и средства, не поддерживаемые ANSI SQL

Слайд 3
Описание слайда:
Синтаксис команды SELECT (Microsoft Access) SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]} FROM выражение [, ...] [IN внешняяБазаДанных] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION]

Слайд 4
Описание слайда:
Аргументы инструкции SELECT Предикат (ALL, DISTINCT, DISTINCTROW или TOP) - одно из условий отбора. Предикаты используются для ограничения числа возвращаемых записей. Если они отсутствуют, по умолчанию используется предикат ALL (отбираются все записи, соответствующие условиям, заданным в инструкции SQL). DISTINCT - исключает записи, которые содержат повторяющиеся значения в отобранных полях. DISTINCTROW - опускает данные, основанные на целиком повторяющихся записях, а не отдельных повторяющихся полях. Предикат DISTINCTROW игнорируется, если запрос содержит только одну таблицу или все поля всех таблиц. TOP n [PERCENT] - возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]] FROM таблица 5 самых многочисленных кафедр: SELECT TOP 5 сотрудник.[Код кафедры], Count(сотрудник.ФИО) AS число_сотрудников FROM сотрудник GROUP BY сотрудник.[Код кафедры] ORDER BY Count(сотрудник.ФИО) DESC;

Слайд 5
Описание слайда:
Аргументы инструкции SELECT Таблица - имя таблицы, из которой должны быть отобраны записи. WITH OWNERACCESS OPTION - используется в многопользовательской среде с составе защищенной рабочей группы, для предоставления пользователю, работающему с запросом, разрешений, соответствующих разрешениям владельца запроса. поле_1, поле_2 - имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке . Псевдоним_1, псевдоним_2 - имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице. Выражение - имена одной или нескольких таблиц, которые содержат отбираемые данные ВнешняяБазаДанных - имя базы данных, которая содержит таблицы, указанные с помощью аргумента выражение, если они не находятся в текущей базе данных.

Слайд 6
Описание слайда:
Совместная обработка нескольких таблиц SELECT сотрудник.ФИО, предмет.[наименование предмета краткое] FROM сотрудник INNER JOIN (предмет INNER JOIN [владение предметами] ON предмет.[Код предмета] = [владение предметами].[код дисциплины]) ON сотрудник.Код = [владение предметами].[код сотрудника];

Слайд 7
Описание слайда:
Совместная обработка таблиц (левое соединение) Список сотрудников, не имеющих детей:

Слайд 8
Описание слайда:
Конструкция Between...And выражение1 [NOT] BETWEEN выражение2 AND выражение3 (в Microsoft Access SQL выражение2 может быть больше, чем выражение3, а в ANSI SQL – нет). SELECT сотрудник.ФИО, сотрудник.оклад FROM сотрудник WHERE (((сотрудник.оклад) Between 1000 And 2000)); Запрос: SELECT сотрудник.ФИО, сотрудник.оклад FROM сотрудник WHERE (((сотрудник.оклад) Between 2000 And 1000)); не выдает ошибки и дает тот же ответ SELECT сотрудник.ФИО, сотрудник.оклад FROM сотрудник WHERE (((сотрудник.оклад)<1000 Or (сотрудник.оклад)>15000)); SELECT сотрудник.ФИО, сотрудник.оклад FROM сотрудник WHERE (((сотрудник.оклад) Not Between 1000 And 2000));

Слайд 9
Описание слайда:
Символы шаблона Разные символы шаблона используются с предикатом Like. Символ шаблона MS Access SQL ANSI SQL  один символ ? _ (подчеркивание)  группа  символов * %  одиночный знак, входящий в список_знаков [список_знаков] отсутствует  одиночный знак, не входящий в список_знаков [!список_знаков] отсутствует

Слайд 10
Описание слайда:
Предложение GROUP BY SELECT списокПолей FROM таблица WHERE условиеОтбора [GROUP BY группируемыеПоля] где группируемыеПоля - имена полей (до 10), которые используются для группировки записей. Порядок имен полей в аргументе группируемыеПоля определяет уровень группировки для каждого из этих полей. Используйте предложение WHERE для исключения записей из группировки, а предложение HAVING для применения фильтра к записям после группировки. При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL. Кафедры, на которых работает более 5 сотрудников: SELECT сотр.[Код кафедры], Count(сотр.ФИО) AS [Число_сотрудников] FROM сотр GROUP BY сотр.[Код кафедры] HAVING (((Count(сотр.ФИО))>5));

Слайд 11
Описание слайда:
Задача Есть таблицы «фирмы», «сотрудники» и «аттестации». Надо определить, сколько аттестованных сотрудников есть на каждой фирме (один сотрудник может быть аттестован по нескольким ПП).

Слайд 12
Описание слайда:
Вложенный запрос. Предикат Exists. SELECT сотр.фирма, Count(сотр.сотр) AS число_аттест_сотр FROM сотр WHERE (((Exists (SELECT DISTINCT сотр.фирма, сотр.сотр FROM сотр INNER JOIN экз ON сотр.сотр = экз.сотр))<>False)) GROUP BY сотр.фирма;

Слайд 13
Описание слайда:
Инструкция SELECT...INTO Создает запрос на создание таблицы. Синтаксис SELECT поле_1[, поле_2[, ...]] INTO новаяТаблица [IN внешняяБазаДанных] FROM источник

Слайд 14
Описание слайда:
Запрос на объединение (пример 1) SELECT [Название], [Город] FROM [Поставщики] UNION SELECT [Название], [Город] FROM [Клиенты] ORDER BY [Город];

Слайд 15
Описание слайда:
Запрос на объединение (пример 2) SELECT [Название], [Город] FROM [Поставщики] UNION ALL SELECT [Название], [Город] FROM [Клиенты]; - UNION ALL обеспечивает возвращение всех записей, в том числе повторяющихся

Слайд 16
Описание слайда:
Создание подчиненного запроса с использованием построителя запросов QBE Если подчиненный запрос используется для определения условий для поля, введите инструкцию SELECT в ячейку строки Условие отбора в столбце этого поля. Инструкцию SELECT необходимо заключить в круглые скобки.

Слайд 17
Описание слайда:
Корректирующие запросы

Слайд 18
Описание слайда:
Удаление записей. Запрос на QBE

Слайд 19
Описание слайда:
Инструкция DELETE (SQL) Синтаксис команды DELETE [таблица.*] FROM таблица WHERE условие_отбора

Слайд 20
Описание слайда:
Удаление записей. Запрос на SQL (сгенерированный) DELETE DISTINCTROW студент.ФИО FROM студент WHERE (((студент.ФИО)="Бурлак Г. Н."));

Слайд 21
Описание слайда:
Инструкция DELETE Запрос на удаление удаляет записи целиком, а не только содержимое указанных полей. Чтобы удалить данные конкретного поля, создайте запрос на обновление записей, который заменяет имеющиеся значения на значения Null Запрос на удаление без заданных условий поиска удалит все записи из таблицы. В отличии от команды DROP структура таблицы и все свойства сохраняются

Слайд 22
Описание слайда:
Удаление записей. Запрос на SQL Запрос: DELETE * FROM студент WHERE студент.ФИО="Бурлак Г. Н."; дает аналогичный результат.

Слайд 23
Описание слайда:
Управляющие операторы

Слайд 24
Описание слайда:
Создание объектов

Слайд 25
Описание слайда:
Создание объектов Объекты: Таблица индекс представление создаются командой CREATE удаляются командой DROP

Слайд 26
Описание слайда:
Создание таблицы

Слайд 27
Описание слайда:
Создание таблицы. Синтаксис команды CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [индекс_1] [, поле_2 тип [(размер)] [NOT NULL] [индекс_2] [, ...]] [, CONSTRAINT составнойИндекс [, ...]])

Слайд 28
Описание слайда:
Создание таблицы. Синтаксис команды в Access Существенно отличается от стандарта: реализованы не все возможности стандарта SQL-92 включены новые конструкции отличается синтаксис

Слайд 29
Описание слайда:
TEMPORARY Временная (TEMPORARY) таблица доступна только в том сеансе, где эта таблица была создана. По завершении данного сеанса она автоматически удаляется. Временные таблицы могут быть доступны для нескольких пользователей.

Слайд 30
Описание слайда:
WITH COMPRESSION Использование атрибута WITH COMPRESSION допускается только для типов данных CHARACTER и MEMO. Компенсирует последствия перехода к формату представления знаков Юникод

Слайд 31
Описание слайда:
Создание индекса

Слайд 32
Описание слайда:
Создание индекса. Синтаксис команды CREATE [ UNIQUE ] INDEX индекс ON таблица (поле [ASC|DESC][, поле [ASC|DESC], ...]) [WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

Слайд 33
Описание слайда:
Создание индекса DISALLOW NULL - запрещает наличие значений Null в индексированных полях новых записей IGNORE NULL запрещает включение в индекс записей, имеющих значения Null в индексированных полях PRIMARY - назначить индексированные поля ключом

Слайд 34
Описание слайда:
Примеры создания индексов Пример1. CREATE INDEX NewIndex ON Employees (HomePhone, _ Extension); Пример 2. CREATE UNIQUE INDEX CustID ON Customers (CustomerID) _ WITH DISALLOW NULL;

Слайд 35
Описание слайда:
Создание представлений

Слайд 36
Описание слайда:
Создание представлений. Синтаксис команды CREATE VIEW представление [(поле_1[, поле_2[, ...]])] AS инструкцияSelect

Слайд 37
Описание слайда:
Создание представлений. (пример 1)

Слайд 38
Описание слайда:
Изменение структуры таблицы ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL] [CONSTRAINT индекс] | ALTER COLUMN тип поля[(размер)] | CONSTRAINT составнойИндекс} | DROP {COLUMN поле I CONSTRAINT имяИндекса} }

Слайд 39
Описание слайда:
Удаление объектов DROP {TABLE таблица | INDEX индекс ON таблица | PROCEDURE процедура | VIEW представление}

Слайд 40
Описание слайда:
Дополнительные возможности MS Acces SQL

Слайд 41
Описание слайда:
Дополнительные возможности MS Acces SQL Инструкция TRANSFORM, предназначенная для создания перекрестных запросов Дополнительные групповые функции, например, StDev и VarP Описание PARAMETERS, предназначенное для создания запросов с параметрами

Слайд 42
Описание слайда:
Инструкция SELECT...INTO SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN внешняя_база_данных] FROM источник


Скачать презентацию на тему SQL можно ниже:

Tags SQL
Похожие презентации