Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вступ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.33 Mб
Скачать

2.5 Створення індивідуальних представлень

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

яких-небудь даних. У словнику даних зберігається лише пропозиція SELECT тієї або іншого представлення.

Синтаксис команди:

CREATE VIEW <ім'я вистави>

[(<ім'я стовпця> [,.n ])

[WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}]

AS

< команда SELECT>

[WITH CHECK OPTION];

WITH CHECK OPTION – обмежує дію команд INSERT і UPDATE. При завданні цієї пропозиції вони дозволені лише в тому випадку, якщо вони створюють рядки, які потім видно у представленні. Представлення бувають простими і складними. Простими називаються представлення, що створені на підставі однієї таблиці і не містять функцій або умов угрупування. При створенні вистави SQL не здійснює контроль за типом змінних, тобто представлення буде створена без генерації повідомлення про помилку, але при спробі здійснити запит згенерує повідомлення про помилку.

Раніше наголошувалося, що опція WITH CHECK OPTION може обмежити дію команд INSERT і UPDATE, проте існують і інші обмеження на використанні команд DML.

Команда DELETE заборонена, якщо представлення містить:

  • умова з'єднання

  • групові функції або пропозиція GROUP BY

  • пропозиція DISTINCT

  • стовпець з властивістю IDENT I TY

Команда UPDATE заборонена завжди, коли заборонена команда DELETE, а також у разі, коли стовпці містять вирази.

Команда INSERT заборонена завжди, коли заборонена команда UPDATE, а також тоді, коли який-небудь стовпець таблиці NOT NULL не міститься у представлення.

Після успішного завершення команди CREATE VIEW видається повідомлення View created (Представлення створена).

Представлення використовуються для:

  • обмеження доступу до бази даних;

  • спрощення запитів;

  • заховання схеми бази даних.

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

Було створено представлення, що відображають усі можливі дані, що містяться у таблицях:

Представлення ціна якого дорівнює 80 грн. Результат представлення показано на рисунку 2.23

CREATE VIEW A AS SELECT *

FROM Клієнт WHERE Клієнт.Ціна_товару=80 ;

Рисунок 2.23 – результат виконання представлення

Кількість цін з однаковою кількістю . Результат представлення показано на рисунку 2.24

CREATE VIEW b (Ціна_товару, COL)

AS SELECT Ціна_товару, COUNT(*)

FROM Клієнт GROUP BY Ціна_товару;

Рисунок 2.24 – результат виконання представлення

Представлення показує назви фірм, які були засновані тільки у 2001 році.

Результати представлення показано на рисунку 2.25

CREATE VIEW ONLY2001

AS SELECT Назва_фірми, рік_заснування

FROM фірма

WHERE рік_заснування = 2001

Рисунок 2.25 – результат виконання представлення

Виводить назву товару, групує по спаданню ціну товару. Результати представлення показано на рисунку 2.26

CREATE VIEW preds3 as

SELECT Назва_товару, Ціна

FROM товар

ORDER BY Ціна DESC;

Рисунок 2.26 – результат виконання представлення

Представлення показує ціну товару, яка дорівнює 130 грн в місті Івано-Франківськ. Результати представлення показано на рисунку 2.27

CREATE VIEW predst

AS SELECT Ціна_товару, Місто

FROM клієнт

WHERE Місто = 'Івано-Франківськ' and Ціна_товару = 130;

Рисунок 2.27 – результати представлення

Представлення показує кількість товару для кожної країни. Результати представлення показані на рисунку 5.28

CREATE VIEW predst2

AS SELECT Країна, count(*)

AS Кількість FROM товар_замовлення

GROUP BY Країна;

Рисунок 2.28 – результати представлення

Представлення вибирає назви міст для яких вартість доставки менше 2 або більше 4. Приклад представлення показано на рисунку 2.29

CREATE

ALGORITHM = UNDEFINED

DEFINER = `root`@`localhost`

SQL SECURITY DEFINER

VIEW `доставка_місто` AS

select

`доставка`.`Місто` AS `місто`,

`доставка`.`Вартість_доставки` AS `Вартість_доставки`

from

`доставка`

where

(`доставка`.`Вартість_доставки` not between 2 and 4)

Рисунок 2.29 – результат представлення

Назви країн, кількість товару яких, становить 15 штук. Приклад представлення показано на рисунку 2.30

CREATE VIEW `країна_зам` AS

SELECT Країна, Кількість

FROM товар_замовлення

WHERE товар_замовлення. Кількість="15"

Рисунок 2.30 – результат представлення

Представлення виводить суму кількості заказів, постачальника Боришкевич. Приклад представлення показано на рисунку 2.31

CREATE

ALGORITHM = UNDEFINED

DEFINER = `root`@`localhost`

SQL SECURITY DEFINER

VIEW `постач_тов` AS

select

`замовлення`.`Постачальник` AS `Постачальник`,

sum(`замовлення`.`Кількість_товару`) AS `SUM(Кількість_товару)`

from

`замовлення`

where

(`замовлення`.`Постачальник` like 'Боришкевич Л')

Рисунок 2.31 – результат представлення

Ціна парфумів менша за 300 грн. Приклад представлення показано на рисунку 2.32

CREATE VIEW Ціна_парфумів300

AS SELECT Ціна_парфумів,MIN(Ціна_парфумів)

FROM парфумерія

GROUP BY Ціна_парфумів

HAVING MIN(Ціна_парфумів)<300

Рисунок 2.32 – результат представлення

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]