Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура мови SQL-92




SQL 92 складається з двох основних компонентів:

-мова DDL (Data Definition Language), призначений для визначення структур бази даних;

-мова DML (Data Manipulation Language), призначений для вибірки і відновлення даних.

Базове відношення - пойменоване відношення, що відповідає сутності на концептуальній схемі, кортежі якого фізично зберігаються в базі даних.

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

Механізм відображень може використовуватися з кількох причин.

-надає гнучкий механізм захисту за рахунок приховання деяких частин бази даних від визначених користувачів.

-дозволяє організувати доступ користувачів до даних найбільш зручним для них чином.

Одні і ті ж самі дані в той самий час можуть розглядатися різними користувачами зовсім різними способами.

-дозволяє спрощувати складні операції з базовими відношеннями.

Наприклад, якщо відображення буде визначено на основі з'єднанні двох відношень, то користувач зможе виконувати над ним прості унарні операції вибірки і проекції, що будуть автоматично перетворені засобами СУБД в еквівалентні операції з виконанням з'єднання базових відношень.

10.3. Основні оператори мови DML.

- SELECT — виборка данних із БД:

SELECT <предикат> <P1, P2 AS new_name,...> Виборка з перейменуванням
SELECT <предикат> YEAR(Дата) AS Rik, MID(P1,1,5) AS PS,... В тілі речення можуть вживатись функції. По умовчаню більшість SQL-мов підтримують лише 6 агрегатних функцій. Для використання інших функцій необхідно виконати налаштування SQL-сервера IB,FB та інших.
  Предикати речення SELECT: - ALL– включити до результуючого набору всі записи - DISTINCT- включити до результуючого набору записи, у яких значення у вибраних полях не повторюються - DISTINCTROW(дістінкгроу)- включити до результуючого набору записи, у яких значення всіх полів не повторюються - TOP n- включити до результуючого набору n-записів

 

Оператор мови SQL складається з речень. Приведені вище оператори також одночасно є першими реченями відповідних операторів мови SQL. До їх складу також можуть входити інші речення:

-FROM –визначає джерело даних запиту в цілому (обов’язкове)

FROM T1  
FROM T1,T2 Декартовий добуток, якщо відсутнє речення WHERE
FROM T1 INNER JOIN T2 ON T1.P1 = T2.P1 Прпироднє з’єднання
FROM T1 LEFT JOIN T2 ON T1.P1 = T2.P1 Ліве відкрите з’єднання
FROM T1 RIGHT JOIN T2 ON T1.P1 = T2.P1 Праве відкрите з’єднання

-WHERE (веа)<предикат> -речення умови виборки (необов’язкове)

WHERE Ціна > 100  
WHERE Дата BETWEEN D1 AND D2 вибираються записи, в яких значення поля Дата приймає значення в діапазоні D1-D2 включно
WHERE Назва LIKE *ПК* Вибираються записи, в яких значення поля Назва включають підрядок ‘ПК’
WHERE Місяць IN (1;3;9) Вибираються записи, для яких поле Місяць приймає значення 1,3 та 9
WHERE Дата = #5/10/96#; Використовує американський стандарт дати 5.10.1996 чи 10.5.1996

-ORDER BY (ордер бай) <> - речення порядку сортування (необов’язкове)

ORDER BY P1 ASC, P2 DESC Сортувати результуючий набір по зростаню значень поля P1 і вседені однакових груп поля P1 по спаданю значень поля P2. Предикат ASC (від "A" до "Я" і від 0 до 9) необовязковий DESC (від "Я" до "A" і від 9 до 0)

-GROUP BY <> -речення групування (необов’язкове)

Використовується разом з агрегатними функціями

 

GROUP BY <список полів групування> вказуються поля по яких виконується групування
SELECT P1, Sum(SDEB) AS SD FROM DEP_SUM GROUP BY P1; Обчислення результуючої суми з групуванням по полю P1. Можуть використовуватись наступні функції групування: SUM(P1),MAX(P1),MIN(P1),FIRST(P1),COUNT(каунт)(P1), AVG(P1)

 

-NAVING (невінг) <предикат> - речення умови виборки для результату групування (необов’язкове)

