Разделы презентаций


Язык БД SQL

Содержание

1. Общие сведения о языках запросов к реляционным БД Запрос представляет собой специальным образом описанное требование, определяющее состав производимых на БД операций по выборке, удалению или модификации хранимых данных.

Слайды и текст этой презентации

Слайд 1§ 7. Обзор основных операторов структурированного языка запросов к БД

SQL
1. Общие сведения о языках запросов к реляционным БД
2. Структура

языка SQL и его типы данных. Понятие представления
Основные операторы языка SQL
§ 7. Обзор основных операторов структурированного языка запросов к БД SQL1. Общие сведения о языках запросов к

Слайд 21. Общие сведения о языках запросов к реляционным БД

Запрос представляет собой специальным образом описанное требование, определяющее состав производимых

на БД операций по выборке, удалению или модификации хранимых данных.
Для подготовки запросов чаще всего используются два основных языка описания запросов: QBE и SQL.
1. Общие сведения о языках запросов к реляционным БД   Запрос представляет собой специальным образом описанное

Слайд 3Главное отличие между этими языками заключается в способе формирования запросов:

язык QBE предполагает ручное формирование запроса, в то время как

использование языка SQL означает программирование запроса.
Теоретической основой языка QBE является реляционное исчисление с переменными-доменами. Этот язык позволяет формировать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ формирования запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции. Достаточно описать образец ожидаемого результата (откуда и название языка – запрос по образцу).
Главное отличие между этими языками заключается в способе формирования запросов: язык QBE предполагает ручное формирование запроса, в

Слайд 4Для того чтобы узнать имена доступных отношений БД, в языке

QBE предусмотрен запрос на выборку имен отношений. Имена атрибутов исходного

отношения могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку имен атрибутов.
В современных СУБД, например, в ACCESS (диалоговые окна) и VISUAL FOX PRO, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши («протаскиванием» мышью имени атрибута одного отношения к атрибуту другого).
Первый вариант языка QBE был предложен в 1975-1977 г. М. М. Злуффом.
Для того чтобы узнать имена доступных отношений БД, в языке QBE предусмотрен запрос на выборку имен отношений.

Слайд 5Краткая история стандартизации языка SQL
Деятельность по стандартизации языка

SQL началась практически одновре- менно с появлением его первых коммерческих

реализаций. В 1982 г. комитету по БД Американского национального института стандар- тов (ANSI) было поручено разработать спецификацию стандартного языка реляционных БД.
Краткая история стандартизации языка SQL  Деятельность по стандартизации языка SQL началась практически одновре- менно с появлением

Слайд 6Первый документ из числа проектов стандарта датирован октябрем 1985 г.

и является уже не первым проектом стандарта ANSI. Стандарт был

принят ANSI в 1986 г., а в 1987 г. одобрен Международной организацией по стандартизации (ISO). Этот стандарт языка SQL принято называть SQL/86.
К 1989 г. стандарт SQL/86 был несколько расширен, был подготовлен и принят следующий стандарт, получивший название ANSI/ISO SQL/89.
Первый документ из числа проектов стандарта датирован октябрем 1985 г. и является уже не первым проектом стандарта

Слайд 7Осознавая неполноту стандарта SQL/89, на фоне завершения разработки этого стандарта

специалисты различных компаний начали работу над стандартом SQL2. Эта работа

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

Слайд 8В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова

(Call-Level Interface – SQL/CLI). SQL/CLI представляет собой набор спецификаций интерфейсов

процедур, вызовы которых позволяют выполнять динамически зада-ваемые операторы SQL. Интерфейсы проце- дур определены для всех основных языков программирования: C, Ada, Pascal и др. Стандарт SQL/CLI послужил основой для создания повсеместно распространенных сегодня интерфейсов ODBC (Open Database Connectivity) и JDBC (Java Database Connec-tivity). По сути дела SQL/CLI представляет собой альтернативу динамическому SQL.
В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова (Call-Level Interface – SQL/CLI). SQL/CLI представляет собой

Слайд 9В 1996 г. к стандарту SQL/92 был добавлен еще один

компонент SQL/PSM (Persistent Stored Modules). Основная цель этой спецификации состоит

в том, чтобы стандартизиро-вать способы определения и исполь-зования хранимых процедур, то есть программ, включающих операторы SQL, которые сохраняются в БД, могут вызываться приложениями и выполняются внутри СУБД.
В 1996 г. к стандарту SQL/92 был добавлен еще один компонент SQL/PSM (Persistent Stored Modules). Основная цель

