BAZYNYCH 2 SQL 3

POCZĄTKI JĘZYKA SQL 3

SQL3 powstał w konsekwencji przenikania się koncepcji obiektowych do systemów relacyjnych. Głównym zamierzeniem było również podjęcie działań w celu ulepszenia poprzednich wersji SQL.

Założeniami nowego standardu jest poprawa istniejących, sprawdzonych cech relacyjnej technologii bez wprowadzania zbyt rewolucyjnych zmian.

Adresatem SQL3 są systemy określane jako “obiektowo-relacyjne”. Mamy tu na myśli systemy powstające w wyniku ostrożnej ewolucji systemów relacyjnych w kierunku obiektowości, opierające się na pozycji systemów relacyjnych na rynku i odwołują się do ich wiernej klienteli.

Przykładami takich systemów są:

STATUS STANDARYZACJI SQL 3

SQL3 jest kontynuacją linii SQL-92, rozwijaną przez

ANSI (American National Standard Institute), komitet X3H2,

oraz ISO (International Standard Organization) .

Deklarowana jest zgodność ‘w dół” ze standardem SQL-92

Język SQL3 rozszerza poprzedni standard SQL-92 w następujących aspektach:

Obiektowość: SQL3 reprezentuje podejście “hybrydowe”, dodajac niektóre cechy obiektowości (takie jak ADT-asbstract data type) do tablic znanych z systemów relacyjnych.

Rozszerzalność: umożliwienie użytkownikom deklarowania własnych typów.

Niekonwencjonalne typy danych: multimedialne, przestrzenne, temporalne.

Pełne możliwości uniwersalnego języka programowania dla definiowania i zarządzania trwałymi, złożonymi obiektami.

Rozszerzenia w zakresie aktywnych reguł, interfejsów do innych języków programowania, autoryzacji, procedur bazy danych, ewolucji schematu, i inne.

KLUCZOWE FAKTY NA TEMAT JĘZYKA SQL3

Wg planów, prace nad standardem miały być zakończone w IV kwart. 1998.

W rzeczywistości wystąpiły opóźnienia i prezentacja SQL3 ( zwanego też SQL:99) miała miejsce na początku 1999 roku.

Głównym powodem jest fakt, że standard jest ogromny, według różnych szacunków 1200 - 1600 stron, zaś jego poszczególne części są niezbyt spójne.

2003 przedstawiono SQL:2003 – nowy standard języka SQL. Jest to w zasadzie poprawione SQL:1999 z wyjątkiem części SQL/XML oraz kilku dodatkowych właściwości.

że standard jest zbyt eklektyczny, łączy w sobie wiele koncepcji i pojęć, często redundantnych i niespójnych. Obciążeniem standardu jest deklarowana zgodność z SQL-92 (czyli konieczność pogodzenia się z niektórymi wadami SQL-92).

HIERARCHIA PRIORYTETÓW

Jeśli chodzi o hierarchię operatorów w przypadku działań obliczeniowych to opiera się ona na podstawowych działaniach matematyki. Najprościej ujmując temat: na początku mnożenie i dzielenie, kolejno dodawanie i odejmowanie.

3 + 5 * 5 = 28

Podobnie jak w matematyce chcąc zmienić hierarchię obliczeń należy wprowadzić nawiasy. W składni SQL 3 obliczenia ujęte w nawiasy kwadratowe obliczane są najpierw.

[3 + 5] * 5 = 40

W pozostałych wyrażeniach operacje są wykonywane zgodnie z priorytetem operatorów, począwszy od operatorów o najwyższym priorytecie.

Jeśli operatory o jednakowym priorytecie występują jeden obok drugiego, obowiązuje kolejność od lewej do prawej.

  1. Wszystkie operatory porównywania i operatory SQL mają jednakowy, najwyższy priorytet:
    = , !=, <, >, <=, >=, BETWEEN … AND …, IN, LIKE, IS NULL.

  2. NOT - odwrócenie wyniku porównania, np.
    WHERE NOT ZAROBKI>2 000

  3. AND, przedostatni operator w hierarchii.

  4. OR, operator o najniższym priorytecie.

W przypadku programowania w SQL3 bezpieczną formą jest stosowanie nawiasów we wszystkich przypadkach, gdzie kolejność wykonywania przez program skomplikowanych złożeń operatorów nie jest łatwa do przewidzenia.

Przykładem działania hierarchii operatów może być komenda wybrania wszystkich pracowników na stanowisku MANAGER ze wszystkich departamentów wraz ze wszystkimi pracownikami zatrudnionymi na stanowisku SPRZEDAWCA w departamencie 10, napiszemy dla pewności:

Przykład z Strona 3/50 Wykład_SQL3_3.pdf

W tym przypadku nawiasy są niepotrzebne, ponieważ operator AND jest silniejszy od operatora OR, są one wpisane jedynie dla większej czytelności.

WARUNKI ZŁOŻONE

Strona 4/50 Wykład_SQL3_3.pdf

TYPY ZAPYTAŃ DO BAZY DANYCH JĘZYKA SQL3

Strona 5/50 Wykład_SQL3_3.pdf

ZAPYTANIA Z LISTĄ TABEL W KLAUZULI FROM

Strona 6,7/50 Wykład_SQL3_3.pdf

