Bazy danych 149

Operacje na indeksach

Indeksy są tworzone najczęściej automatycznie dla kluczy głównych oraz dla pól, dla którym ma być wymuszona unikatowość.

Indeksy można też tworzyć dla innych pól korzystając z polecenia języka SQL CREATEINDEX.

Poniżej podano przykład utworzenia indeksu grupowanego dla tabeli memeber dla pola lastname.

USE library

CREATE CLUSTERED INDEX c1_lastname ON member (lastname)


Rys. 6.9 Przykład utworzenia indeksu przy użyciu języka SQL

Indeksy mogą wymuszać unikatowość pól lub nie. Przykład deklaracja indeksu wymuszającego unikatowość pola title_no podano poniżej. Po założeniu takiego indeksu dodanie do tabeli rekordu o istniejącej już wartości pola title_no nie będzie możliwe.

USE 1 ibrary

CREATE UNIQUE INDEX tit1e_ident OH title (titl e_no)_

lilie

auttior

synopsis

10

12

The Night-Born Lemon Wal king

Jack London Motojirou

Henry David Thoreau

:::

5

11 2 |Le PetitPtince |Antoine deSaint-Exupery'|---1

Rys. 6.10 Wymuszanie unikatowości pola przez indeks

Jak już wspomnieliśmy, indeks może też być zakładany na kilku polach jednocześnie. Poniższy przykład pokazuje sposób definiowania unikalnego indeksu na polach isbn i copy_no jednocześnie.

Założenie takiego indeksu spowoduje, że będzie można wprowadzić do tabeli rekord o istniejącej już wartości pola isbn oraz rekord o istniejącej wartości pola copyjio. Nie będzie natomiast możliwe wprowadzenie rekordu, w którym para wartości isbn i copy_no będzie się powtarzać.