Слайд 10Незадолго до завершения работ по определению стандарта SQL2 была начата

разработка стандар-та SQL3, которую частично уда-лось завершить только в 1999

г., и по этой причине стандарт получил название SQL:1999 (самые первые проекты SQL3 занимали около 1500 страниц). В 1999 г. были приняты пять первых частей стандарта SQL:1999.
Незадолго до завершения работ по определению стандарта SQL2 была начата разработка стандар-та SQL3, которую частично уда-лось завершить

Слайд 11Первая часть стандарта посвящена описанию концептуальной структуры стандарта; вторая –

образует базис стандарта; третья – уточняет по сравнению с SQL/92

спецификацию SQL/CLI; в четвертой части специ-фицируется SQL/PSM – синтаксис и семантика языка определения храни-мых процедур; в пятой части опреде-ляются правила связывания SQL для стандартных версий языков програм-мирования FORTRAN, PASCAL и др.
Первая часть стандарта посвящена описанию концептуальной структуры стандарта; вторая – образует базис стандарта; третья – уточняет по

Слайд 12В конце 2003 г. был принят и опубликован новый вариант

Международного стандарта SQL:2003, который существенно отлича-ется от стандарта SQL:1999, и

состоит из 9 частей. Особо следует отметить новые части – с номерами 13 и 14 (некоторые час-ти по сравнению со стандартом SQL:1999 перестали существовать). Часть 13 посвя-щена использованию подпрограмм и типов SQL в языке программирования Java. Часть 14 посвящена спецификации языковых средств, позволяющих работать с XML-документами в среде SQL.
В конце 2003 г. был принят и опубликован новый вариант Международного стандарта SQL:2003, который существенно отлича-ется от

Слайд 132. Структура языка SQL и его типы данных. Понятие представления

Опишем базовые механизмы языка SQL. Язык SQL, соответствующий последним

стандартам, представляет собой богатый и сложный язык. Поэтому приходится разбивать язык на уровни такие, что каждый уровень языка включает все конструкции, входящие в более низкие уровни. Возможны различные способы разбиения языка на уровни. Один из способов разбиения языка SQL на уровни имеет следующий вид.
2. Структура языка SQL и его типы данных. Понятие представления  Опишем базовые механизмы языка SQL. Язык

Слайд 14


Разделение языка SQL на уровни



Прямой SQL
Встроенный SQL
Динамический SQL


Прямой

SQL (di-rect) содержит кон-струкции, которые можно использо-вать при прямом взаимодействии

ко-нечного пользова-теля с СУБД (напри-мер, в интерактив-ном режиме).

Разделение языка SQL на уровниПрямой SQLВстроенный SQL Динамический SQL Прямой SQL (di-rect) содержит кон-струкции, которые можно использо-вать

Слайд 15 Встроенный (embedded) уровень расширяется конструкциями, позволяющи-ми использовать возможности прямого

SQL в программах, написанных на традицион-ных языках программирования.
На уровне

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

Слайд 16Типы данных в языке SQL
Данные, хранящиеся в

столбцах таблиц SQL-ориентированной БД, являются типизиро-ванными, то есть представляют собой

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

Слайд 17Категории типов данных
Точные целочисленные типы (INTEGER, SMALLINT).
Точные типы, допускающие наличие

