17.03.2015 Views

2. Füüsiline disain

2. Füüsiline disain

2. Füüsiline disain

SHOW MORE
SHOW LESS

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 />

DELETE AINE FROM deleted, AINE WHERE deleted.oppejoud_id =<br />

AINE.kinnitaja;<br />

Nagu näete on trigeri kirjutamine töömahukam ja tülikam (erinevates<br />

andmebaasisüsteemides on erinev trigeri kehandis oleva protseduuri<br />

kirjutamiseks mõeldud keel) võrreldes selle kompenseeriva tegevuse<br />

deklareerimisega välisvõtme kitsenduse loomisel.<br />

Näide. MS Accessis on Text, Memo ja Hüperlink andmetüübiga veergude<br />

väärtustamiseks võimalik kasutada ka nullpikkusega stringi e. tühja stringi<br />

(ingl. k. zero lenght string). See võimaldab tähistada väärtuse puudumist<br />

kahel erineval viisil (ja selle kaudu eristada põhjuseid, miks väärtus puudub):<br />

• NULL,<br />

• nullpikkusega string.<br />

Näiteks NULL tähistab olukorda, kus ei teata seda, kas väärtus on olemas või<br />

mitte. Kui väärtuse puudumine on kindlalt teada, kasutatakse nullpikkusega<br />

stringi.<br />

MS Accessis saab tabeli <strong>disain</strong>ivaates määrata, kas lubada mingis veerus<br />

NULLe ja nullpikkusega stringe. Veerul on omadused.<br />

• Required – kas välja täitmine on kohustuslik? (yes – on kohustuslik; no<br />

– ei ole kohustuslik). Kohustuslik veerg ei tohi sisaldada NULLe,<br />

mittekohustuslik tohib.<br />

• Allow Zero Length – kas lubada nullpikkusega stringe (yes – lubada; no<br />

– mitte lubada);<br />

Väärtuse puudumise kindlakstegemiseks tuleb kasutada IS NULL predikaati.<br />

Nullpikkusega stringi otsimiseks tuleb WHERE klauslis kasutada literaali ''<br />

(kaks järjestikus ülakoma mille vahel ei tohi olla tühikut).<br />

Seega, kui kontseptuaalses andmemudelis on mingi atribuudi<br />

spetsifikatsioonis öeldud, et selle väärtus ei tohi olla tühi string, siis vastava<br />

veeru spetsifitseerimisel MS Accessi andmebaasis tuleb määrata Allow Zero<br />

Length=no.<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!