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


Заняття 3. Мова SQL: загальний огляд. Формування SQL- запиту. Інструкції

Содержание

SQL – структурована мова запитівSQL (англ. Structured query language – мова структурованих запитів) – декларативна мова програмування для взаємодії користувача з базами даних.Декларативна мова програмування – така мова програмування, за допомогою

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

Слайд 1Заняття 3. Мова SQL: загальний огляд. Формування SQL-запиту. Інструкції маніпуляції

з таблицями.

Заняття 3. Мова SQL: загальний огляд. Формування SQL-запиту. Інструкції маніпуляції з таблицями.

Слайд 2SQL – структурована мова запитів
SQL (англ. Structured query language –

мова структурованих запитів) – декларативна мова програмування для взаємодії користувача

з базами даних.
Декларативна мова програмування – така мова програмування, за допомогою якої, програма описує, який результат необхідно отримати, замість описання послідовності отримання цього результату.
SQL дає можливість вирішувати наступні задачі:
створення БД і визначення її структури;
виконання запитів до БД;
керування безпекою даних.

SQL – структурована мова запитівSQL (англ. Structured query language – мова структурованих запитів) – декларативна мова програмування

Слайд 3Інтерактивна та вбудована SQL
Інтерактивна SQL використовується для роботи безпосередньо в

базі даних, щоб її опрацьовувати. При введенні команди в інтерактивній

формі SQL, вона тут же виконається і виведуться результати.

Вбудована SQL складається з команд та процедур SQL, які розміщені в програмах, написаних іншими мовами програмування. Це робить такі програми більш потужними та більш ефективними.

Інтерактивна та вбудована SQLІнтерактивна SQL використовується для роботи безпосередньо в базі даних, щоб її опрацьовувати. При введенні

Слайд 4Деякі популярні діалекти SQL
PL/SQL (Procedural Language/SQL) – використовується в Oracle;
T-SQL

(Transact-SQL) – використовується в Microsoft SQL Server та Sybase Adaptive

Server;
PSQL (Procedural SQL) – використовується в InterBase та Firebird;
SQL PL (SQL Procedural Language) – використовується в IBM DB2;
SQL/PSM (SQL/Persistent Stored Module) – використовується в MySQL;
PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language) – використовується в PostgreSQL та є подібний до Oracle PL/SQL.

Деякі популярні діалекти SQLPL/SQL (Procedural Language/SQL) – використовується в Oracle;T-SQL (Transact-SQL) – використовується в Microsoft SQL Server

Слайд 5Субпідрозділи (частини) SQL
Оператори визначення даних – DDL (Data Definition Language).

Призначені для опису структури баз даних. Такі як: CREATE (створити),

ALTER (змінити), DROP (видалити).
Оператори маніпулювання даними – DML (Data Manipulation Language). Призначені для отримання, вставки, видалення чи зміни даних у БД. Такі як: SELECT (вибрати), INSERT (додати), UPDATE (обновити), DELETE (видалити).
Оператори визначення доступу до даних – DCL (Data Control Language). Такі як: GRANT (надати доступ), REVOKE (анулювати видані раніше дозволи чи заборони).

Субпідрозділи (частини) SQLОператори визначення даних – DDL (Data Definition Language). Призначені для опису структури баз даних. Такі

Слайд 6Використання SQL для роботи з базою даних

Використання SQL для роботи з базою даних

Слайд 7Загальні типи даних в SQL
Символи
Числа
Логічні дані
Дата і

час
Двійкові дані

Загальні типи даних в SQLСимволи Числа Логічні дані Дата і час Двійкові дані

Слайд 8Символьні типи даних в SQL
CHARACTER(n) (або CHAR(n) в реальних СУБД)

