Czasochłonność po podziale tabeli Tytuł - poziomy (podział na tytuły techniczne i beletrystyczne) i pionowy (odrzucenie atrybutu typ tytułu)
Tytul_Techniczny(Id_tytulu, tytuł, autor, ISBN) Tytul_Beletrystyczny(Id_tytulu, tytuł, autor, ISBN)
Do i:= 1 to O.ln
// if Tytul[i].typ_ksiazki=’Beletrystyczna, nie jest wykonywane, gdyż następuje
// bezpośrednie odwołanie do O.ln krotek w tabeli Tytul_Beletrystyczny dedykowanej // typ_tytulu='Beletrystyczna'
Dodaj krotkę Tytul_Beletrystyczny[i] do wynikowej tabeli
Tl’”=tl’”+t2”’
tl’”= O.ln - czasochłonność czytania krotek z tabeli TytulBeletrystyczny t3”’= 0.1 n - czasochłonność zapisu krotek z tabeli Tytul Beletrystyczny Tl”=0.1n+0.1n=0.1n Tl”=0.2n
T1”=T1”
Różnica między rozwiązaniami: delta T = T1’-Tl”=0.9n
Wniosek: podział tabeli Tytuł oraz założenie indeksu dają identyczną czasochłonność wykonania zapisu w przypadku, gdy zostanie pominięta obsługa indeksu. W przeciwnym wypadku rozwiązanie z podziałem tabeli Tytuł jest najlepsze.
4.2.2. Pytania zawierające złączenia dwóch tabel - często zadawane pytanie o
zarezerwowane tytuły beletrystyczne
Tytuł (Id tytułu, tytuł, autor, ISBN, typ_tytulu)
Rezerwaciedd rezerwacii. data, Jcl tytułu)
Np. Pytanie:
Select * From Tytuł, Rezerwacje Where typ_ksiazka=’Beletrystyczna’
And Id_tytulu=_Id_tytulu;
e) liczba krotek w tabeli Tytuł jest równa n, gdzie 0.1 n to krotki zawierające wartość atrybutu typ_tytulu=’Beletrystyczna’
f) w tabeli Rezerwacje znajduje się r krotek oraz r>n
g) w tabeli Rezerwacje znajduje się p krotek jako zarezerwowanych książek beletrystycznych oraz p~0.1r
h) na stronie pliku przechowuje się t krotek, stąd mamy r/t oraz n/t. Zakłada się najgorszy wariant, w którym każda krotka jest na innej stronie, czyli t=l
Zofia Kruczkiewicz, 1-6, p325 C3
8 Internetowe bazy danych, Wykład 5