HAVING Sum(Ціна*Кількість) > 100 Це речення може містити до 40 виразів звязаних логічними операторами AND або OR

10.4 Зміна вмісту бази даних. Запити на оновлення даних

-INSERT INTO (інсерт інту)— вставка данних в таблицю:

INSERT INTO T1 (KPIDR,NPIDR) SELECT NFAK, NAMF FROM T2; Формат, що забезпечує вставку з іншої таблиці
INSERT INTO T1 (KPIDR,NPIDR) VALUES (велуєс) (12,”ФКСП”) Формат, внесення константи

 

- UPDATE (апдейт)— оновлення данних в таблиці

UPDATE T1 SET P1=<нове значення>,P2=<нове значення>; Формат оператора редагування
UPDATE T1 SET P1=<нове значення> WHERE <предикат>; Найбільш вживаніший формат

 

- DELETE — видаленя данных із таблиці.

DELETE FROM T1; Знищує всі записи таблиці
DELETE FROM T1 WHERE <предикат>; Найбільш вживаніший формат

Є ще одна стандартна мова роботи з базами даних — Network Database Language (NDL), яка побудована на використані мережевої моделі, але має обмежене застосуваня.

 

Прості запити. Сортування результатів.

Агрегатні функції. Запити з групуванням.

Складні запити. Підзапити.

Ключові слова ANY і ALL. Багатотабличні запити.

Ключові слова EXISTS і NOT EXIST.

Комбінування результуючих таблиць (операції UNION, INTERSECT і EXCEPT).

10.5. Оператори адміністрування:

 

Для введення елементів системи безпеки застосовується інструкція GRANT, за допомогою якої тим чи іншим користувачам надаються певні привілеї на використання тих чи інших об'єктів бази даних. В інструкції GRANT задається комбінація ідентифікатора користувача, об'єкта і привілеїв. Надані привілеї можна пізніше анулювати за допомогою інструкції REVOKE.

 

GRANT SELECT ON VIDDIL TO BANK;- надати п раво SELECT (виборки, а ще можуть бути: INSERT -вставки, UPDATE- редагування, DELETE- видалення) до об’єкта БД VIDDIL( таблиця, представлення ) об’єкту BANK (роль, користувач, процедура, тригер)

GRANT EXECUTE ON PROCEDURE NPERIOD TO BANK; - надати право EXECUTE (запуску) процедури N PERIOD об’єкту BANK

 
 

Рис. 7.11.1 Основні етапи процесу оптимізації запитів

10.63. Загальний огляд методів обробки запитів.

Першим етапом обробки запитів є декомпозиція. Її призначення полягає в перетворені запиту з мови високого рівня в вираз реляційної алгебри, с наступною перевіркою на предмет синтаксичної та семантичної коректності.

За звичай декомпозиція включає стадії аналізу, нормалізації, семантичного аналізу, спрощення та реструктуризації запиту.

На стадії аналізу виконується лексичний та синтаксичний аналіз запиту з використанням методів, що використовуються в компіляторах мов програмування високого рівня.

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

 

 

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

SELECT P1,P2 /4 AS PP2

FROM T2

WHERE P5 > 10;

 

Оптимізація запиту – це процедура вибору найбільш ефективного плану виконання запиту.


 

 

10.7. Архітектура клієнт-сервера і мова SQL.

Особливо добре SQL працює в системі клієнт-сервер. У такій системі користувачі працюють багато клієнтських машин одночасно, з'єднаних із серверним комп'ютером.

У прикладній програмі, що працює на клієнтському комп'ютері, створюються команди SQL. Та частина системи СУБД, яка знаходиться на клієнтському комп'ютері, передає ці команди на сервер по каналу зв'язку, що з'єднує сервер з клієнтом. А та частина СУБД, яка знаходиться на сервері, інтерпретує і виконує отриману команду SQL, а потім по каналу зв'язку відправляє результати назад до клієнта.

Такого роду система дозволяє ефективніше використовувати пропускну здатність каналу зв'язку.

Архітектура клієнт-сервер, доповнюючи характеристики SQL, дає можливість у малих, середніх і великих мережах отримувати досить високу продуктивність при помірних витратах.

 




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 879; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.