Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Базы данных

Содержание

Введение в Structured Query Language (SQL)Тема 1
Базы данных8 лк, 8 пз, контр.раб., экз.ст.преп. Березенцева Т.Н. Введение в Structured Query Language (SQL)Тема 1 История версий стандарта SQLНачало 70-х годов компания IBM – экспериментальная СУБД System История версий стандарта SQL1999 г. – SQL3 или SQL:19992003 г. – SQL: Подмножества языка SQLSQL-DDL (Data Definition Language) – язык определения структур баз данныхSQL-DML (Data Manipulation Подмножества языка SQLSQL-DCL (Data Control Language) – язык определения доступа к даннымSQL-TCL (Transaction Control Типы данных SQLТема 2 Символьные типы данныхCHAR или CHAR(n) – символьные строки фиксированной длиныVARCHAR(n) – символьная строка переменной длины Целые типы данныхINTEGER или INT – целоеSMALLINT – короткое целое Вещественные типы данных FLOAT и SMALLFLOAT  – числа с плавающей точкой DECIMAL(p)  – тип данных аналогичный FLOAT с Денежные типы данныхMONEY(p,n) – всё аналогично типу DECIMAL(p,n) Тип данных Дата и времяDATE – для хранения датыTIME – для хранения Последовательные типы данныхSERIAL – тип данных на основе INTEGER Двоичные типы данныхBINARYBYTEBLOB Операторы DDL для создания схемы базы данныхТема 3 Операторы базы данныхCREATE DATABASE – создание базы данныхDROP DATABASE  – удаление базы данных Оператор CREATE TABLECREATE TABLE ( [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES []] , ...) Оператор создания таблицы CREATECREATE TABLE authors  (au_id INT PRIMARY KEY, Оператор CREATE TABLE CREATE TABLE titles   (title_id INT PRIMARY KEY, Оператор CREATE TABLECREATE TABLE wwwsites  (site_id INT PRIMARY KEY,  site Схема данных БД publications Оператор DROP TABLE DROP TABLE – удаление таблицы Модификация таблицы ALTERALTER TABLE ADD                (                          [NOT NULL]                         ALTER TABLE DROP (,...) - удалить столбцыМодификация таблицы ALTER ALTER TABLE MODIFY               (                         [NOT NULL]                        [UNIQUE Операторы DDL создания индексовТема 4 Операторы создания индексов CREATE [UNIQUE] INDEX ON (,...) Создание индексов для БД publicationsCREATE INDEX au_names ON authors (author); CREATE INDEX Оператор удаления индексаDROP INDEX Операторы DCL ДЛЯ управления правами доступаТема 5 Оператор передачи прав на таблицуGRANT   ON []   TO Тип права на таблицуSELECT – получение информации из таблицыUPDATE – изменение информации ПримерыGRANT ALL ON publishers TO andy;GRANT SELECT INSERT ON publishers TO peter;GRANT REVOKE ON [] FROM Оператор отмены прав на таблицу Назначение привилегий на БД в целомGRANT ON  TO Пример списка прав на БДподдерживаемых СУБД Informix:CONNECTRESOURCE DBA Отмена прав на БД в целомREVOKE FROM Операторы DML ДЛЯ модификации данныхТема 6 Добавление новой записи в таблицуINSERT INTO   [ (,,...) ] VALUES (,,..) ПримерыINSERT INTO publishers  VALUES (16, Модификация записейUPDATE  SET =,...     [WHERE ]Например:UPDATE publishers SET url= Операции допустимые в WHERE> , < , >= , ПримерUPDATE publishers  SET url= Удаление записейDELETE FROM [WHERE ]Например:DELETE FROM publishers WHERE publisher = Оператор DML ДЛЯ Выборки данныхТема 7 Оператор SELECT (полный синтаксис)SELECT [ALL | DISTINCT]      FROM , ...   Использование ALL и DISTINCT DISTINCT – исключает повторяющиеся записи из выборки,ALL указывает, ПримерыSELECT author FROM authors;SELECT * FROM authors;SELECT title FROM titles ПримерыSELECT title FROM titles WHERE yearpub BETWEEN 1995 AND 1997;SELECT title FROM Пример вложенных запросовSELECT title FROM titles   WHERE pub_id Использование LIKEWHERE LIKE [ ESCAPE ]В шаблонах используются два символа: % (знак Использования LIKESELECT publisher, url FROM publishers WHERE publisher LIKE '%Wiley%';SELECT title FROM Выборка из нескольких таблицТема 8  В операторе SELECT после ключевого слова FROM указывается список таблиц, по которым производится поиск данных.После ключевого ПримерSELECT titles.title, titles.yearpub, publishers.publisher   FROM titles, publishers  WHERE titles.pub_id=publishers.pub_id; ПримерSELECT titles.title, titles.yearpub, publishers.publisher    FROM titles,publishers   WHERE titles.pub_id=publishers.pub_id    AND titles.yearpub>1996; ПримерSELECT authors.author, titles.title,titles.yearpub, publishers.publisher  FROM titles, publishers, titleauthors WHERE titleauthors.au_id=authors.au_id AND Вычисления внутри SELECTТема 9 В конструкции можно использовать константы, функции и их комбинации с арифметическими операциями и скобками. ПримерSELECT title, yearpub-1986  FROM titles  WHERE yearpub > 1986; В арифметических выраженияхдопускаются операции:сложения (+),вычитания (-),деления (/),умножения (*),а также различные функции (COS, ПримерSELECT 'the title of the book is', title, yearpub-1992  FROM titles  WHERE yearpub > 1992; Агрегатные функцииAVG() – среднее по всем значениям данного поляCOUNT() или COUNT (*) – число ПримерSELECT MIN(yearpub) FROM titles; ПримерSELECT COUNT(*) FROM titles WHERE title LIKE '%SQL%'; Группировка данных в операторе SELECTТема 10 GROUP BY ,... HAVING ПримерSELECT publishers.publisher, count(titles.title) FROM titles, publishers  WHERE titles.pub_id=publishers.pub_id GROUP BY publisher; ПримерSELECT publishers.publisher, count(titles.title) FROM titles, publishers WHERE titles.pub_id=publishers.pub_id  GROUP BY publisher HAVING COUNT(*)>1; ПримерSELECT publishers.publisher, count(titles.title) FROM titles,publishers  WHERE titles.pub_id=publishers.pub_id  GROUP BY publisher HAVING publisher LIKE '%Press'; Сортировка данных в операторе SELECTТема 11 ORDER BY по возрастанию ASC илипо убыванию DESC ПримерSELECT author FROM authors ORDER BY author; ПримерSELECT authors.author, titles.title,titles.yearpub, publishers.publisher FROM authors,titles, publishers, titleauthors WHERE titleauthors.au_id=authors.au_id AND titleauthors.title_id=titles.title_id Операция объединенияТема 12 UNIONВ SQL предусмотрена возможность выполнения операции реляционной алгебры ПримерSELECT publisher, url FROM publishers  UNION  SELECT site, url FROM wwwsites; Использование представленийТема 13 ОпределениеПредставление (view) – это таблица, содержимое которой берется из других таблиц посредством CREATE VIEWCREATE VIEW [,...]  AS Ограниченияпредставление должно базироваться на единственном запросе (UNION не допустимо) выходные данные запроса, ПримерCREATE VIEW books AS SELECT authors.author, titles.title, titles.yearpub, publishers.publisher  FROM authors, ПримерИз представления можно осуществлять выборку данныхSELECT titles  FROM books  WHERE Преимущества представленийСокращение времени выборки из нескольких таблицИспользование вычисляемых полей (столбцов) ПримерCREATE VIEW amount (publisher, books_count)  AS SELECT publishers.publisher, count(titles.title) Ограничения на изменение данныхЕсли представление основано на одной таблице, изменения данных в Удаление представленияDROP VIEW Другие возможности SQLТема 14 Хранимые процедурыпроцедурные расширения SQL (например, PL/SQL компании Oracle и т.д.), содержащие логические ОпределениеХранимые процедуры – это функциональные модули хранящиеся на сервере вместе с базой Пример для СУБД PostgreSQLCREATE FUNCTION ([,...])  RETURNS   AS [ Триггеры– это хранимая процедура без параметров, которая вызывается при выполнении оператора модификации Синтаксис («усредненный Мониторы событий- хранимые процедуры, которые непрерывно сканируют одну или несколько таблиц на Примерс токарным станком
Слайды презентации

Слайд 2 Введение в Structured Query Language (SQL)
Тема 1

Введение в Structured Query Language (SQL)Тема 1

Слайд 3 История версий стандарта SQL
Начало 70-х годов компания IBM

История версий стандарта SQLНачало 70-х годов компания IBM – экспериментальная СУБД

– экспериментальная СУБД System R на основе языка SEQUEL


1981 г. – SQL/DS
1987 г. – ANSI принят 1-й стандарт SQL (SQL level 1 или SQL-86 или 87)
1989 г. – SQL level 2 или SQL-89
1992 г. – ANSI SQL-92 или просто SQL2 (значительные изменения)

Слайд 4 История версий стандарта SQL
1999 г. – SQL3 или

История версий стандарта SQL1999 г. – SQL3 или SQL:19992003 г. –

SQL:1999
2003 г. – SQL: 2003
2006 г. – SQL: 2006
2008

г. – SQL: 2008

Слайд 5 Подмножества языка SQL
SQL-DDL (Data Definition Language) – язык определения

Подмножества языка SQLSQL-DDL (Data Definition Language) – язык определения структур баз данныхSQL-DML (Data

структур баз данных
SQL-DML (Data Manipulation Language) – язык манипулирования данными:

добавление, изменение, удаление и извлечение данных

Слайд 6 Подмножества языка SQL
SQL-DCL (Data Control Language) – язык определения

Подмножества языка SQLSQL-DCL (Data Control Language) – язык определения доступа к даннымSQL-TCL (Transaction

доступа к данным
SQL-TCL (Transaction Control Language) – язык управления транзакциями


Слайд 7 Типы данных SQL
Тема 2

Типы данных SQLТема 2

Слайд 8 Символьные типы данных
CHAR или CHAR(n) – символьные строки фиксированной длины
VARCHAR(n) –

Символьные типы данныхCHAR или CHAR(n) – символьные строки фиксированной длиныVARCHAR(n) – символьная строка переменной длины

символьная строка переменной длины


Слайд 9 Целые типы данных
INTEGER или INT – целое
SMALLINT – короткое целое

Целые типы данныхINTEGER или INT – целоеSMALLINT – короткое целое

Слайд 10 Вещественные типы данных 
FLOAT и SMALLFLOAT  – числа с плавающей точкой 
DECIMAL(p) 

Вещественные типы данных FLOAT и SMALLFLOAT  – числа с плавающей точкой DECIMAL(p)  – тип данных

– тип данных аналогичный FLOAT с числом значащих цифр p
DECIMAL(p,n) – аналогично

предыдущему

Слайд 11 Денежные типы данных
MONEY(p,n) – всё аналогично типу DECIMAL(p,n)

Денежные типы данныхMONEY(p,n) – всё аналогично типу DECIMAL(p,n)

Слайд 12 Тип данных Дата и время
DATE – для хранения

Тип данных Дата и времяDATE – для хранения датыTIME – для

даты
TIME – для хранения времени
INTERVAL  – для хранения временного

интервала
DATETIME – для хранения моментов времени

Слайд 13 Последовательные типы данных
SERIAL – тип данных на основе INTEGER

Последовательные типы данныхSERIAL – тип данных на основе INTEGER

Слайд 14 Двоичные типы данных
BINARY
BYTE
BLOB

Двоичные типы данныхBINARYBYTEBLOB

Слайд 15 Операторы DDL для создания схемы базы данных
Тема 3

Операторы DDL для создания схемы базы данныхТема 3

Слайд 16 Операторы базы данных
CREATE DATABASE – создание базы

Операторы базы данныхCREATE DATABASE – создание базы данныхDROP DATABASE  – удаление базы данных

данных
DROP DATABASE – удаление базы данных


Слайд 17 Оператор CREATE TABLE
CREATE TABLE ( [NOT

Оператор CREATE TABLECREATE TABLE ( [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES []] , ...)

NULL] [UNIQUE | PRIMARY KEY] [REFERENCES []] ,

...)

Слайд 18 Оператор создания таблицы CREATE
CREATE TABLE authors
(au_id

Оператор создания таблицы CREATECREATE TABLE authors (au_id INT PRIMARY KEY,

INT PRIMARY KEY,
author VARCHAR(25) NOT NULL);
CREATE

TABLE publishers
(pub_id INT PRIMARY KEY,
publisher VARCHAR(255) NOT NULL,
url VARCHAR(255));

Слайд 19 Оператор CREATE TABLE
CREATE TABLE titles

Оператор CREATE TABLE CREATE TABLE titles  (title_id INT PRIMARY KEY,

(title_id INT PRIMARY KEY,
title VARCHAR(255) NOT

NULL,
yearpub INT,
pub_id INT REFERENCES publishers(pub_id));
CREATE TABLE titleautors
(au_id INT REFERENCES authors(au_id), title_id INT REFERENCES titles(title_id));

Слайд 20 Оператор CREATE TABLE
CREATE TABLE wwwsites
(site_id INT

Оператор CREATE TABLECREATE TABLE wwwsites (site_id INT PRIMARY KEY, site VARCHAR(255)

PRIMARY KEY,
site VARCHAR(255) NOT NULL,
url

VARCHAR(255));
CREATE TABLE wwwsiteauthors
(au_id INT REFERENCES authors(au_id),
site_id INT REFERENCES wwwsites(site_id));

Слайд 21 Схема данных БД publications

Схема данных БД publications

Слайд 22 Оператор DROP TABLE
DROP TABLE – удаление

Оператор DROP TABLE DROP TABLE – удаление таблицы

таблицы


Слайд 23 Модификация таблицы ALTER
ALTER TABLE ADD                (                         

Модификация таблицы ALTERALTER TABLE ADD                (                          [NOT NULL]    

[NOT NULL]                         [UNIQUE | PRIMARY KEY]                        [REFERENCES

<имя_мастер_таблицы> [<имя_столбца>]]                ,...) - добавить столбцы

Слайд 24 ALTER TABLE DROP (,...) - удалить столбцы
Модификация

ALTER TABLE DROP (,...) - удалить столбцыМодификация таблицы ALTER

таблицы ALTER


Слайд 25 ALTER TABLE MODIFY               (                         [NOT

ALTER TABLE MODIFY               (                         [NOT NULL]                       

NULL]                        [UNIQUE | PRIMARY KEY]                        [REFERENCES ]]                ,...)

– модификация характеристик столбцов

Модификация таблицы ALTER


Слайд 26 Операторы DDL создания индексов
Тема 4

Операторы DDL создания индексовТема 4

Слайд 27 Операторы создания индексов
CREATE [UNIQUE] INDEX ON

Операторы создания индексов CREATE [UNIQUE] INDEX ON (,...)

(,...)


Слайд 28 Создание индексов для БД publications
CREATE INDEX au_names ON

Создание индексов для БД publicationsCREATE INDEX au_names ON authors (author); CREATE

authors (author);
CREATE INDEX au_index ON authors (au_id);
CREATE INDEX

title_index ON titles (title_id);
CREATE INDEX pub_index ON publishers (pub_id);
CREATE INDEX site_index ON wwwsites (site_id);


Слайд 29 Оператор удаления индекса
DROP INDEX

Оператор удаления индексаDROP INDEX

Слайд 30 Операторы DCL ДЛЯ управления правами доступа
Тема 5

Операторы DCL ДЛЯ управления правами доступаТема 5

Слайд 31 Оператор передачи прав на таблицу
GRANT
ON

Оператор передачи прав на таблицуGRANT  ON []  TO

[]
TO


Слайд 32 Тип права на таблицу
SELECT – получение информации из

Тип права на таблицуSELECT – получение информации из таблицыUPDATE – изменение

таблицы
UPDATE – изменение информации в таблице
INSERT – добавление записей

в таблицу
DELETE – удаление записей из таблицы
INDEX – индексирование таблицы
ALTER – изменение схемы определения таблицы
ALL – все права

Слайд 33 Примеры
GRANT ALL ON publishers TO andy;
GRANT SELECT INSERT

ПримерыGRANT ALL ON publishers TO andy;GRANT SELECT INSERT ON publishers TO

ON publishers TO peter;

GRANT SELECT ON publishers TO PUBLIC;


Слайд 34 REVOKE ON [] FROM
Оператор отмены

REVOKE ON [] FROM Оператор отмены прав на таблицу

прав на таблицу


Слайд 35 Назначение привилегий на БД в целом
GRANT ON

Назначение привилегий на БД в целомGRANT ON  TO


TO


Слайд 36 Пример списка прав на БД
поддерживаемых СУБД Informix:
CONNECT
RESOURCE
DBA

Пример списка прав на БДподдерживаемых СУБД Informix:CONNECTRESOURCE DBA

Слайд 37 Отмена прав на БД в целом
REVOKE FROM

Отмена прав на БД в целомREVOKE FROM



Слайд 38 Операторы DML ДЛЯ модификации данных
Тема 6

Операторы DML ДЛЯ модификации данныхТема 6

Слайд 39 Добавление новой записи в таблицу
INSERT INTO

Добавление новой записи в таблицуINSERT INTO  [ (,,...) ] VALUES (,,..)

[ (,,...) ] VALUES (,,..)


Слайд 40 Примеры
INSERT INTO publishers
VALUES (16, "Microsoft Press","http://www.microsoft.com");

INSERT

ПримерыINSERT INTO publishers VALUES (16,

INTO publishers
(publisher, pub_id)
  VALUES ("Super Computer

Publishing",17);

Слайд 41 Модификация записей
UPDATE
SET =,...
    [WHERE

Модификация записейUPDATE  SET =,...     [WHERE ]Например:UPDATE publishers SET url=

]

Например:
UPDATE publishers SET url="http://www.superpub.com" WHERE pub_id=17;


Слайд 42 Операции допустимые в WHERE
> , < , >=

Операции допустимые в WHERE> , < , >= ,

,

поля на нулевое значение: IS NULL, IS NOT NULL
проверки на вхождение в диапазон: BETWEEN и NOT BETWEEN
проверки на вхождение в список: IN и NOT IN
проверки на вхождение подстроки: LIKE и NOT LIKE
отдельные операции соединяются связями AND, OR, NOT и группируются с помощью скобок.

Слайд 43 Пример
UPDATE publishers
SET url="url not defined"

ПримерUPDATE publishers SET url=

WHERE url IS NULL;


Слайд 44 Удаление записей
DELETE FROM [WHERE ]

Например:
DELETE FROM

Удаление записейDELETE FROM [WHERE ]Например:DELETE FROM publishers WHERE publisher =

publishers WHERE publisher = "Super Computer Publishing";


Слайд 45 Оператор DML ДЛЯ Выборки данных
Тема 7

Оператор DML ДЛЯ Выборки данныхТема 7

Слайд 46 Оператор SELECT (полный синтаксис)
SELECT [ALL | DISTINCT]

Оператор SELECT (полный синтаксис)SELECT [ALL | DISTINCT]     FROM , ...  


    FROM , ...
   [ WHERE ]
  

[ GROUP BY <имя_столбца>,... ]
  [ HAVING <условие> ]
   [ORDER BY <имя_столбца>
[ASC | DESC],... ]

Слайд 47 Использование ALL и DISTINCT
DISTINCT – исключает повторяющиеся

Использование ALL и DISTINCT DISTINCT – исключает повторяющиеся записи из выборки,ALL

записи из выборки,
ALL указывает, что в результат необходимо включать

все строки.

Слайд 48 Примеры
SELECT author FROM authors;
SELECT * FROM authors;
SELECT title

ПримерыSELECT author FROM authors;SELECT * FROM authors;SELECT title FROM titles  WHERE yearpub>=1995 AND  yearpub

FROM titles
WHERE yearpub>=1995 AND

yearpub<=1997;

Слайд 49 Примеры
SELECT title FROM titles WHERE yearpub BETWEEN 1995

ПримерыSELECT title FROM titles WHERE yearpub BETWEEN 1995 AND 1997;SELECT title

AND 1997;
SELECT title FROM titles WHERE yearpub IN (1995,1996,1997);


Слайд 50 Пример вложенных запросов
SELECT title FROM titles

Пример вложенных запросовSELECT title FROM titles  WHERE pub_id  IN

WHERE pub_id
IN
(SELECT pub_id

FROM publishers
WHERE publisher='Oracle Press');

Слайд 51 Использование LIKE
WHERE LIKE [ ESCAPE

Использование LIKEWHERE LIKE [ ESCAPE ]В шаблонах используются два символа: %

]

В шаблонах используются два символа:
% (знак процента) –

заменяет любое количество символов,
_ (подчеркивание) – заменяет одиночный символ.


Слайд 52 Использования LIKE
SELECT publisher, url FROM publishers WHERE publisher

Использования LIKESELECT publisher, url FROM publishers WHERE publisher LIKE '%Wiley%';SELECT title

LIKE '%Wiley%';

SELECT title FROM titles WHERE title LIKE 'SQL%';

SELECT

site, url FROM wwwsites WHERE url LIKE '%my@_works%' ESCAPE '@';

Слайд 53 Выборка из нескольких таблиц
Тема 8

Выборка из нескольких таблицТема 8

Слайд 54  В операторе SELECT после ключевого слова FROM указывается список таблиц, по которым

 В операторе SELECT после ключевого слова FROM указывается список таблиц, по которым производится поиск данных.После

производится поиск данных.
После ключевого слова WHERE указывается условие, по

которому производится слияние

Слайд 55 Пример
SELECT titles.title, titles.yearpub, publishers.publisher
FROM titles,

ПримерSELECT titles.title, titles.yearpub, publishers.publisher  FROM titles, publishers WHERE titles.pub_id=publishers.pub_id;

publishers
WHERE titles.pub_id=publishers.pub_id;


Слайд 56 Пример
SELECT titles.title, titles.yearpub, publishers.publisher
   FROM titles,publishers
   WHERE

ПримерSELECT titles.title, titles.yearpub, publishers.publisher    FROM titles,publishers   WHERE titles.pub_id=publishers.pub_id  AND titles.yearpub>1996;

titles.pub_id=publishers.pub_id
AND titles.yearpub>1996;


Слайд 57 Пример
SELECT authors.author, titles.title,titles.yearpub, publishers.publisher
FROM titles, publishers,

ПримерSELECT authors.author, titles.title,titles.yearpub, publishers.publisher FROM titles, publishers, titleauthors WHERE titleauthors.au_id=authors.au_id AND

titleauthors
WHERE titleauthors.au_id=authors.au_id AND titleauthors.title_id=titles.title_id AND titles.pub_id=publishers.pub_id AND titles.yearpub

> 1996;

Слайд 58 Вычисления внутри SELECT
Тема 9

Вычисления внутри SELECTТема 9

Слайд 59 В конструкции можно использовать константы, функции и

В конструкции можно использовать константы, функции и их комбинации с арифметическими операциями и скобками.

их комбинации с арифметическими операциями и скобками.


Слайд 60 Пример
SELECT title, yearpub-1986
FROM titles
WHERE

ПримерSELECT title, yearpub-1986 FROM titles WHERE yearpub > 1986;

yearpub > 1986;


Слайд 61 В арифметических выражениях
допускаются операции:
сложения (+),
вычитания (-),
деления (/),
умножения (*),
а

В арифметических выраженияхдопускаются операции:сложения (+),вычитания (-),деления (/),умножения (*),а также различные функции

также различные функции (COS, SIN, ABS и др.).
Также

в запрос можно добавить строковую константу

Слайд 62 Пример
SELECT 'the title of the book is', title,

ПримерSELECT 'the title of the book is', title, yearpub-1992  FROM titles WHERE yearpub > 1992;

yearpub-1992
  FROM titles
WHERE yearpub > 1992;


Слайд 63 Агрегатные функции
AVG() – среднее по всем значениям

Агрегатные функцииAVG() – среднее по всем значениям данного поляCOUNT() или COUNT (*) –

данного поля
COUNT() или COUNT (*) – число записей
MAX() – максимальное

из всех значений данного поля
MIN(<имя поля>) – минимальное из всех значений данного поля
SUM(<имя поля>) – сумма всех значений данного поля


Слайд 64 Пример
SELECT MIN(yearpub) FROM titles;

ПримерSELECT MIN(yearpub) FROM titles;

Слайд 65 Пример
SELECT COUNT(*) FROM titles WHERE title LIKE '%SQL%';

ПримерSELECT COUNT(*) FROM titles WHERE title LIKE '%SQL%';

Слайд 66 Группировка данных в операторе SELECT
Тема 10

Группировка данных в операторе SELECTТема 10

Слайд 67 GROUP BY ,...

HAVING

GROUP BY ,... HAVING

Слайд 68 Пример
SELECT publishers.publisher, count(titles.title)
FROM titles, publishers
WHERE

ПримерSELECT publishers.publisher, count(titles.title) FROM titles, publishers WHERE titles.pub_id=publishers.pub_id GROUP BY publisher;

titles.pub_id=publishers.pub_id
GROUP BY publisher;


Слайд 69 Пример
SELECT publishers.publisher, count(titles.title)
FROM titles, publishers
WHERE titles.pub_id=publishers.pub_id

ПримерSELECT publishers.publisher, count(titles.title) FROM titles, publishers WHERE titles.pub_id=publishers.pub_id GROUP BY publisher HAVING COUNT(*)>1;


GROUP BY publisher
HAVING COUNT(*)>1;


Слайд 70 Пример
SELECT publishers.publisher, count(titles.title)
FROM titles,publishers
WHERE titles.pub_id=publishers.pub_id

ПримерSELECT publishers.publisher, count(titles.title) FROM titles,publishers WHERE titles.pub_id=publishers.pub_id GROUP BY publisher HAVING publisher LIKE '%Press';


GROUP BY publisher
HAVING publisher LIKE '%Press';


Слайд 71 Сортировка данных в операторе SELECT
Тема 11

Сортировка данных в операторе SELECTТема 11

Слайд 72 ORDER BY

по возрастанию ASC или
по убыванию DESC

ORDER BY по возрастанию ASC илипо убыванию DESC

Слайд 73 Пример
SELECT author FROM authors
ORDER BY author;

ПримерSELECT author FROM authors ORDER BY author;

Слайд 74 Пример
SELECT authors.author, titles.title,titles.yearpub, publishers.publisher
FROM authors,titles, publishers, titleauthors

ПримерSELECT authors.author, titles.title,titles.yearpub, publishers.publisher FROM authors,titles, publishers, titleauthors WHERE titleauthors.au_id=authors.au_id AND

WHERE titleauthors.au_id=authors.au_id AND titleauthors.title_id=titles.title_id AND titles.pub_id=publishers.pub_id
ORDER BY authors.author

ASC, titles.yearpub DESC;

Слайд 75 Операция объединения
Тема 12

Операция объединенияТема 12

Слайд 76 UNION
В SQL предусмотрена возможность выполнения операции реляционной алгебры

UNIONВ SQL предусмотрена возможность выполнения операции реляционной алгебры

"ОБЪЕДИНЕНИЕ" (UNION) над отношениями, являющимися результатами оператора SELECT.
Эти отношения

должны быть определены по одной схеме.

Слайд 77 Пример
SELECT publisher, url FROM publishers
UNION

ПримерSELECT publisher, url FROM publishers UNION SELECT site, url FROM wwwsites;

SELECT site, url FROM wwwsites;


Слайд 78 Использование представлений
Тема 13

Использование представленийТема 13

Слайд 79 Определение
Представление (view) – это таблица, содержимое которой берется

ОпределениеПредставление (view) – это таблица, содержимое которой берется из других таблиц

из других таблиц посредством запроса.
Представления автоматически изменяются при изменении

содержимого базовых таблиц

Слайд 80 CREATE VIEW
CREATE VIEW [,...]
AS

CREATE VIEWCREATE VIEW [,...] AS

Слайд 81 Ограничения
представление должно базироваться на единственном запросе (UNION не

Ограниченияпредставление должно базироваться на единственном запросе (UNION не допустимо) выходные данные

допустимо)
выходные данные запроса, формирующего представление, должны быть не

упорядочены (ORDER BY не допустимо)

Слайд 82 Пример
CREATE VIEW books AS SELECT authors.author, titles.title, titles.yearpub,

ПримерCREATE VIEW books AS SELECT authors.author, titles.title, titles.yearpub, publishers.publisher FROM authors,

publishers.publisher
FROM authors, titles, publishers, titleauthors
WHERE

titleauthors.au_id=authors.au_id AND titleauthors.title_id=titles.title_id AND titles.pub_id=publishers.pub_id

Слайд 83 Пример
Из представления можно осуществлять выборку данных
SELECT titles

ПримерИз представления можно осуществлять выборку данныхSELECT titles FROM books WHERE author

FROM books
WHERE author LIKE '%Date‘
SELECT author, count(title)

FROM books
GROUP BY author

Слайд 84 Преимущества представлений
Сокращение времени выборки из нескольких таблиц
Использование вычисляемых

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

полей (столбцов)


Слайд 85 Пример
CREATE VIEW amount (publisher, books_count)
AS SELECT

ПримерCREATE VIEW amount (publisher, books_count) AS SELECT publishers.publisher, count(titles.title)

publishers.publisher, count(titles.title)
FROM titles,

publishers
WHERE
titles.pub_id=publishers.pub_id
GROUP BY publisher;

Слайд 86 Ограничения на изменение данных
Если представление основано на одной

Ограничения на изменение данныхЕсли представление основано на одной таблице, изменения данных

таблице, изменения данных в нем допускаются. При этом изменяются

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

Слайд 87 Удаление представления
DROP VIEW

Удаление представленияDROP VIEW

Слайд 88 Другие возможности SQL
Тема 14

Другие возможности SQLТема 14

Слайд 89 Хранимые процедуры
процедурные расширения SQL (например, PL/SQL компании Oracle

Хранимые процедурыпроцедурные расширения SQL (например, PL/SQL компании Oracle и т.д.), содержащие

и т.д.), содержащие логические операторы (IF ... THEN ...

ELSE), операторы перехода по условию (SWITCH ... CASE ...), операторы циклов (FOR, WHILE, UNTIL) и операторы передачи управления в процедуры (CALL, RETURN)

Слайд 90 Определение
Хранимые процедуры – это функциональные модули хранящиеся на

ОпределениеХранимые процедуры – это функциональные модули хранящиеся на сервере вместе с

сервере вместе с базой данных.
Могут быть вызваны с передачей

параметров любым пользователем, имеющим на то соответствующие права.
Могут быть реализованы в виде внешних по отношению к СУБД модулей на языках общего назначения, таких как C или Pascal.

Слайд 91 Пример для СУБД PostgreSQL
CREATE FUNCTION ([,...])

Пример для СУБД PostgreSQLCREATE FUNCTION ([,...]) RETURNS  AS [ |

RETURNS
AS [ | ]

LANGUAGE 'SQL' | 'C' | 'internal'

Слайд 92 Триггеры
– это хранимая процедура без параметров, которая вызывается

Триггеры– это хранимая процедура без параметров, которая вызывается при выполнении оператора

при выполнении оператора модификации этой таблицы (INSERT, UPDATE, DELETE).
Выполняются

автоматически, независимо от причины модификации данных – действия человека-оператора или прикладной программы.

Слайд 93 Синтаксис («усредненный" )
CREATE TRIGGER
ON

Синтаксис («усредненный

FOR { INSERT | UPDATE | DELETE }

[, INSERT | UPDATE | DELETE ] …
AS

Слайд 94 Мониторы событий
- хранимые процедуры, которые непрерывно сканируют одну

Мониторы событий- хранимые процедуры, которые непрерывно сканируют одну или несколько таблиц

или несколько таблиц на предмет обнаружения тех или иных

событий

  • Имя файла: bazy-dannyh.pptx
  • Количество просмотров: 114
  • Количество скачиваний: 0