518321418

518321418



Indeksy i ich zastosowanie

Zastanowimy się teraz nad problemem wyszukiwania danych w tabeli. Na przykład załóżmy, że w tabeli Studenci chcemy znaleźć studenta o nazwisku Nowak.

Tabela 6.4 Przykładowa tabela bazy studentów_

ID

Nazwisko

Imię

Wydział

1

Olacki

Jan

Elektryczny

2

Babicki

Adam

Mechaniczny

3

Nowak

Jerzy

Elektryczny

1

Adamski

Adam

Elektronika

Wiersze zapisane są w bazie w kolejności ich wpisywania i nie są w szczególny sposób sortowane. Co robi wobec tego system, kiedy wydajemy polecenie odnalezienia rekordu zawierającego informacje o Nowaku, np.

SELECT imię, nazwisko FROM Studenci WHERE Nazwisko = 'Nowak'?

System musi przeszukać całą tabelę (skanowanie wszystkich stron danych zawierających dane z tabeli) i przejrzeć wszystkie rekordy tej tabeli, aby mieć pewność, że odnalazł rekordy zawierające nazwiska Nowak. Operacja taka jest oczywiście czasochłonna.

Podobnie jest, gdy w książce poszukujemy jakiegoś hasła (na przykład w podręczniku do baz danych szukamy informacji o indeksach). Aby znaleźć szukaną informację, powinniśmy przeczytać całą książkę. Na szczęście niektóre książki są wyposażone na końcu w specjalne zestawienie haseł - czyli w indeks haseł.

Nasze postępowanie przebiega wówczas następująco:

1.    Odszukujemy poszukiwane hasło w indeksie, które jest uporządkowany alfabetycznie (co znacznie ułatwia nam odnalezienie hasła).

2.    Odczytujemy w indeksie numer strony na której hasło to występuje w książce.

3.    Otwieramy książkę na odpowiedniej stronie.

4.    Przeglądamy stronę w poszukiwaniu naszego hasła.

5.    Odczytujemy informacje związane z szukanym hasłem.

Idea działania indeksów w bazie danych jest dokładnie taka sama.

Indeks określony na atrybucie A relacji jest mechanizmem, który pozwala na efektywne wyszukiwanie krotek o ustalonej wartości składowej atrybutu A. Jak więc wyglądałby indeks dla tabeli Studenci?

Indeks określany jest dla konkretnego pola. Mówimy wówczas, że pole to jest polem indeksowanym. W wypadku tabeli Studenci możemy jako pole indeksowane wybrać pole nazwisko. Wówczas założenie indeksu na tym polu będzie oznaczało założenie przez system dodatkowej tabeli, w której



Wyszukiwarka

Podobne podstrony:
img231 231 Zastanówmy się teraz, co osiągniemy kodując sygnał modulujący różnicowo według zssady (1.
img203 (2) Rachunek prawdopodobieństwa 118Kombinacje Zastanówmy się teraz, na ile sposobów można wyl
Odkształcenia i naprężenia termiczne Zastanówmy się proszę nad wpływem temperatury na
Pojęcie naprężeń Przykład 1 Zastanówmy się wspólnie nad takim pytaniem: czy stały nacisk 1 kg np. na
CCF20081206015 Praktyczna przydatność wicd/.y naukowej Zastanówmy się chwilę nad praktyczną przydat
CCF20090321034 bardziej liczne niż liczby nielosowe. Nie możemy jednak zatrzymywać się tutaj nad pr
CCF20090625011 8    Niemiecki romantyzm i Rewolucja Francuska, I Grecji, który unosi
P1050199 m Prcsupozycje a negacja 30 Zastanówmy się teraz, jakie elementy składałyby się na klasę pr
Dyskusje z kolegami i koleżankami kazały mi zastanowić się wnikliwie nad relacjami między opisem a
WIKTOR WOROSZYLSKI„MATKA KffÓTÓW"1 [...] Zastanówmy się chwilę nad drogami pisarstwa Kazimierza

więcej podobnych podstron