дробной части (NUMERIC (p, s), где p задает точность значений,

а s – число десятичных цифр в дробной части.
DECIMAL (p, s), DECIMAL (p), DECIMAL .
Литералы типов точных чисел, представляемые в виде строк символов, изображающих десятичные числа со знаком или без знака, допускается внутри числа разделительная точка).
Категории типов данныхТочные целочисленные типы (INTEGER, SMALLINT).Точные типы, допускающие наличие дробной части (NUMERIC (p, s), где p

Слайд 18
Приближенные числовые типы
REAL – числа с плавающей точкой одинарной точности

(точность опре-деляется конкретной реализацией).
DOUBLE PRECISION – числа с плаваю-щей точкой

двойной точности.
FLOAT(p) – параметрический тип (точ-ность задается параметром p).
Литеральное выражение вида xEy.
Приближенные числовые типыREAL – числа с плавающей точкой одинарной точности (точность опре-деляется конкретной реализацией).DOUBLE PRECISION – числа

Слайд 19Типы символьных строк
Тип CHARACTER (x) (или CHAR) - значе-ниями являются

символьные строки (на-бор символов ASCII).
Тип CHARACTER VARYING (x), где x

– ко-личество символов в строке.
Тип CHARACTER LARGE OBJECT – предназначен для определения столбцов, хранящих большие и разные по размеру группы символов.
Литералы символов строк, заключен-ные в одинарные или двойные кавычки.
Типы символьных строкТип CHARACTER (x) (или CHAR) - значе-ниями являются символьные строки (на-бор символов ASCII).Тип CHARACTER VARYING

Слайд 20Операции над символьными типами
Операция конкатенации (обозначает-ся «||») - соединение строк.
Функция

выделения подстроки (обоз-начается SUBSTRING) принимает три аргумента – строку, номер

начальной позиции и длину.
Функция APPER возвращает строку, в которой все строчные буквы строки-ар-гумента заменяются прописными.
Операции над символьными типамиОперация конкатенации (обозначает-ся «||») - соединение строк.Функция выделения подстроки (обоз-начается SUBSTRING) принимает три аргумента

Слайд 21 Функция LOVER заменяет в заданной строке все прописные

буквы строчными.
Функция определения длины (CHARA-CTER_LENGTH, OCTET_LENGTH, BIT_-LENGTH) возвращает длину

заданной символьной строки в символах, октетах или битах в виде целого числа.
Функция определения позиции (POSITION) определяет первую позицию в строке S, с которой в нее входит заданная строка S1 (если не входит, возвращается нуль).
Функция LOVER заменяет в заданной  строке все прописные буквы строчными. Функция определения длины (CHARA-CTER_LENGTH, OCTET_LENGTH,

Слайд 22Типы даты и времени
Тип DATE. Значения этого типа состоят из

компонентов-значений года (4 де-сятичных цифры), месяца (2 десятич-ные цифры от

01 до 12) и дня некоторой даты (2 десятичные цифры от 01 до 31).
Литералы типа DATE представляются в виде строки «’yyyy-mm-dd’», напри-мер, литерал ‘1949-04-08’ означает да-ту 8 апреля 1949 г.
Типы даты и времениТип DATE. Значения этого типа состоят из компонентов-значений года (4 де-сятичных цифры), месяца (2

Слайд 23 Тип TIME. Значения этого параметризо-ванного типа состоят из компонентов-значений

часа (2 десятичные цифры от 00 до 23), минуты (2

десятичные цифры от 00 до 59) и секунды (2 десятичные цифры от 00 до 59, но может включать и дополнительные цифры, представляю-щие доли секунды).
Существуют и другие типы даты и времени: типы временной метки, типы времени и временной метки с временной зоной, типы временных интервалов.
Тип TIME. Значения этого параметризо-ванного типа состоят из компонентов-значений часа (2 десятичные цифры от 00 до

Слайд 24Булевский тип
При определении атрибута булевского типа указывается просто

спецификация BOOLEAN. Булевский тип состоит из трех значений: true, false

и unknown (соответствующие литералы обознача-ются TRUE, FALSE и UNKNOWN). Поддерживается возможность построе-ния булевских выражений, которые вы-числяются в трехзначной логике.
Булевский тип  При определении атрибута булевского типа указывается просто спецификация BOOLEAN. Булевский тип состоит из трех

Слайд 25Другие типы данных в SQL
Типы коллекций: типы массивов ARRAY (в

стандарте SQL:1999) и типы мультимножеств MULTISET (стандарт SQL:2003).
Анонимные строчные типы

ROW.
Типы, определяемые пользователем – структурные типы и индивидуальные типы.
Ссылочные типы.
Другие типы данных в SQLТипы коллекций: типы массивов ARRAY (в стандарте SQL:1999) и типы мультимножеств MULTISET (стандарт

Слайд 26Замечание 1
В SQL для СУБД FOX PRO тип

данных атрибутов обозначается одной из букв: C – символьный, M

– примечания, D – дата, L – логический, F–действи-тельное число с плавающей точкой, N – числовой.
Замечание 1  В SQL для СУБД FOX PRO тип данных атрибутов обозначается одной из букв: C

Слайд 27Понятие представления
В результате выборки данных из одного или

нескольких отношений может быть получено множество кортежей, назы-ваемое представлением.

Представление по существу является таблицей, формируемой в результате выполнения запроса.

Понятие представления  В результате выборки данных из одного или нескольких отношений может быть получено множество кортежей,

Слайд 28 Преимущество использования представ-лений по сравнению запросами к основной

таблице состоит в том, что представление будет модифицировано автоматически каждый

раз, когда таблица, лежащая в его основе, изменяется. Содержание пред-ставления не фиксировано, и обновляется каждый раз, когда на него ссылаются в команде.

Для удобства работы с представлениями в язык SQL введено понятие курсора.

Преимущество использования представ-лений по сравнению запросами к основной таблице состоит в том, что представление будет

Слайд 29Описание и использование курсора
Курсор представляет собой своеобраз-ный

указатель, используемый для перемещения по наборам кортежей при их обработке.

В описательной части программы вы-полняют связывание переменной типа курсор (CURSOR) с оператором языка SQL (обычно с оператором SELECT).
Описание и использование курсора  Курсор представляет собой своеобраз-ный указатель, используемый для перемещения по наборам кортежей при

Слайд 30В выполняемой части программы производится открытие курсора (OPEN), перемеще-ние

курсора по кортежам (FETCH ), сопровождаемое соответствующей обработкой и,

на-конец, закрытие курсора (CLOSE <имя курсора>).
В выполняемой части программы производится открытие курсора (OPEN), перемеще-ние курсора по кортежам (FETCH ), сопровождаемое соответствующей обработкой

Слайд 313. Основные операторы языка SQL
Опишем минимальное подмножество языка

SQL, опираясь на его реализа-цию в стандартном интерфейсе ODBC (совместимость

открытых БД) фирмы MICROSOFT (стандарт ISO SQL/92 и ANSI SQL/92). Операторы языка SQL можно условно разделить на два подъязыка: язык определения данных (DDL) и язык манипулирования данными (DML).
3. Основные операторы языка SQL  Опишем минимальное подмножество языка SQL, опираясь на его реализа-цию в стандартном

Слайд 32Операторы подъязыка DDL

Операторы подъязыка DDL

Слайд 33Формат операторов подъязыка DDL
1. CREATE TABLE

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

[, < имя_столбца > < тип данных > [NOT NULL ]]…)

В СУБД FOX PRO вместо CREATE TABLE пишут CREATE DBF .

Формат операторов подъязыка DDL  1. CREATE TABLE  ( < имя_столбца > < тип данных >

Слайд 34Конструкция NOT NULL служит дополнительным правилом контроля вводимых значений и

для столбца означает, что в нем должно быть определено не

пустое значение. В некоторых СУБД в качестве NOT NULL указывается размер поля в символах.
Конструкция NOT NULL служит дополнительным правилом контроля вводимых значений и для столбца означает, что в нем должно

Слайд 35Пример 1
CREATE TABLE STUDENTS
(SNUM INTEGER,
SFAM CHAR (20),
SIMA CHAR (10),
SOTCH CHAR

(15),
STIP DECIMAL);
Создано отношение с именем «Студенты» и атрибутами

соот-ветственно «Номер студенческого биле-та», «Фамилия», «Имя», «Отчество» студента и «Размер получаемой стипен-дии».
Пример 1CREATE TABLE STUDENTS(SNUM INTEGER,SFAM CHAR (20),SIMA CHAR (10),SOTCH CHAR (15),STIP DECIMAL);  Создано отношение с именем

Слайд 36Замечания 2 и 3
Порядок расположения атрибутов в отношении определяется тем,

в какой последовательности они указаны в команде создания отношения.
Кроме создания

отношения в SQL/92 аналогичной командой CREATE SCHEMA можно создавать схемы с необязательным указанием автора, а также можно создать домен – CREATE DOMAIN.
Замечания 2 и 3Порядок расположения атрибутов в отношении определяется тем, в какой последовательности они указаны в команде

Слайд 372. Оператор удаления отношения
Оператор удаления отношения имеет формат


DROP TABLE
Перед удалением отношения необ-ходимо убедиться

в том, что оно не ссылается на другое отношение и не используется в каком-либо пред-ставлении. Кроме того, чтобы удалить отношение, пользователь должен быть его собственником. Перед удалением отношение должно быть очищено.

2. Оператор удаления отношения  Оператор удаления отношения имеет формат DROP TABLE  Перед удалением отношения необ-ходимо

Слайд 383. Формат оператора изменения структуры отношения
ALTER TABLE

отношения> ({ADD, MODIFY, DROP} [] [NOT NULL]

[, ({ADD, MODIFY, DROP} <имя_атри-бута>[<тип данных>] [NOT NULL]…]);

ADD, MODIFY, DROP – соот-ветственно добавление, изменение и удаление од-ного или не-скольких ат-рибутов отно-шения.

3. Формат оператора изменения структуры отношения  ALTER TABLE  ({ADD, MODIFY, DROP} [] [NOT NULL]

Слайд 39Пример 2
Добавим к отношению STUDENTS два атрибута для

хранения инфор-мации о курсе и специальности студента:
ALTER TABLE STUDENTS
(ADD

COURS INTEGER,
SPEC CHAR (10));
Пример 2  Добавим к отношению STUDENTS два атрибута для хранения инфор-мации о курсе и специальности студента:

Слайд 404. Формат оператора создания индекса
CREATE [UNIQUE] INDEX

индекса> ON ( [ASC|DESC]
[, имя_атрибута>

[ASC|DESC]…]);

Индексы создаются для ускорения вы-полнения запросных и поисковых опера-ций с отношением. Опция UNIQUE (уни-кальность значений во всех указанных атрибутах) является необязательной.
ASC|DESC – сорти-ровка значений.

4. Формат оператора создания индекса  CREATE [UNIQUE] INDEX  ON (  [ASC|DESC]  [, имя_атрибута>

Слайд 41Пример 3
Очевидно, что в отношении STUDENTS одним из

наиболее употребляемых может стать индекс по атрибуту, содержащему фамилию студента.

Тогда команда для создания такого индекса будет следующей:

CREATE INDEX SFAMIND ON STUDENTS (SFAM);

Пример 3  Очевидно, что в отношении STUDENTS одним из наиболее употребляемых может стать индекс по атрибуту,

Слайд 425. Формат оператора удаления индекса
DROP INDEX
Этот оператор

позволяет уда-лять созданный ранее индекс с соответствующим именем. При этом

удаление индекса не воз-действует на данные, которые содержатся в индексированных атрибутах.
5. Формат оператора удаления индексаDROP INDEX  Этот оператор позволяет уда-лять созданный ранее индекс с соответствующим именем.

Слайд 436. Формат оператора создания представления
CREATE VIEW [( [,]…)]

AS ;
Представление формируется в резуль-тате выполнения

запроса. Если имена атрибутов в представлении не указы-ваются, то будут использоваться име-на атрибутов из запроса, описываемого соответствующим оператором SELECT.
6. Формат оператора создания представления  CREATE VIEW  [( [,]…)]  AS ;  Представление формируется

Слайд 44Пример 4
Создадим представление с именем OTLSTUD, которое содержит

инфор-мацию о студентах, получающих сти-пендию в размере 1200 руб. (его

можно использовать в командах наравне с другими таблицами):

CREATE VIEW OTLSTUD AS SELECT * FROM STUDENTS WHERE STIP= 1200;

Пример 4  Создадим представление с именем OTLSTUD, которое содержит инфор-мацию о студентах, получающих сти-пендию в размере

Слайд 457. Формат оператора удаления представления
DROP VIEW
Следует различать

модифицируемые представления и представления, пред-назначенные только для чтения. Модифицируемые представления

в SQL должны удовлетворять некоторым критериям, на которых мы не оста-навливаемся и рекомендуем изучить их самостоятельно.
7. Формат оператора удаления представленияDROP VIEW   Следует различать модифицируемые представления и представления, пред-назначенные только для

Слайд 468. Операторы назначения и удаления привилегий
В языке SQL

одним из принципов защи-ты данных служит система привилегий, то есть

прав пользователя на прове-дение тех или иных действий над опре-деленными объектами БД. Создает пользователей и назначает им привиле-гии администратор БД. Существует не-сколько типов привилегий, соответ-ствующих типам операций над БД.
8. Операторы назначения и удаления привилегий  В языке SQL одним из принципов защи-ты данных служит система

Слайд 47Каждый пользователь БД в среде SQL имеет специальное идентификационное имя

(ID) доступа. Команда, посланная в БД, ассоциируется с определенным пользователем,

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

Слайд 48Каждый пользователь имеет набор привилегий. Эти привилегии могут изме-няться со

временем: новые добавляться командой GRANT, старые удаляться ко-мандой REVOKE. Различные

форматы команды GRANT позволяют сразу пере-давать несколько привилегий одному пользователю (списки привилегий разде-ляются запятыми), нескольким пользова-телям, для отдельных пользователей можно вводить ограничения и т.д.
Каждый пользователь имеет набор привилегий. Эти привилегии могут изме-няться со временем: новые добавляться командой GRANT, старые удаляться

Слайд 49Пример 5
Пусть пользователь Гамидов владеет таблицей студентов STUDENTS

и желает разрешить пользователю Куриловой выполнить запрос к этой таблице.

Тогда Гамидов должен в этом случае выполнить команду
GRANT SELECT ON STUDENTS TO
Курилова

Пример 5  Пусть пользователь Гамидов владеет таблицей студентов STUDENTS и желает разрешить пользователю Куриловой выполнить запрос

Слайд 50Теперь Курилова может выполнять запросы к таблице STUDENTS без других

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

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

Слайд 51Формат операторов подъязыка DML

Формат операторов подъязыка DML

Слайд 521. Формат оператора выборки кортежей
SELECT[ALL|DISTINCT]

FROM


[WHERE ]
[GROUP BY
[,

<имя_атрибута>]…]
[HAVING <условие поиска>]
[ORDER BY <спецификация>
[, <спецификация> ]…];
1. Формат оператора выборки кортежей  SELECT[ALL|DISTINCT]  FROM  [WHERE ] [GROUP BY  [, ]…]

Слайд 53Оператор SELECT позволяет произ-водить выборку и вычисления над данными из

одного или нескольких отношений. Результатом выполнения этого оператора является ответная

таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторя-ющиеся кортежи. По умолчанию в ответную таблицу включаются все кортежи, в том числе и повто-ряющиеся.
Оператор SELECT позволяет произ-водить выборку и вычисления над данными из одного или нескольких отношений. Результатом выполнения этого

Слайд 54В отборе участвуют кортежи одной или нескольких таблиц, перечисленных в

списке таблиц после слова FROM.
При использовании в списке данных не-скольких

таблиц для указания принад-лежности атрибута некоторой таблице применяют конструкцию вида
<Имя_отношения> . <Имя_атрибута> .
Список данных может содержать и вы-ражения над атрибутами, в том числе, знаки арифметических операций, конс-танты и круглые скобки.
В отборе участвуют кортежи одной или нескольких таблиц, перечисленных в списке таблиц после слова FROM.При использовании в

Слайд 55Операнд WHERE задает условия, которым должны удовлетворять кортежи в результирующей

табли-це. Выражение является логическим. Его элемен-тами могут быть

имена атрибутов, операции сравнения, логические связки and, or, not, круглые скобки, а также специальные функции LIKE, NULL, IN и др.
Операнд WHERE задает условия, которым должны удовлетворять кортежи в результирующей табли-це. Выражение является логическим. Его элемен-тами могут

Слайд 56
Операнд GROUP BY позволяет выделять в результирующем множестве кортежей группы.

Группой являются кортежи с сов-падающими значениями в столбцах, перечисленных за

ключевыми словами GROUP BY. Выделение групп требуется для использования в логических выра-жениях операндов WHERE и HAVING, где HAVING<условия поиска> является спе-циальной формой операнда WHERE, и указывает дополнительный критерий отбо-ра данных в каждую группу.
Операнд GROUP BY позволяет выделять в результирующем множестве кортежей группы. Группой являются кортежи с сов-падающими значениями в

Слайд 57 В логических и арифметических выра-жениях можно использовать следую-щие

функции как групповые:
AVG, MAX, MIN, SUM, COUNT.
Наконец,

опция ORDER BY задает по-рядок сортировки результирующего множества кортежей. Она аналогична конструкции оператора CREATE INDEX.
Каждая <спецификация> представляет собой пару
<имя_атрибута> [ASC|DESC].
В логических и арифметических выра-жениях можно использовать следую-щие функции как групповые: AVG, MAX, MIN, SUM,

Слайд 582. Формат оператора изменения кортежей
UPDATE
SET = = {, NULL}
[,

SET =
= {, NULL}…]
[ WHERE ];
Выполнение

опера-тора UPDATE сос-тоит в изменении значений в опреде-ленных операндом SET атрибутах для тех кортежей, кото-рые удовлетворяют условию, заданному операндом WHERE.
2. Формат оператора изменения кортежейUPDATE SET = = {, NULL}[, SET =  = {, NULL}…][ WHERE

Слайд 593. Форматы оператора вставки новых кортежей
а) INSERT INTO

[()]
VALUES ();
б) INSERT INTO

[(<список атрибутов>)]
<предложение SELECT>;

3. Форматы оператора вставки новых кортежейа) INSERT INTO  [()]VALUES ();б)  INSERT INTO  [()];

Слайд 604. Формат оператора удаления кортежей и замечание
DELETE FROM
[WHERE ];

Замечание. Язык SQL обладает ре-ляционной полно-той.

4. Формат оператора удаления кортежей и замечаниеDELETE FROM [WHERE ];  Замечание. Язык SQL обладает ре-ляционной полно-той.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика