ullman161 (2)

ullman161 (2)



dZ5 5. JĘZYK BAZ DANYCH SQL

jednocześnie zostanie usunięte kilka krotek, które spełniają warunek podany w klauzuli WHERE. W wyniku wykonania instrukcji:

DELETE FROM FilmDyr WHERE cenaSieci < 10000000;

zostaną usunięci wszyscy prezesi, których sieci są tanie, czyli ich cena jest niższa niż dziesięć milionów dolarów.

O

5.6.3. Aktualizacje

O usuwaniu i wstawianiu krotek można powiedzieć, że są to „modyfikacje” bazy danych, natomiast instrukcja update w SQL jest specyficznym rodzajem zmian w bazie, która polega na tym że jedna lub kilka istniejących w bazie krotek jest aktualizowanych przez zmianę wartości pewnych składowych tych krotek. Instrukcja UPDATE w SQI. składa się z następujących elementów:

1.    słowa kluczowego update,

2.    nazwy relacji, np. /?,

3.    słowa kluczowego set,

4.    listy wyrażeń, z których każde określa wartość pewnego atrybutu relacji

5.    słowa kluczow-ego WHERE,

6.    warunku.

Zatem postać instrukcji UPDATE można przedstaw ić następująco:

UPDATE R set <nowc przypisania> WHERE <warunek>;

Każde nowe przypisanie (pozycja 4) składa się z nazwy atrybutu, znaku równości oraz wyrażenia. Jeżeli przypisań jest więcej niż jedno, to są one oddzielane przecinkami.

W wyniku wykonania omawianej instrukcji zostają wyszukane te wszystkie krotki relacji R, które spełniają warunek 6). Następnie każda z krotek jest modyfikowana zgodnie z przypisaniami zdefiniowanymi w punkcie 4) w ten sposób, że składowym znajdującym się po lewych stronach przypisań, które odpowiadają atrybutom z lewych stron przypisań, zostają nadane wartości wyliczane zgodnie z opisem zawartym w prawych stronach przypisań.

PRZYKŁAD 5.31 Modyfikacja relacji

FilmDyr(nazwisko, adres, cert#, cenaSiec.i) ma polegać na poprzedzeniu nazwisk producentów tytułem Frez., jeśli producent jest jednocześnie prezesem studia. A zatem warunkiem tego, żeby została zmodyfikowana krotka, jest, aby wartość atrybutu cert# z relacji FilmDyr występowała jako wartość atrybutu prezC# wr relacji Studio. Instrukcja modyfikacji jest wobec tego następująca:

1)    UPDATE FilmDyr

2)    SET nazwisko 'Prez.' || nazwisko

3)    WHERE cert# IN (SELECT prezC# FROM Studio);

W wierszu 3) następuje sprawdzenie, czy numer certyfikatu z krotki FilmDyr występuje jako numer certyfikatu prezesa w relacji Studio.

W wierszu 2) następuje modyfikacja wybranych krotek. Operator || służy do oznaczenia konkatenaeji napisów, a więc wyrażenie występujące po prawej stronic znaku równości w wierszu 2) wskazuje, że nową wartość atrybutu nazwisko powstaje przez dopisanie Frez. oraz spacji przed starą wartością składowej nazwisko w tej krotce. Tak powstały napis staje się nową wartością składowej nazwisko w wybranej krotce, w rezultacie przed nazwiskami prezesów w relacji Fi : mDyr pojawi się tytuł Prez.

5.6.4. Ćwiczenia do podrozdziału 5.6

Ćwiczenie 5.6.1. Posługując się schematem bazy danych z ćwiczenia 4.11:

Produkt(producent, model, typ!

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

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

Drukarka(model, kolor, typ, cena)

należy zapisać w SQL zdefiniowane poniżej modyfikacje. Wynik działania instrukcji należy obliczyć na podstawie danych opisanych w tym samym ćwiczeniu.

a) Za pomocą dwóch instrukcji INSERT należy do bazy danych dołączyć informację o tym, że model PC 1100 jest wykonany przez producenta C, częstotliwość jego zegara wynosi 240 MHz, pamięć operacyjna 32 MB, dysk twardy ma pojemność 2,5 GB, CD-ROM ma szybkość 12x, a cena tego modelu wynosi 2499 S.

!b) Należ>r w bazie zamieścić informację o tym, że dla każdego PC istnieje laptop o tej samej częstotliwości zegara, pamięci operacyjnej i twardym dysku oraz z CD-ROM-em o szybkości 8x, przy czym numer jego modelu jest większy niż 1100, a cena wyższa o 500 S.

c)    Z bazyr danych należy usunąć te wszystkie PC. których dyski są mniejsze niż 2 GB.

d)    NaleZy usunąć te wszystkie laptopy, których producenci nie wytwarzają drukarek.


Wyszukiwarka

Podobne podstrony:
ullman142 (2) 290 5. JEŻYK BAZ DANYCH SQL drugiego tekstu. Podobnie jak to występowało w przypadku t
ullman158 (2) 322 5. JĘZYK BAZ DANYCH SQL To nowe zapytanie zostało przedstawione na rys. 5.11. Powo
53669 ullman151 (2) 308 5. JEŻYK BAZ DANYCH SQL T5.3.2. Warunki obejmujące relacje W języku SQL
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
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
ullman146 (2) 5. JĘZYK BAZ DANYCH SQL zmienną krotkową i kropką. A więc zmienna krotkowa jest inną n
ullman176 (2) 5. jęZYK. BAZ DANYCH SQL Złączenie naturalne w języku $QL2 ma dokładnie takie same wła
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

więcej podobnych podstron