ullman213 (2)

ullman213 (2)



cjwi>ł ru>rii«v i i jr/. i iwł JVL

a następnie wykonuje. Zapytanie jest przechowywane w zmiennej tekstowej SQL-zapytanie. Ponieważ to zapytanie w całym programie jest przetwarzanie tylko jeden raz. więc wiersze 6) i 7) z rys. 7.7 można zastawić pojedynczą następującą instrukcją:

EXEC SQL EXF.CUTE 1MMEDIATE : zapytanie;

7.1.13. Ćwiczenia do podrozdziału 7.1

Ćwiczenie 7.1.1. Korzystając ze schematu bazy danych z ćwiczenia 4.1.1

Produkt(producent, model, typ)

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

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

Drukarka(model, kolor, typ, cena)

należy utworzyć osadzone zapytania SQL. Można korzystać z dowolnego znanego języka podstawowego, a szczegółowe instrukcje można zastąpić czytelnym komentarzem.

*a) Należy użytkownika prosić o cenę i wyszukać te wszystkie PC. których cena jest najbliższa podanej wartości. Należy wydrukować producenta, numer modelu i szybkość wyszukanego PC.

b) Należy pobrać od użytkownika wymagania określające minimalnej konfiguracji PC, a więc szybkość, rozmiar RAM i twardego dysku oraz wymiar ekranu. Należy wyszukać wszystkie laptopy, które spełniają te wymagania. Należy wydrukować wszystkie atrybuty tych laptopów (czyli wartości wszystkich atrybutów z relacji laptop) oraz ich producentów.

!c) Należy zapytać użytkownika o producenta. Wydrukować specyfikacje wszystkich produktów' dostarczanych przez niego. To znaczy, należy wydrukować numer modelu, typ oraz wszystkie atrybuty charakteryzujące dany produkt w odpowiedniej relacji.

!!d) Należy dowiedzieć się od użytkownika o „budżecie” (koszt zestawu PC i drukarki) oraz minimalnej szybkości PC. Wyszukać najtańszy' zestaw, który spełnia zadane warunki i dobrać, o ile to możliwe, drukarkę kolorową. Wy drukować numery' modeli elementów zestawu, e) Należy zapytać użytkowmika o producenta, numer modelu, szybkość, rozmiary RAM i dysku twardego, szybkość CD-ROM oraz cenę nowego PC. Następnie trzeba sprawdzić, że w bazie nie ma PC o tym numerze modelu. Jeśli jest, to należy' wydrukować komentarz z ostrzeżeniem; jeśli nie, to należy pobrane dane wstawić odpowiednio do tabel Produkt i ?C.

*!f) Ceny wszystkich „starych” PC należy obniżyć o 100 $. Trzeba przy tym uzyskać pewność, że cena żadnego z „nowych” PC. izn. tych, które zostały wstawione do bazy danych w trakcie bieżącego przebiegu programu, nie zostały obniżone.

Ćwiczenie 7.1.2. Używając schematu bazy „okręty” z ćwiczenia 4.1.3:

Klasy (ktasa, typ, kraj, liczbaDział, działo, wyporność) Okręt (nazwa, klasa, wodowanie)

Bitwa (nazwa, data)

Rezultat (okręt, bitwa, wynik)

należy zapisać w formie osadzonego SQL przedstawione poniżej zadania:

a) Siła bojowa okrętu jest w przybliżeniu proporcjonalna do iloczynu lic; dział i sześcianu średnicy działa. Należy określić, która klasa okrętów d ponuje największą siłą bojową.

!b) Należy zapylać użytkownika o nazwę bitwy. Odnaleźć wszystkie kr< w których posiadaniu znajdują się okręty uczestniczące w tej bitwie, c) Należy dowiedzieć się od użytkownika nazwy klasy okrętu i innych dam niezbędnych do jednoznacznego wybrania krotki w tabeli Klasy. Pot trzeba pobrać listę nazw okrętów w tej klasie oraz daty wodowania ty okrętów. Użytkownik nie powinien podawać jednak nazwy pierwszego v dowanego statku, która pokrywa się z nazwą klasy.

!d) Należy sprawdzić czy w tabelach Bitwa, Rezultat i Okręt nie występ przypadkiem okręt, którego data wodowania jest późniejsza od daty uczę niczenia w bitwie. Jeśli pojawi się tego typu błąd. to należy wysłać do uź kownika stosowny komunikat o błędzie oraz dać mu sposobność zmh niewłaściwych danych. Następnie, jeśli użytkownik poda now^e warto; trzeba je zapisać w bazie danych.

*!Ćwiczcnic 7.1.3. Kolejne zadanie polega na wybraniu z relacji

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

tych wszystkich PC, dla których można w tej relacji wyszukać co najmniej dw\a ir PC o takiej samej szybkości, ale które są od niego droższe. Istnieje wiele różny sposobów rozwiązania lego zadania, ale tu należy skorzystać z kursora przewijanej Krotki PC należy wczytywać uporządkowane w;edług szybkości, a następnie w;edł ceny. Wskazówka: Przy wczytywaniu kolejnych krotek należy sprawdzać, czy nas puje zmiana szybkości.

!!Ćwiczcnic 7.1.4. W punkcie 7.1.1 wspominaliśmy o tym, źc nie da się w języ SQL zapisać programu obliczającego silnię. To stwierdzenie dotyczy wersji SQI Jednakże w wrersji SQL3, dzięki istnieniu rekurencji - pisano o tym w podrozdzi 5.3, można uzyskać coś podobnego do silni. Należy- napisać w $QL3 rekurencyj zapytania, które dotyczy relacji M, zawierającej jedyną krotkę (w), gdzie m jest pe ną wartością całkowitą nicujemną. W wyniku ma powstać zbiór krotek (n, /?!), gd; 1 <n<m.


Wyszukiwarka

Podobne podstrony:
IMG201103024 j p . 1 jj/    ^ j ~‘°2    u^dcooe o^<5o€-:^’v^coujcj
—v Jr / • *4 1/ • /£ r / 1 i . y ^ ^ * v ^ _ • R * Tł* ’ BBBP r ^-riń? - Ducos Lycee
10487270q9922421377155&68681157077860646 n ćt <r~ 5. 3 OMe* +© UJ i> <x> © © c ■sc. O r
10922995?10008233070042116473 o 44 _ „___. V wwoł*, * UH«fii    »V
ullman187 (2) 6. Wlł-ZY 1 WYZWALAC7.F. W Jiy.YK-U iWL zdefiniować w wierszu deklaracji atrybutu nazw
-mfnibm rTV g
•v .*. I Jr, 1 - WfE^Ł1 » » . Pi KrSK^fei Ą fciUh, IC ■ _____^ ——__ii # St i J *
R 2 R 5r w 3    ; "777-ru - IM v»* R
skanuj0003 (404) 5 hC ią icc t*>e,ru cv I 0 <x-o? /—v ZDLc- -Jzceju. Ł^a-    :
radionetplus ru=0 fS fał 1 •
6JJl’ -r&d— ^<—J:,^W yjf ☆ -4-i/^-■ ’v*>^ - jr& CyOir
DSC01644 (3) V‘ /jr ^    lu?ypjC6 cw&tyo jji/m, o.*-- W ^ w-M lCfttv CU *** -■&g
DD VIIZ b92 ■r v»^ć>jr l&A*/-    4 *,■$* tri (ć?tr >*.<£. ’ /^rSyć___ ~

więcej podobnych podstron