69806 ullman184 (2)

69806 ullman184 (2)



374    5 JI-ZYK BAZ DANYCH SQL

Ćwiczenie 5.10.2. W ćwiczeniu 4.4.3 została zdefiniowana relacja:

R«1(klasa, pklasa, wiel)

która opisuje sposób powiązania klas w ODL. Krotka (c, d, m) występuje w tej relacji wówczas, gdy między klasami c a d /.ostał określony pewien związek. Gdy związek jest wielowartościowy, wówczas wartością m jest 'wiol', a gdy związek ten jest jednowartościowy, wówczas wartością w jest 'jed'. W ćwiczeniu 4.4.3 wspominaliśmy również, że relację Rei można interpretować jako graf, którego wierzchołkami są klasy, a krawędzie, etykietowane jako m, istnieją między wierzchołkami carf, jeśli w relacji Rei występuje krotka (c, d, m).

a) Należy utworzyć rekurencyjne zapytanie SQL3, w wyniku którego otrzymuje się pary (c, d) takie, że w grafie opisanym powyżej istnieje ścieżka od c do d.

*b) Należy utworzyć rekurencyjne zapytanie $QL3, w wyniku którego otrzymuje się pary' (c, d) takie, że istnieje ścieżka między c a d, której wszystkie odcinki są etykietowane jako jed.

*!c) Należy utworzyć rekurencyjne zapylanie SQL3, w wyniku którego otrzymuje się pary (c, d) takie, że istnieje ścieżka między c a d, na której co najmniej jeden łuk ma etykietę wiel.

d) Należy- utworzyć rekurencyjne zapytanie SQL3, w' wyniku którego otrzymuje się pary (c, d) takie, że istnieje ścieżka między c a d, ale nie ma takiej ścieżki między nimi, na której wszystkie luki miałyby etykiety jca.

!e) Należy utworzyć rekurencyjne zapylanie SQL3, w wyniku którego otrzymuje się pary (c, d) takie, że istnieje ścieżka między cud oraz łuki mają etykiety na przemian jed i wiel.

0 Należy utworzyć rekurencyjne zapylanie SQL3, w wyniku którego otrzy-muje się pary- (c, d) takie, że istnieją ścieżki między rarf oraz. od d do c, i wszystkie hiki na tych ścieżkach mają etykiety jed.

*!Ć\viczenie 5.10.3. Zmodyfikujmy obliczenie relacji Dostępne z rys. 5.23, tak aby występowała tam rekurencja nieliniowa. W tym celu zamieniamy wiersze od 6) do 8) na następujące:

6)    (SELECT Pierwsza.z, Druga.do

7)    FRCM Dostępne AS Pierwsza, Dostępne AS Druga

8)    WHERE Pierwsza.do = Druga.z)

gdzie występują dwie kopie relacji Dostępne: Pierwsza i Druga, których złączenie generuje nowe pary. Jak długie będą ścieżki dołączane do relacji dostępne w Mym kroku obliczania punktu stałego?

5.11. Podsumowanie

SQL: Język SQI. jest powszechnie stosowanym językiem zapytań w relacyjnych systemach baz danych. Największy' wpływ na systemy komercyjne ma standard $QL2 z 1997 r. Oczekuje się wkrótce ukończenia prac nad nowym standardem $QL3.

♦    Zapytania (ąueries) Select-From-Where: Najpopularniejsze zapytar w SQL ma postać select-from-where. Umożliwia ono utworzenie il czynu kartezjańskiego kilku relacji (klauzula FROM), określenie, c krotki spełniają warunek logiczny (klauzula WHERE) i utworzer krotek o zadanej postaci (klauzula SELECT).

♦    Podzapytania {subąueries): Zapytania typu select-from-where moż stosować także jako podzapytania w klauzuli WHERE innego zapytań Można także sprawdzać, czy wyniki podzapytań spełniają warur sformułowane za pomocą operatorów F.XT5TS, IN, all lub ANY.

♦    Zastosowanie działań teoriomnogościowych do relacji (set operat i o on relalions): Można uzyskiwać wyniki sumy, przecięcia i różni teoriomnogościowej, łącząc relacje lub wyniki podzapytań odpowie nio spójnikami: UNION, INTERSECT lub EXCEPT.

♦    Model wielozhioru dla relacji (the bag model of relalions): W sysi mach $QL relacje są postrzegane jako wielozbiory krotek, a nie ja zbiory krotek. Można jednak wymuszać usuwanie kopii krotek, kor* stając ze słowa kluczowego DISTINCT. Natomiast, gdy użyjemy sl wa kluczowego ALL, wynik będzie wielozbiorem w tych sytuacjac w których wielozbiór nie jest standardem.

♦    Agregacje (aggregations): Wartości występujące w jednej kolunn relacji można podsumowywać (agregować), korzystając z jedne z następujących słów kluczowych: SUM, AVG (wartość średnia). Ml MAX lub COUNT. Zanim wykona się agregację, można łączyć kroi w grupy, używając słowa kluczowego GROUP 3Y. Niektóre gru można wyeliminować, stosując słowo kluczowe HAVING.

♦    Instrukcje modyfikujące (tnodfication statements): W SQL jest d puszczalna zmiana krotek w relacjach. Możemy wprowadzać no\ krotki do relacji, korzystając z instrukcji INSERT, usuwać krotki z i lacji za pomocą DELETE oraz zmieniać wartości w krotkach, stosuj UPDATE.

♦    Definicja danych {data definition): W SQL istnieją specjalne poleceń które służą do deklarowania elementów schematu bazy danych, lnstri cja CREATE TABLE służy do deklarowania schematu przechowywał relacji (nazywanej w SQL tabelą), spccy fi kując atrybuty oraz ich ty[ Można także używać polecenia CREATE DOMAIN, które umożliw ia c finiowanie nazw typów danych. Nazwy te potem można slosow w deklaracjach schematów relacji. W tych instrukcjach CREATE moż także określać domniemane wartości atrybutów oraz dziedzin.

♦    Zmiany schematów (altering schemas): Właściwości schematu moż zmieniać, korzystając z instrukcji ALTER. Umożliwia ona dodanie 1 usunięcie atrybutu ze schematu relacji lub zmianę wartości domn manych związanych z atrybutami lub dziedzinami. Można także 1< rzystać z instrukcji DROP, która służy do usuwania elementów scł matu bazy takich jak relacje lub dziedziny.


Wyszukiwarka

Podobne podstrony:
ullman184 (2) 374    5 JI-ZYK BAZ DANYCH SQL Ćwiczenie 5.10.2. W ćwiczeniu 4.4.3 zost
81919 ullman139 (2) 1 1 284 5. Jlj7.YK BAZ DANYCH SQL Zapytanie to ma charakterystyczną dla większoś
ullman158 (2) 322 5. JĘZYK BAZ DANYCH SQL To nowe zapytanie zostało przedstawione na rys. 5.11. Powo
57119 ullman185 (2) .3 / U 3. Jł-ZYK BAZ DANYCH J>DL ♦    Indeksy (indexes): Nie s
70987 ullman154 (2) .5 l*ł 5. JĘZYK BAZ DANYCH SQL MĆwiczenie 5.3.6. Można już było uprzednio dostrz
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
ullman154 (2) .5 l*ł 5. JĘZYK BAZ DANYCH SQL MĆwiczenie 5.3.6. Można już było uprzednio dostrzec, że
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

więcej podobnych podstron