73749 ullman167 (2)

73749 ullman167 (2)



5. JĘZYK MA7. DANYCH SQL

d) Schemat relacji Rezultat.

c) Stosowną definicję dziedziny NazwyOkrętów, której można użyć w deklaracjach nazw okrętów oraz klas. Należy zastosować tę nazwę dziedziny w zadaniach a), b) oraz c).

0 Modyfikację relacji okręt z punktu b) polegającą na dołączeniu atrybutu stocznia, który określa nazwę stoczni, gdzie okręt został zbudowany, g) Modyfikację relacji Klasy z punktu a), polegającą na usunięciu atrybutu

działo.

!Ćwiczenie 5.7.4. Należy wyjaśnić różnicę między instrukcją

DROP R; oraz instrukcją

DELETE FROM R;

5.8. Definiowanie perspektyw

Te relacje, które są definiowane za pomocą instrukcji CREATE TABLE, istnieją faktycznie w bazie danych, tj. fizycznie istnieją w pamięci komputerów. Są one trwałe, tzn. należy się spodziewać, że będą zapisane wr bazie zawsze, chyba źc zostanie wydane jawne polecenie ich modyfikacji, np. zostanie wprowadzona instrukcja INSERT lub jakaś inna spośród tych instrukcji modyfikujących relacje, o który ch była mowa w podrozdziale 5.6.

W języku SQL istnieje jeszcze inny rodzaj relacji, nazywanych perspektywami, które z kolei nie mają w pamięci fizycznego odpowiednika. Należy1 2 3 4 je raczej kojarzyć z pewnym wyrażeniem, tak jak zapytanie. Jednakże perspektywy można umieszczać tak samo jak tabele w zapytaniach, a nawet można je w pewnych okolicznościach modyfikować.

5.8.1. Deklarowanie perspektyw

Najprostsza postać deklaracji perspektywy składa się z następujących elementów:

Deklarację perspektywy w najprostszej postaci można przedstawić w następujący sposób:

CREATE VIEW <nazwa-perspektywy> AS <definicja perspektywy>; PRZYKŁAD 5.37

Załóżmy, że trzeba określić perspektywę, która jest fragmentem relacji:

Film(tytuł, rok, długość, czyKolor, nazwaStudia, producentC#)

a konkretnie chcemy dysponować relacją określającą tytuł i rok produkcji filmów wytwórni Paramount. Możemy to zrobić za pomocą następującej instrukcji:

1)    CREATE VIEW FilmyParamount AS

2)    SELECT tytuł, rok

3)    FROM Fi Im

4)    WHERE nazwaStudia    = 'Paramount';

Z wiersza 1) wynika, że nazwą perspektywy ma być FilmyParamounc. W wierszu 2) określono jej atrybuty: tytuł oraz rok. Definicja perspektywy jest zapisana w wierszach od 2) do 4).

Relacje, tabele oraz Perspektywy

Programiści SQL stosują określenie „tabela” zamiast „relacja”. Powodem jest potrzeba odróżniania zapamiętanych relacji, czyli „tabel”, od relacji w irtualnych, czy li „perspektyw'”. Teraz, gdy jest już znana różnica pomiędzy tabelą a perspektywą, będziemy stosować określenia „relacja” tylko tam, gdzie jest nieistotne, czy chodzi o tabelę, czy o perspektywę. Gdy będziemy chcieli uwypuklić, żc relacja jest zapamiętana, to wówczas będziemy mówić o „relacji bazowej” lub o „tabeli bazowej”.

Istnieje jeszcze trzeci rodzaj relacji, która ani nie jest perspektywą, ani nie jest przechowywana w sposób trwały'. Są to relacje istniejące tymczasowa jako wyniki pewnych podzapytań. Takie tymczasowe twory także będziemy nazywać relacjami.


5.8.2. Zapytania określane na perspektywach

Przykładowa relacja Filmy Paramount. w sensie fizycznym nie zawiera krotek. Jeśli jakieś zapytanie odwołuje się do jej nazwy, to wówczas są wyszukiwane z relacji Film krotki, które spełniają definicje perspektywy Fil-

1

   słowa kluczowego CREATE VI EW.

2

   nazwy perspektywy,

3

   słowa kluczowego AS oraz

4

   zapytania Q. To zapytanie określa zakres danych perspektywy. Zawsze gdy pewne zapytanie K odwołuje się do perspektywy, to SQL jakby od nowa wykonuje zapytanie Q} a dopiero potem wykonuje się zapytanie K, traktując wynik Q jako swoją relację wejściową.


Wyszukiwarka

Podobne podstrony:
ullman146 (2) 5. JĘZYK BAZ DANYCH SQL zmienną krotkową i kropką. A więc zmienna krotkowa jest inną n
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
ullman176 (2) 5. jęZYK. BAZ DANYCH SQL Złączenie naturalne w języku $QL2 ma dokładnie takie same wła
ullman165 (2) 5. JEŻYK BAZ DANYCH SOL Teraz deklarując schemat relacji Film, możemy /.definiować atr
53669 ullman151 (2) 308 5. JEŻYK BAZ DANYCH SQL T5.3.2. Warunki obejmujące relacje W języku SQL
20112 ullman181 (2) 5 JĘZYK RAZ DANYCH SOL5.10.4. Negacja warstwowa Zapytania, które stanowią defini

więcej podobnych podstron