2. Füüsiline disain
2. Füüsiline disain
2. Füüsiline disain
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TTÜ: Andmebaasi füüsiline <strong>disain</strong> (2012)<br />
© Erki Eessaar<br />
CREATE INDEX pn_ind ON hinded (pnimi);<br />
SELECT * FROM hinded ORDER BY pnimi;<br />
Vaate põhjal päringut tehes konstrueerib päringu täitmise programm vaate ja<br />
päringu põhjal uue SQL lause, mis täidetakse vaate aluseks olevatel tabelitel<br />
ja selle täitmiseks võidakse kasutada indekseid.<br />
<strong>2.</strong><strong>2.</strong>3.2 Indeksi kustutamine<br />
DROP INDEX index;<br />
<strong>2.</strong><strong>2.</strong>3.3 Automaatne indeksi loomine<br />
Andmebaasisüsteem võib kasutada indekseid, et kiirendada kitsenduste<br />
täidetuse kontrolli.<br />
Kui tabeli loomisel või muutmisel defineerida tabelile primaarvõti (PRIMARY<br />
KEY kitsendus) või lisada mõnele veerule lihtsalt unikaalsuse nõue (UNIQUE<br />
kitsendus), siis peaaegu kõik andmebaasisüsteemid loovad nendele<br />
veergudele automaatselt indeksi.<br />
Tänu indeksi olemasolule saab andmebaasisüsteem indekseeritud veergu<br />
väärtuse lisamisel või väärtuse muutmisel kiiresti kontrollida, kas unikaalsuse<br />
nõue on peale seda täidetud.<br />
NB! Unikaalsuse kitsendus != Indeks<br />
Unikaalsuse kitsenduse loomine ei pea tingimata tähendama indeksi loomist<br />
(st. indeksi loomine võib olla otstarbekas, aga andmebaasisüsteem ei pea<br />
seda looma, kui see kasutab mingit efektiivsemat meetodit unikaalsuse<br />
kitsenduse täidetuse kontrolliks).<br />
Mõned andmebaasisüsteemid (aga mitte enamik) nagu Informix, Ingres ja<br />
InterBase loovad automaatselt indeksid ka välisvõtmetele.<br />
Enamik andmebaasisüsteeme ei kontrolli indeksi loomisel, kas indekseeritava<br />
veeru põhjal pole juba indeksit loodud. Niimoodi võivad tekkida kattuvad ja<br />
seega liigsed indeksid. See on halb sest sellised indeksid:<br />
- raiskavad salvestusruumi;<br />
- aeglustavad andmete muutmiseks mõeldud lausete täitmist;<br />
- ajavad päringu optimeerimise programmi segadusse, kuna sellel<br />
on valida mitme samaväärse indeksit kasutava täitmisplaani<br />
vahel.<br />
<strong>2.</strong><strong>2.</strong>3.4 Indeksi kasutamine<br />
Andmebaasisüsteeme otsustab ise, millal kasutada andmete otsimiseks<br />
indeksit ja millal mitte. Selleks peavad andmebaasisüsteemile teada olema<br />
20