ullman220 (2)

ullman220 (2)



446 7. S YSTfcMOWŁ A2>reK I T J!;/.! C5VL.

PRZYKl.AD7.18

Będziemy kontynuować rozważania na temat rezerwowania miejsc, rozpoczęte w przykładach 7.16 i 7.17. Przy założeniu, że funkcja wykonuje się przy poziomie izolacji - odczyt powtarzalny, miejsce, które było dostępne przy pierwszym wykonaniu zapytania, pozostaje niczajęte przy ponawianiu zapytania.

Załóżmy jednak, że relacja Rejsy zmieniła się. Na przykład mogły zostać zmienione samoloty i w ten sposób mogła się zwiększyć liczba dostępnych miejsc albo niektóre rezerwacje mogły zostać na przykład odwołane. Wówczas w odpowiedziach na kolejne zapytania mogą się pojawić nowe krotki z dostępnymi miejscami.

7.2.7. Ćwiczenia do podrozdziału 7.2

Ćwiczenie 7.2.1. Wszystkie ćwiczenia z tego rozdziału dotyczą następujących dwóch relacji:

Produkt(producent, model, typ)

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

Należy naszkicować programy wykonujące poniższe zadania, stosując instrukcje SQI-osadzanc w dowolnym języku podstawowym. Należy pamiętać o korzystaniu z instrukcji COMMiT i RCLLBACK wszędzie tam, gdzie jest to niezbędne, oraz zaznaczeniu we właściwych miejscach, żc transakcje są tylko do odczytu.

a) Dla danych wartości szybkości i rozmiaru RAM (jako argumentów' funkcji) należy wyszukać wszystkie PC o tej charakterystyce oraz wydrukować numer modelu i cenę każdego z nich.

*b) Dysponując numerem modelu, należy usunąć go z obu relacji Produkt i ?c.

c)    Dysponując numerem modelu, należy zwiększyć jego cenę o 100 $.

d)    Przy zadanych wartościach: producenta, numeru modelu, szybkości, rozmiaru RAM, rozmiaru dysku twardego, szybkości CD oraz cenie należy stwierdzić, że ten model nic występuje w bazie. Jeśli jednak występuje, to należy podać komunikat dla użytkownika. Jeśli takiego modelu nic ma w bazie, to należy wstawić dane o tym produkcie do tabel Produkt i PC.

IĆwiczcnie 7.2.2. Dla każdego programu /. ćwiczenia 7.2.1 należy omówić problem niepodzielności, który może wystąpić podczas awarii systemu powstałej w trakcie przetwarzania tego programu.

JĆwiczenic 7.2.3. Załóżmy, że transakcja T polega na wykonaniu jednego z czterech programów z ćwiczenia 7.2.1, a inne transakcje polegają na jednoczesnym wykonaniu tego samego programu lub któregoś z pozostałych. Jakie zachowania transakcji T są możliwe do zauważenia przy wykonywaniu na poziomie izolacji RSAD UNCOMMIT-TED, a które nic wystąpią przy poziomie izolacji SERIALI ZA3LE? Należy po kolei rozważyć wszystkie programy z ćw iczenia 7.2.1.

*!!Ćwiczenie 7.2.4. Załóżmy, żc transakcja T jest funkcją nieskończoną, która cc godzinę sprawdza, czy w bazie danych występuje PC o szybkości 200 i cenie poniżej 1000 S. Jeśli znajdzie się taki PC, to funkcja wypisuje komunikat i kończy działanie W tym czasie mogą działać inne transakcje, które wykonują programy z ćwiczę nia 7.2.1. Dla każdego z czterech poziomów izolacji: sekwencyjnego, powtarzalnegc odczytu, odczytu zatwierdzonego i odczytu niezatwierdzonego należy określić wynił transakcji T.

7.3. Środowisko SQL

W bieżącym rozdziale omówimy systemy zarządzania bazami danycl w sposób możliwie najszerszy-. Zobaczymy, w jaki sposób definiuje się baz danych, a następnie organizuje katalogi, klastry i schematy. Dowiemy si także, w jaki sposób łączy się programy z tymi danymi, na których mają by wykonywane. Wiele tych szczegółów zależy od konkretnej implemcntacj a więc skupimy uwagę na podstawowych zasadach, które są objęte standai dem SQL2.

7.3.1. Środowiska

Środowisko SQL stanowi ramę dla danych i operacji SQL, które na tyc danych mogą być wykonywane. W praktyce środowisko SQL utożsamia s z konkretną instalacją systemu zarządzania baz danych. Jeśli na przykład fi ma ABC kupuje licencję systemu zarządzania bazami danych $QL firn: Dandy-DB i uruchamia ją na swoich systemach komputerowych ABC, to tć działający system nazywamy środowiskiem SQL.

Wszystkie omówione dotychczas elementy bazy danych: tabele, pe spektywy, dziedziny i ascrcje są definiowane w środowisku $QL. Tworzą oi hierarchiczne struktury i każda z nich odgrywa właściwą sobie rolę w sy$t mie. Struktury definiowane według standardu $QL2 zostały przedstawione i rys. 7.11.

Oto ich krótka charakterystyka.

1. Schematy . Są to zbiory' tabel, perspektyw-, asercji, dziedzin i inny typów danych, o których nie wspominaliśmy (ale zostały wymienio w ramce zatytułowanej „Co jeszcze należy do schematu?” w p. 7.3.i Schematy stanowią podstawowe jednostki w systemie i są pojęcio\ najbliższe bazom danych, ale są czymś węższym niż baza danych, wyniknie w punkcie 3.

’ Zauważmy, ?.c w tym kontekście schemat oznacza schemat bazy danych, a nic relacji


Wyszukiwarka

Podobne podstrony:
Interpretacja wyniku: c. zastosowanie - przykład 4 Zbadaj zgodność opinii kobiet i mężczyzn na temat
57604 ullman152 (2) !> JcZYlC BAĆ. LJANTi.il podzapytania zapisanego w wierszach od 7) do 9) mogł
16814 ullman179 (2) S ,ir;7.YK BAZ DANYCH $QL PRZYKŁAD 5.52 Rozważmy ponownie informację lotniczą, k
ullman061 (2) 128 3. RHI.ACYJNY MODEL DANYCH PRZYKŁAD 3.9 Jeśli wprowadzimy jednoznaczne numery cert
ullman125 (2) PRZYKŁAD 4.39 Niech nasze zadanie polega na wyszukaniu na mapie z rys. 4.19 tych wszys
ullman140 (2) 286 $. jąZYK BAZ DANYCH SQL PRZYKŁAD 5.3 Poniższy przykład dotyczy lego samego zapytan
ullman141 (2) 288 5 JĘZYK BAZ DANYCH SQI. W przykładzie 5.1 występuje porównanie: nazwaStudia = Dis
ullman179 (2) S ,ir;7.YK BAZ DANYCH $QL PRZYKŁAD 5.52 Rozważmy ponownie informację lotniczą, która s
ullman140 (2) 286 $. jąZYK BAZ DANYCH SQL PRZYKŁAD 5.3 Poniższy przykład dotyczy lego samego zapytan
ullman208 (2) 422 7. SYSTEMOWE ASPEKTY JĘZYKA SQL PRZYKŁAD 7.3 Przedstawimy tu funkcję C. która służ
56661 ullman178 (2) 5. JĘZYK BAZ DANYGII SQL . Ćwiczenie 5.9.5. W przykładzie 5.46 rozważaliśmy zapy

więcej podobnych podstron