– символьний рядок фіксованої довжини з n символів (0

n не вказане, то припускається, що рядок складається з одного символу. Якщо у стовпець такого типу вводиться mCHARACTER VARYING(n) (або VARCHAR(n) в реальних СУБД) – символьний рядок змінної довжини, яка не перевищує n символів. Застосовується, коли дані мають різну довжину і не бажано доповнювати їх пропусками. В даному випадку є обов’язковим вказання максимальної кількості символів, на відміну від CHAR.
CHAR та VARCHAR використовують 1-байтний варіант зберігання символів, який базується на ASCII.


Символьні типи даних в SQLCHARACTER(n) (або CHAR(n) в реальних СУБД) – символьний рядок фіксованої довжини з n

Слайд 9Числові типи даних в SQL
INTEGER (INT в реальних СУБД) –

чотирьохбайтне ціле число (до ± 2 147 483 467);
DECIMAL (x, y) – десяткове

число, у якому всього x розрядів, з яких y відведено для дробової частини. Дозволяє вказати максимальне число знаків до коми і після коми. Вимагає 5-17 байтів пам'яті.
DOUBLE (x, y) – дійсне число подвійної точності з плаваючою крапкою. Застосовується для представлення наукових даних, наприклад, дуже близьких до нуля або дуже великих.
FLOAT (n) – дійсне число з плаваючою крапкою і мінімальною точністю, яке займає 8 байтів, де n – точність.
UNSIGNED – умова, що забороняє запис від'ємних значень у поле числового типу!!!


Числові типи даних в SQLINTEGER (INT в реальних СУБД) – чотирьохбайтне ціле число (до ± 2 147 483 467);DECIMAL (x,

Слайд 10Логічні дані в SQL
BIT може зберігати три значення – 0,

1 або NULL, перші два з яких фактично відповідають значенням

true та false.
BOOL або BOOLEAN – 1-байтовий логічний тип даних, який може приймати два значення – true, false.

Логічні дані в SQLBIT може зберігати три значення – 0, 1 або NULL, перші два з яких

Слайд 11Дата і час в SQL
DATE – представлення значень календарної дати.

Дані цього типу можуть містити будь-яку дату з 0001 року

по 9999 рік.
YEAR – представлення лише року.
TIME – представлення часу.
DATETIME – одночасне представлення дати та часу.
TIMESTAMP – одночасне представлення дати та часу із врахуванням поточного часового поясу.


Дата і час в SQLDATE – представлення значень календарної дати. Дані цього типу можуть містити будь-яку дату

Слайд 12Двійкові дані в SQL
Тип даних BLOB являє собою двійковий об'єкт

великого розміру, який може містити змінну кількість даних.
BINARY і VARBINARY

типи подібні до CHAR і VARCHAR, за винятком того, що вони містять двійкові рядки. Тобто, вони містять рядки байтів, а не символьні рядки.
Двійкові дані в SQLТип даних BLOB являє собою двійковий об'єкт великого розміру, який може містити змінну кількість

Слайд 13Перетворення типів в SQL
Функція: CAST(вираз AS тип);
Наприклад,
CAST('1234.56' AS DOUBLE(4,2));
CAST(odate AS

DATE).

Перетворення типів в SQLФункція: CAST(вираз AS тип);Наприклад,CAST('1234.56' AS DOUBLE(4,2));CAST(odate AS DATE).

Слайд 14SQL-операції
Арифметичні операції в порядку спадання пріоритетів: ( ); *, /;

+, -.
Символьні операції: знаком операції конкатенації (зчіплення) символьних значень є

|| (у Oracle та DB2), або + (у MS SQL Server та MS Access), або функція CONCAT() (у MySQL, Oracle та DB2). Результатом конкатенації є символьне значення з максимальною довжиною 255 символів.
Приклад, CONCAT('My', 'S', 'QL');
SQL-операціїАрифметичні операції в порядку спадання пріоритетів: ( ); *, /; +, -.Символьні операції: знаком операції конкатенації (зчіплення)

Слайд 15SQL-операції
Операції порівняння: =, >, =,

може бути або 'TRUE', або 'FALSE'.
Логічні операції в порядку

спадання пріоритетів:
( ) – змінює нормальні правила пріоритетів;
NOT – інвертує результат логічного виразу;
AND – результат повинен відповідати обом умовам;
OR – результат повинен відповідати одній із умов.

SQL-операціїОперації порівняння: =, >, =,

Слайд 16Інструкції маніпуляції з таблицями
Створення таблиць
Обмеження на дані
Модифікація таблиць
Видалення таблиць

Інструкції маніпуляції з таблицямиСтворення таблиць Обмеження на даніМодифікація таблицьВидалення таблиць

Слайд 17Мова визначення даних (DDL – Data Definition Language)
Інструкції DDL:
CREATE

TABLE – створення таблиці;
ALTER TABLE – модифікація структури таблиці;
DROP TABLE

– видалення таблиці.
Мова визначення даних (DDL – Data Definition Language) Інструкції DDL:CREATE TABLE – створення таблиці;ALTER TABLE – модифікація

Слайд 18Інструкція створення таблиці (CREATE TABLE)
Створює порожню таблицю без записів (значення

вводяться засобами DML).
CREATE TABLE, як правило, визначає ім’я таблиці та

набір стовпців, вказаних у певному порядку, тобто визначає структуру таблиці.
Типи даних стовпців повинні бути сумісними зі стандартом ANSI.
Значення розміру стовпця залежить від типу даних.
Кожна таблиця повинна мати хоча б один стовпець.

Інструкція створення таблиці (CREATE TABLE)Створює порожню таблицю без записів (значення вводяться засобами DML).CREATE TABLE, як правило, визначає

Слайд 19Інструкція створення таблиці (CREATE TABLE)
Приклад 1. Наступна інструкція створює таблицю

Sellers:

CREATE TABLE Sellers
(snum int,
sname varchar(45),
city varchar(45),
comm

double(3, 2));

Інструкція створення таблиці (CREATE TABLE)Приклад 1. Наступна інструкція створює таблицю Sellers: CREATE TABLE Sellers (snum int, sname

Слайд 20Інструкція створення тимчасової таблиці (CREATE TEMPORARY TABLE)
Інструкція подібна до CREATE

TABLE, крім ключового слова TEMPORARY.
Тимчасова таблиця, на відміну від

постійної, існує лише на час сеансу роботи з базою даних, в якому вона була створена.
Тимчасова таблиця може бути доступна іншим користувачам, як і постійна таблиця.
Тимчасові таблиці створюються для представлення в них поточних підсумкових (звітних) даних, які є доступними декільком користувачам бази даних.

Інструкція створення тимчасової таблиці (CREATE TEMPORARY TABLE)Інструкція подібна до CREATE TABLE, крім ключового слова TEMPORARY. Тимчасова таблиця,

Слайд 21Обмеження на значення даних
Обмеження – частина визначення таблиці, яке задає

певні критерії значенням, які вводяться в таблицю.
Обмеження – є одним

із засобів організації підтримки цілісності даних безпосередньо в БД.
CУБД перевіряє відповідність встановлених обмежень і значень при модифікації даних.

Обмеження на значення данихОбмеження – частина визначення таблиці, яке задає певні критерії значенням, які вводяться в таблицю.Обмеження

Слайд 22Обмеження на значення даних в SQL
NOT NULL
UNIQUE
PRIMARY

KEY
FOREIGN KEY
AUTO_INCREMENT

Обмеження на значення даних в SQL NOT NULL UNIQUE PRIMARY KEY FOREIGN KEYAUTO_INCREMENT

Слайд 23Обмеження стовпця та обмеження таблиці
Обмеження стовпця застосовується лише до індивідуальних

стовпців.
Обмеження таблиці застосовується до груп стовпців.
Визначаються обмеження наступним чином:

CREATE TABLE <ім’я табл>
(<ім’я стовп> <обмеж на стовп>,
<ім’я стовп> <тип даних> <обмеж на стовп>, ...
CONSTRAINT <ім’я обмеж на табл >
< обмеж на табл> (<ім’я стовп> [,<ім’я стовп>]));

Обмеження стовпця та обмеження таблиціОбмеження стовпця застосовується лише до індивідуальних стовпців. Обмеження таблиці застосовується до груп стовпців.Визначаються

Слайд 24Обмеження NOT NULL
Забороняє використання NULL значень у стовпцях.
Приклад 1

(продовж.): Створимо таблицю Sellers, не дозволяючи поміщати NULL-значення у стовпці

snum або sname:
CREATE TABLE Sellers
(snum int NOT NULL,
sname varchar(45) NOT NULL,
city varchar(45),
comm double(3, 2));

Обмеження NOT NULL Забороняє використання NULL значень у стовпцях.Приклад 1 (продовж.): Створимо таблицю Sellers, не дозволяючи поміщати

Слайд 25Обмеження унікальності UNIQUE
Використовується, щоб уникнути певного безладдя в БД, коли

необхідно надавати унікальність разом з обмеженнями.
Якщо задати обмеження UNIQUE для

стовпця, то СУБД відхилить будь-яку спробу у певному рядку ввести у це поле значення, яке вже було в іншому рядку.
UNIQUE може застосовуватись лише до полів, які визначені як NOT NULL.

Обмеження унікальності UNIQUEВикористовується, щоб уникнути певного безладдя в БД, коли необхідно надавати унікальність разом з обмеженнями.Якщо задати

Слайд 26Приклад 1 (продовж.): удосконалимо інструкцію створення таблиці Sellers через надання

обмеження унікальності стовпцям:
CREATE TABLE Sellers
(snum int NOT NULL

UNIQUE,
sname varchar(45) NOT NULL UNIQUE,
city varchar(45),
comm double(3, 2));

Приклад 1 (продовж.): удосконалимо інструкцію створення таблиці Sellers через надання обмеження унікальності стовпцям: CREATE TABLE Sellers (snum

Слайд 27Приклад 2: У нашій базі даних кожного замовника обслуговує лише

один продавець. Це означає, що кожна комбінація номера замовника (cnum)

та номера продавця (snum) у таблиці Customers повинна бути унікальною. Отже, створимо таблицю Customers через надання обмеження унікальності групі стовпців.
CREATE TABLE Customers
(cnum int NOT NULL,
cname varchar(45) NOT NULL,
rating int,
city varchar(45),
snum int NOT NULL,
CONSTRAINT UQ_Customers UNIQUE (cnum, snum));
Приклад 2: У нашій базі даних кожного замовника обслуговує лише один продавець. Це означає, що кожна комбінація

Слайд 28Встановлення значень стовпців за замовчуванням
NULL значення є найбільш поширеним значенням

стовпця за замовчуванням.
Інша альтернатива, щоб не використовувати значення NULL, це

встановити значення нуль (0) для числових полів або пропуски для символьних. У такому випадку під час запитів SQL буде опрацювувати їх як і будь-яке інше значення.
Щоб надати значення за замовчуванням, використовують слово DEFAULT у команді CREATE TABLE.

Встановлення значень стовпців за замовчуваннямNULL значення є найбільш поширеним значенням стовпця за замовчуванням.Інша альтернатива, щоб не використовувати

Слайд 29Приклад 1 (продовж.): Припустимо, що основна філія підприємства знаходиться в

місті London. Удосконалимо інструкцію створення таблиці Sellers через задання значень

за замовчуванням у стопці city:
CREATE TABLE Sellers
(snum int NOT NULL UNIQUE,
sname varchar(45) NOT NULL UNIQUE,
city varchar(45) DEFAULT 'London',
comm double(3, 2) CHECK (comm >= 0.05));

Приклад 1 (продовж.): Припустимо, що основна філія підприємства знаходиться в місті London. Удосконалимо інструкцію створення таблиці Sellers

Слайд 30Обмеження первинного ключа PRIMARY KEY
Найбільш викоритовуване обмеження.
Забезпечує визначення первинного

ключа у таблиці.
PRIMARY KEY – це поєднання обмежень NOT NULL

і UNIQUE.
В таблиці допускається лише одне обмеження PRIMARY KEY.

Обмеження первинного ключа PRIMARY KEY Найбільш викоритовуване обмеження.Забезпечує визначення первинного ключа у таблиці.PRIMARY KEY – це поєднання

Слайд 31Приклад 1 (продовж.): удосконалимо інструкцію створення таблиці Sellers через надання

обмеження первинного ключа:
CREATE TABLE Sellers
(snum int PRIMARY KEY,


sname varchar(45) NOT NULL UNIQUE,
city varchar(45),
comm double(3, 2));

Приклад 1 (продовж.): удосконалимо інструкцію створення таблиці Sellers через надання обмеження первинного ключа: CREATE TABLE Sellers (snum

Слайд 32Приклад 2: Створимо таблицю Customers зі складеним первинним ключем через

надання обмеження первинного ключа групі стовпців:
CREATE TABLE Customers
(cnum

int,
cname varchar(45) NOT NULL,
rating int,
city varchar(45),
snum int,
CONSTRAINT PK_Customers PRIMARY KEY (cnum, snum));
Приклад 2: Створимо таблицю Customers зі складеним первинним ключем через надання обмеження первинного ключа групі стовпців: CREATE

Слайд 33Обмеження зовнішнього ключа FOREIGN KEY
Забезпечують зв'язок між таблицями БД.
Забезпечують правило

цілісності посилань.
В таблиці можуть бути декілька обмежень FOREIGN KEY.
Задається:
CONSTRAINT

<ім’я обмеж>
FOREIGN KEY (<ім’я стовп дочірн_табл>)
REFERENCES <ім’я батьк_табл>(<ім’я первинного ключа батьк_табл>
[ON DELETE <опція зв'язку>] [ON UPDATE <опція зв'язку>]

Опції зв'язку:
RESTRICT | CASCADE | SET NULL | NO ACTION
Обмеження зовнішнього ключа FOREIGN KEYЗабезпечують зв'язок між таблицями БД.Забезпечують правило цілісності посилань.В таблиці можуть бути декілька обмежень

Слайд 34Приклад 2 (продовж.): Створимо таблицю Customers з первинним ключем cnum

і зовнішнім ключем snum:
CREATE TABLE Customers
(cnum int PRIMARY

KEY,
cname varchar(45) NOT NULL,
rating int,
city varchar(45),
snum int,
CONSTRAINT FK_Customers_Sellers FOREIGN KEY (snum) REFERENCES Sellers (snum) ON DELETE SET NULL ON UPDATE SET NULL);
Приклад 2 (продовж.): Створимо таблицю Customers з первинним ключем cnum і зовнішнім ключем snum: CREATE TABLE Customers

Слайд 35Обмеження AUTO_INCREMENT
Забезпечує автоматичне заповнення стовпця послідовними числами.
Забезпечує унікальність значень.
Обмеження AUTO_INCREMENT

може бути застосоване тільки для стовпців типу INT.
Обмеження AUTO_INCREMENT

може використовуватись з обмеженням PRIMARY KEY.
Обмеження AUTO_INCREMENTЗабезпечує автоматичне заповнення стовпця послідовними числами.Забезпечує унікальність значень.Обмеження AUTO_INCREMENT може бути застосоване тільки для стовпців типу

Слайд 36Приклад 2 (продовж.): Створимо таблицю Customers з первинним ключем cnum,

зовнішнім ключем snum та автоматично заповнюваним полем cnum:
CREATE TABLE

Customers
(cnum int PRIMARY KEY AUTO_INCREMENT,
cname varchar(45) NOT NULL,
rating int,
city varchar(45),
snum int,
CONSTRAINT FK_Customers_Sellers FOREIGN KEY (snum) REFERENCES Sellers (snum) ON DELETE SET NULL ON UPDATE SET NULL);
Приклад 2 (продовж.): Створимо таблицю Customers з первинним ключем cnum, зовнішнім ключем snum та автоматично заповнюваним полем

Слайд 37Література
Справочное руководство по MySQL (http://www.mysql.ru/docs/man/Reference.html);
Справочное руководство по MySQL версии 5.0.0-alpha

(http://www.codenet.ru/db/mysql5/);
MySQL 5.7 Reference Manual (http://dev.mysql.com/doc/refman/5.7/en/sql-syntax.html);
Мартин Грабер – Понимание SQL

(http://www.sql.ru/docs/sql/u_sql/);
Мартин Грабер "SQL", М., Изд. "ЛОРИ", 2001г. (644 стр.);
Томас Коннолли. Базы данных. Проектирование, реализация и сопровождение. Теория и практика.
Бен Форта – SQL за 10 минут, 4-е издание (2014);
ЛітератураСправочное руководство по MySQL (http://www.mysql.ru/docs/man/Reference.html);Справочное руководство по MySQL версии 5.0.0-alpha (http://www.codenet.ru/db/mysql5/); MySQL 5.7 Reference Manual (http://dev.mysql.com/doc/refman/5.7/en/sql-syntax.html);Мартин Грабер

Слайд 38Завдання 1. Створити фізичну базу даних за допомогою MySQL Workbench
Створити

нову модель бази даних!

Завдання 1. Створити фізичну базу даних за допомогою MySQL WorkbenchСтворити нову модель бази даних!

Слайд 41Завдання 2. Написати скрипт для створення бази даних

Завдання 2. Написати скрипт для створення бази даних

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

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

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

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

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


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

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