ullman138 (2)

ullman138 (2)



5_

Język baz danych SQL

Język SQL stanowi najbardziej popularny mechanizm definiowania poleceń zapytań i modyfikacji w relacyjnych systemach baz danych. Słowo SQL jest skrótem angielskim od „Structured Qucry I .anguage”, tj. ,.język zapytań strukturalnych”. Podstawowy rdzeń języka SQL jest implementacją algebry relacji, ale zawarte są w nim również elementy daleko odbiegające od tego. co można odnaleźć w algebrze relacji, na przykład możliwości agregowania danych (np. sumy i podliczanie), a także możliwość modyfikowania bazy danych.

Istnieje wiele różnych dialektów języka SQL. Najważniejsze z nich są dwa standardy: ANS1 (American National Standard Institute) $QL oraz zmodyfikowany w 1992 r. standard o nazwie SQL-92, czyli SQL2. W trakcie ustaleń znajduje się kolejna rozszerzona wersja tych standardów o nazwie SQL3, która poza elementami SQL2 zawiera wiele nowości, takich jak reku-rcncja, wyzwalacze i obiekty. A poza tym istnieją wersje języka $QL implementowane przez producentów oprogramowania systemowego baz. danych. Są one zgodne ze standardem ANSI, a w wielu miejscach również ze standardem SQL2. ale każdy z nich zawiera wiele własnych koncepcji modyfikujących ten drugi standard, a czasami tc koncepcje są zgodne z bieżącym stanem znajdującego się na etapie inkubacji standardu SQL3.

Bieżący rozdział i następne dwa posłużą do omówienia zapytań języka $QL. W tym rozdziale skupimy uwagę na interfejsie zapytań generycznych w SQL. Będziemy bowiem rozpatrywać język SQL jako niezależny język zapytań, który dostarcza możliwości interaktywnego zadawania zapytań do bazy danych oraz określania żądań modyfikowania danych. Wyniki zapytań są wówczas wyświetlane na terminalu. W zasadzie w bieżącym i następnych dw'óch rozdziałach nie będziemy wykraczać poza standard SQL2, przy czym uwypuklimy te fragmenty, które są honorowane w prawie wszystkich komercyjnych systemach baz danych, a także w pierwszym standardzie ANSI. W niektórych przypadkach, tam gdzie rozwiązanie z SQL2 nie jest wystarczająco dobre, omówimy wersje proponowane w powstającym standardzie SQL3.

W bieżącym i następnych dwóch rozdziałach zamierzamy raczej określić zasadniczy sens języka $QL, czyli dostarczyć wiedzy na temat samego języka, a nie sposobu posługiwania się jakąś jego wersją. Dlatego omówimy tylko najbardziej rozpowszechnione elementy języka. W bibliografii można znaleźć pozycje, w których znajduje się więcej szczegółów dotyczących języ ka oraz jego dialektów.

5.1. Proste zapytania w j ęzyku SQL

Najprostsza postać zapytań w SQL służy do wybierania krotek pewnej relacji, które spełniają określony w zapytaniu warunek. Taki typ zapylania stanow i odpowiednik operatora selekcji w algebrze relacji. Takie najprostsze zapytanie, jak zresztą prawie wszystkie zapytania w tym języku, konstruuje się za pomocą trzech charakterystycznych dla SQL słów kluczowych: SELECT, EROM i WHERl.

Film(tytuł, rok, długość, czyKolor, nazwaStudia, producentC#)

GwiazdyW(tytułFilnu, rokFilmu, nazwiskoGwiazdy)

GwiazdaFilmowa(nazwisko, adres, płeć, datatJrodzenia) FilmDyr (na2wi sko, adres, cert#, cer.aSieci)

Studio(nazwa, adres, prozC#)

RYSUNEK 5.1

Przykładowy schemat bazy danych, powtórzenie PRZYKŁAD 5.1

W tym przykładzie, a także w kilku następnych, będziemy posługiwać się schematem bazy danych wprowadzonym w podrozdziale 3.9. Jego opis został powtórzony na rys. 5.1.W podrozdziale 5.7 dowiemy się, w jaki sposób opisywać szczegóły schematu w języku SQL, natomiast teraz chwilowo przyjmiemy założenie, że wszystkie relacje i dziedziny opisane w podrozdziale 3.9 mają swoje odpowiedniki w strukturach, które są dostępne z SQL.

Pierwsze zapytanie będzie dotyczyć relacji Filr i zapytamy o wszystkie filmy wyprodukowane w studiu Disneya w roku 1990. Relacja Film ma następujący schemat:

Fi lm (-tytuł, rok, długość, czyKcior, nazwaStudia, pro-ducentć#}

Zapytanie w SQL przyjmuje następującą postać:

SELEC? *

FROM Film

WHERE nazwaStudia = 'Disney' AND rok = 1990;


Wyszukiwarka

Podobne podstrony:
ullman138 (2) 5_Język baz danych SQL Język SQL stanowi najbardziej popularny mechanizm definiowania
ullman140 (2) 286 $. jąZYK BAZ DANYCH SQL PRZYKŁAD 5.3 Poniższy przykład dotyczy lego samego zapytan
ullman140 (2) 286 $. jąZYK BAZ DANYCH SQL PRZYKŁAD 5.3 Poniższy przykład dotyczy lego samego zapytan
ullman159 (2) 5. JljZYK. BAZ DANYCH SQL 3.    listy atrybutów relacji R ujętej w nawi
70987 ullman154 (2) .5 l*ł 5. JĘZYK BAZ DANYCH SQL MĆwiczenie 5.3.6. Można już było uprzednio dostrz
ullman154 (2) .5 l*ł 5. JĘZYK BAZ DANYCH SQL MĆwiczenie 5.3.6. Można już było uprzednio dostrzec, że
ullman142 (2) 290 5. JEŻYK BAZ DANYCH SQL drugiego tekstu. Podobnie jak to występowało w przypadku t
ullman146 (2) 5. JĘZYK BAZ DANYCH SQL zmienną krotkową i kropką. A więc zmienna krotkowa jest inną n
ullman158 (2) 322 5. JĘZYK BAZ DANYCH SQL To nowe zapytanie zostało przedstawione na rys. 5.11. Powo
ullman161 (2) dZ5 5. JĘZYK BAZ DANYCH SQL jednocześnie zostanie usunięte kilka krotek, które spełnia
ullman176 (2) 5. jęZYK. BAZ DANYCH SQL Złączenie naturalne w języku $QL2 ma dokładnie takie same wła
53669 ullman151 (2) 308 5. JEŻYK BAZ DANYCH SQL T5.3.2. Warunki obejmujące relacje W języku SQL

więcej podobnych podstron