22526 ullman144 (2)

22526 ullman144 (2)



5. )£.Ć1K BAZ. ŁJAMYL-M SOL

Ćwiczenie 5.1.3. Należy zapisać w SQL podane poniżej polecenia, które odnoszą się do bazy danych zdefiniowanej w ćwiczeniu 4.1.1:

Produkt(producent, model, typ)

PC(model, szybkość, ram, hd, cd, cena)

Laptop (model, szybkość, ram, lici, ekran, cena)

Drukarka(model, kolor, typ, cena)

Należy także podać wyniki zapytań, korzystając z. danych z ćwiczenia 4.1.1.

*a) Określić numer modelu, częstotliwość zegara oraz pojemność dysku twardego tych wszystkich PC, które kosztują poniżej 1600 S.

'•b) Należy powtórzyć zadanie a), ale tym razem w nagłówku kolumny szybkość należy' umieścić słowo megaher tz, a w nagłówku kolumny hd słowo

gigabajty.

c)    Należy wyszukać wszystkich producentów drukarek.

d)    Należy wyszukać numer modelu, wielkość pamięci operacyjnej oraz przekątnej ekranu tych laptopów, które kosztują ponad 2000 $.

*e) Należy w relacji Drukarka wyszukać wszystkie krotki z kolorowymi drukarkami. Należy przy tym pamiętać, że atrybut kolor ma typ logiczny, f) Określić numer modelu, częstotliwość zegara oraz pojemność dysku twardego tych wszystkich PC, które maja CD-ROMy o parametrach 6x lub 8x oraz kosztują poniżej 2000 S. Można założyć, że atrybut cd jest ty pu tekstowego.

Ćwiczenie 5.1.4. Należy zapisać w SQL podane poniżej polecenia, które odnoszą się do bazy danych zdefiniowanej w ćwiczeniu 4.1.3:

Klasy (klasa, r.yp, kraj, liczbaDz.iai, działo, wyporność) Okręt (nazwa, klasa, wodowanie)

Bitwa (nazwa, data)

Rezultat (okręt, bitwa, wynik)

Należy także podać wyniki zapytań, korzystając z danych z ćwiczenia 4.1.3.

a)    Należy podać nazwę klasy okrętów' oraz kraj dla wszystkich klas okrętów, które mają co najmniej 10 dział.

b)    Należy określić nazwy wszystkich okrętów' zwodowanych przed rokiem 1918, a kolumnę wynikową należy nazwać nazwyOkrętów.

c)    Należy określić wszystkie nazwy' okrętów, które utonęły oraz podać, w wyniku jakiej bitwy' to nastąpiło.

d)    Wyszukać te wszystkie okręty, których nazwy są identyczne jak nazwy klas do których należą.

e)    Znaleźć nazwy wszystkich okrętów, które zaczynają się od litery „R”.

!f) Wyszukać nazwy wszystkich okrętów, które są złożone z co najmniej trzech wyrazów (np. King Georga V).

5.2. Zapytania dotyczące więcej niż jednej relacji

Moc algebry relacji wynika przede wszystkim z tego, że umożliwia ona łączenie dwóch lub większej liczby relacji za pomocą operatorów złączenia, iloczy nu kartezjańskiego, przecięcia, sumy i różnicy. W języku SQL także można korzystać z tych wszystkich pięciu operatorów. Bezpośrednio są też dostępne operatory' z teorii mnogości: suma, przecięcie oraz różnica; będzie o tym mowa w rozdziale 5.2.5. Ale najpierw dowiemy się, w jaki sposób w języku SQL można uzyskać wynik złączenia lub iloczynu kartezjańskiego za pomocą instrukcji sclect-from-where.

5.2.1. Iloczyn kartezjański i złączenia w języku SQL

W języku SQL w bardzo prosty' sposób tworzy się zapytania dotyczące wielu relacji: nazwy bowiem tych relacji, których dotyczy zapytanie, umieszcza się po prostu w klauzuli FROM. W ten sposób klauzule SET.ECT oraz WHE-RE mogą wskazać atrybuty relacji w klauzuli FROM.

PRZYKŁAD 5.10

Załóżmy, że trzeba odszukać dane producenta filmu Gwiezdne Wojny. Trzeba w tym celu przeszukać dwie relacje:

Film (tytuł, rek, długość, czyKolor, nazwaStudia, producent C#}

FimDyr(nazwisko, adres, cert#, cenaSieci)

Numer certyfikatu producenta występuje w relacji Fi lm, a więc można je uzyskać w wyniku prostego zapytania o dane z relacji Film. Potem można utworzyć kolejne zapytanie, tymi razem obejmujące dane z relacji FilmDyr, w1 wyniku którego poznamy nazwisko osoby, która ma certyfikat o numerze wyszukanym w poprzednim zapytaniu.

Można jednak połączyć te dwa zapytania, tworząc jedno, w którym będą przeszukiwane pary krotek z relacji Film i FilmDyr, a które zapisuje się następująco:

SF.LFCT nazwisko FROM Film, FilmDyr

WHERE tytuł = 'Gwiezdne Wojny' AND producentC# cert#;


Wyszukiwarka

Podobne podstrony:
ullman147 (2) 300 5. JĘZYK BAZ DANYCH SOL krotkowych. Dla każdego przypisania jest określana wartość
ullman156 (2) J 18 5. JEŻYK BAZ DANYCH SOL Zauważmy, że w tym zapytaniu wcale nie ma klauzuli WHERE,
ullman166 (2) 338 1 5. JĘZYK BAZ DANYCH SOL Ponieważ para (tytuł, rok) jest kluczem, więc mamy
ullman145 (2) 296 5. JĘZYK BAZ DANYCH SOL W wyniku tego zapytania zostają przeszukane pary krotek, p
ullman153 (2) J u 5. JIJ7.YK BAZ DANYCH SOL nek zapisany w klauzuli WHfclRE decyduje o tym, czy krot
64863 ullman149 (2) 304 S JEŻYK BAZ DANYCH SOL GwiazdyW, ale filmu, który tam wymieniono, nie ma w r
ullman081 (2) * V V ?. RELACYJNY MUft/fcl. UAIN YCH !Ćwiczenie 3.6.9. Należy znaleźć minimalne bazy
ullman123 (2) ■ł DZIAŁANIA W MUUU.U KU At»JNYM Najprostsze pytanie rckurencyjne, jakie się nasuwa, b
ullman165 (2) 5. JEŻYK BAZ DANYCH SOL Teraz deklarując schemat relacji Film, możemy /.definiować atr

więcej podobnych podstron