ILOCZYN KARTEZJAŃSKI

Strona 8,9,10,11/50 Wykład_SQL3_3.pdf

FUNKCJE AGREGUJĄCE

Funkcje agregujące mogą być wykorzystywane do obliczania wartości kolumn i do umieszczania tych wartości w zestawie wyników. 

Najczęściej stosowane funkcje agregujące to:

Strona 13/50 Wykład_SQL3_3.pdf

Pozostałe z funkcji agregujących:
COUNT(*) - Liczba zaznaczonych wierszy 
STDEV - Odchylenie statystyczne dla wszystkich wartości 
STDEVP - Odchylenie statystyczne dla populacji 
VAR - Wariancja statyczna dla wszystkich wartości 
VARP - Wariacja statyczna dla wszystkich wartości w populacji 

Przykład 1
Obliczana jest średnia cena jednostkowa dla wszystkich produktów z tabeli products  

USE Northwind SELECT AVG (unitprice) FROM products  

Przykład 2 
Dodawane są wszystkie wiersze w kolumnie quantity w tabeli order details

USE Northwind SELECT SUM(quantity) FROM [order details]  

Większość funkcji agregujących ignoruje wartość NULL. Funkcja COUNT(*) zlicza wiersze z wartościami NULL.  

Przykład 3 
Tworzona jest lista pracowników  

USE Northwind SELECT COUNT(*) FROM employees

 
Przykład 4
Tworzona jest lista pracowników, dla których w kolumnie reportsto w tabeli employees wpisana jest wartość NULL.  

USE Northwind SELECT COUNT(*) FROM employees WHERE reportsto IS NULL 

Przykład działania funkcji agregującej:

Strona 13/50 Wykład_SQL3_3.pdf

ZASTOSOWANIE KOMENDY GROUP BY

[ GROUP BY <listakolumn> ]

GROUP BY -powoduje wiązanie wierszy wynikowych w grupy o jednakowych wartościach

we wskazanych kolumnach, a następnie redukowanie tych grup do pojedynczych wierszy.

Przykład użycia komendy GROUP BY do grupowania rekordów:

Strona 16/50 Wykład_SQL3_3.pdf

Funkcja agregująca GROUP BY jako warunek do zapytania:

Strona 17/50 Wykład_SQL3_3.pdf

KOMENDA HAVING

[ HAVING <warunek> ]

HAVING -określa warunki wyboru dla wierszy powstałych w wyniku działania frazy GROUP BY.

Przykład użycia komendy HAVING:

Strona 18/50 Wykład_SQL3_3.pdf

PODZAPYTANIA

Zapytania w SQL mogą operować na wynikach innych zapytań. Dokonuje się wówczas tzw. Zagnieżdżenia zapytań. W taki sposób tworzy się w języku SQL podzapytania.

Podzapytania mogą występować w klauzuli WHERE oraz HAVING, rzadziej, ale również mogą występować w klauzulach SELECT oraz FROM

Podzapytanie musi być objęte nawiasami

zapytanie nadrzędne (zewnętrzne )– zawierające podzapytanie

zapytanie podrzędne (wewnętrzne) – podzapytanie

Strona 20,21,22,23,24/50 Wykład_SQL3_3.pdf

Operatory SQL – operatory IN, NOT IN, EXISTS, NOT EXISTS

Strona 25/50 Wykład_SQL3_3.pdf

Operatory SQL- operator ANY

Strona 26/50 Wykład_SQL3_3.pdf

Operatory SQL- operator ALL

Strona 27/50 Wykład_SQL3_3.pdf

Podzapytania skorelowane

Strona 28/50 Wykład_SQL3_3.pdf

Operacja złączenia SELECT powiązana z podzapytaniami skorelowanymi

Złączenie tablicy z tąsamątablicąnazywamy samozłączeniem.Samozłączenieumożliwia wiązanie ze sobąinformacji zawartych w różnych wierszachjednej tablicy.Do dokonania samozłączeniakonieczne jest zastosowanie aliasów(nazw korelacji).

Pozapytania skorelowane przykłady

Strona 29-35/50 Wykład_SQL3_3.pdf


Wyszukiwarka

Podobne podstrony:
transakcyjny SQL
06 podstawy SQL 3id 6524 ppt
Oracle Database 11g i SQL Programowanie or11pr
BAZY DANYCH SQL (2)
Środki stylistyczne i rodzaje rymów - powtórzenie wiadomości., Sql, Projekty, prace domowe, dodatkow
ściąga z ang, Sql, Ściągi
Zasady ortografii, Sql, Projekty, prace domowe, dodatkowe, itd. itp
język SQL, Pomoce naukowe, studia, informatyka
jezyk SQL
nadpisywanie bazy danych SQL
ebook microsoft sql server black book cff45xf7ii4jb4gq3rzk3uhmzhx5z3u62hytpuy CFF45XF7II4JB4GQ3RZK3
Prawdopodobieństwo, sql
Krzyżówka, Sql, Projekty, prace domowe, dodatkowe, itd. itp
2 Jezyk SQL
2004 05 Sybase SQL Anywhere Studio 9 0 [Bazy Danych]
Deregulacja systemu poda, Studia -123xara, materiały sql, Wspieranie MŚP

więcej podobnych podstron