Kuidas alustada oma andmebaasi loomist?

 

DB Designer´i kasutusjuhend testandmebaasi Rändaja ER mudeli näitel

Modelleerimistarkvarasid on väga palju. Neid leiab googeldades hõlpsalt. Valdavalt on need tasulised, leidub ka vabavaralisi, aga need ei toimi nii hästi. Üks, mis töötab hästi, on veebipõhine DB Designer, mille leiab aadressilt https://www.dbdesigner.net/ 

DB Designeri tasuta versioon lubab salvestada kaks andmebaasi mudelit, kummaski kuni 10 tabelit. Kui mitte, siis tudengitel on võimalus saata meil info@dbdesigner.net ja küsida tasuta juurdepääsu piiramatule arvule mudelitele ja tabelitele mudelis. Loe siit lähemalt https://www.dbdesigner.net/opportunities-to-earn-free-upgrade-to-our-paid-plans/

Mudelit on võimalik alustada kontot loomata, aga seda ei saa eksportida ei pildi ega SQL käskudena. Seepärast alusta konto loomisest. Sisseloginuna on võimalik töö salvestada (Schema menüüst), pooleli jätta ja hiljem jätkata.

Selleks, et DB Designerist saaks SQL käsud importida andmebaasihaldussüsteemi, mida plaanid kasutada, nagu nt PostgreSQL, on oluline, et kõik andmetüübid ja võimalikud kitsendused - (primaarvõtmed (primary key), tunnuse väärtuse automaatne täitmine (autoincrement), unikaalsus (unique), kas tunnusel võib ka väärtus puududa (NULL, NOT NULL) - saaksid korrektsed.

Hiljem saab kõike küll ka PostgreSQLis muuta, aga vea avastamine ja parandamine võib võtta aega.

Et DB Designeris oleks lihtsam töötada, võid alusta ER diagrammi loomist paberi ja pliiatsiga.

Kui esialgne ER mudel on olemas, olemid, tunnused, andmetüübid ja seosed läbi mõeldud, siis loo DB Designeris uus projekt (Create Project).

Lisa uus Schema, mis ongi uus mudel.

Uut mudelit looma hakates saab valida, millises andmebaasitarkvaras loodavat mudelit realiseerima hakkad, sellele vastavalt kohendatakse andmetüüpide valikut ja lõpus imporditavaid SQL käske. Pane mudelile ka nimi.

 

Selleks, et pärast oleks parem mudelisse (tabelitesse) kirjapandust ülevaadet saada, lisa tabelite juures informatiivsete ikoonide kuvamine. Selleks klõpsa menüüvalikul View ja vali Options.

 

Kui veel ei ole, siis säti siin linnukesed valikute ette, mis lubavad näidata erinevaid ikoone ja tähistusi. Salvesta muudatused.

 

Nüüd saab hakata lisama tabeleid (olemeid). Tabeli lisamiseks tee parem hiireklõps ükskõik kus ruudulisel lõuendil ja klõpsa Table (või vali menüüst Insert ja Table).

 

Kui midagi läheb valesti ja tahad tabeli kustutada, siis tee paremklõps tabelil ja Delete.

Tabelile nime lisamiseks klõpsa (vasaku hiireklahviga) avanenud väikese tabeliristküliku ülemises paremas nurgas.

Lisa nimi ja salvesta. Vajadusel võid tabelile ka kommentaare lisada. Näiteks selle kohta, millist infot tabel sisaldab.

 

Tabelis tunnuse lisamiseks klõpsa Add field ja lisa tunnuse kirjeldus – nimi, andmetüüp (type), kui on tegu primaarvõtmega, tee linnuke kasti primary key, see muudab automaatselt võimatuks lubada, et väli on tühi (Allow nulls) ja pole vaja enam eraldi lisada, et iga selles veerus olev väärtus peab olema unikaalne, sest primaarvõtme tunnuse väärtused peavad seda olema nagunii. Kui tahame, et PostgreSQL täidaks andmeid sisestades seda välja automaatselt, siis teeme linnukese kasti Auto Increment. Ja Save või muutmisel Update.

 

 

Lisa järjest ükshaaval ka ülejäänud selle tabeli tunnused. Lahtris size saab määrata välja maksimaalse pikkuse tähemärkides. See aitab kokku hoida arvuti salvestusruumi ja muutub oluliseks suurte andmehulkadega. Kui välja suurus määrata liiga väike ja hiljem on vaja lisada pikemaid väärtusi, siis ei lubata salvestada enne kui välja kirjeldust muuta.

 

Kui tunnus on kohustuslik, see peab alati olema täidetud, siis seda tähistatakse mudelis väljendiga NOT NULL. Kui kasutada NOT NULL kitsendust, ei saa andmeid salvestada kui see väli on tühi, tuleb veateade. DB Designeris on NOT NULL vaikimisi seade, pööra tähelepanu, et NOT NULL jääks kehtima ainult nende tunnuste juures, mis on iga kirje puhul alati olemas ja nende puhul, mis võivad tühjaks jääda, tee linnuke lahtrisse Allow nulls.

Kui kõik tabelid koos primaarvõtmetega on loodud, lisame välisvõtmete abil seosed. DB Designeris on see lahendatud võimalusena viidata teisele tabelile. Kõikides tabelites, mis omavahel seotakse, võiks nii primaar- kui välisvõtmete väljad juba olla olemas, see võiks olla läbi mõeldud eelmises etapis. Samuti seose suund, millise tabeli juurest tuleks seos luua. Muidu on keerulisem korraga andmebaasi seoseid läbi mõelda ja samal ajal DB Designeris kirjeldada.

Üle kordamise mõttes - välisvõti lisatakse selle tabeli juurest, mille mitu eksemplari võivad olla seotud ühe eksemplariga teises olemis. Nt mitu isikut kuuluvad ühte leibkonda, järelikult tabelite isik ja leibkond vahel seose loomiseks peab tabelis Isik üks tunnustest olema tabeli Leibkond tunnuse leibkond_id väärtuste talletamiseks, et saaks need tabelid omavahel siduda. Isik tabelis võib tunnusel olla teine nimi, näiteks andmebaasis Randaja on Isik tabelis selle tunnuse nimi leibkond, aga see sisaldab samu väärtusi, mis tabelis Leibkond tunnus leibkond_id ja välisvõtet lisades sisuliselt lisame kitsenduse, et Isik tabeli välja leibkond väärtused peavad leidma vastavuse tabeli Leibkond välja leibkond_id väärtustega.

Välisvõtme lisamise lahtrite avanemiseks tee linnuke kasti Foreign Key ja vali rippmenüüst Ref. Table tabel, millega tahad selle tabeli siduda ja Ref. Field rippmenüüst tunnus selles tabelis, millega tahad siduda.

 

Kui kõik võtmed on lisatud ja mudel valmis, siis selle eksportimiseks klõpsa menüüs Export. SQL keeles tabeli loomise käskude importimiseks klõpsa Sql.

 

Saad SQL faili alla laadida. Ja käsud PostgreSQLi kopeerida.

Kui on plaanis andmed PostgreSQL andmebaasi importida, mitte sisestada, siis tuleks kõigepealt PostgreSQLis jooksutada tabelite loomise käsud, siis andmed importida ja seejärel jooksutada välisvõtmete lisamise SQL laused, sest välisvõtme kitsendus ei luba näiteks laadida andmeid tabelisse Isik kui tabelis Leibkond ei ole veel andmeid. Andmete importimisel kontrollitakse, et Leibkond tabeli tunnuse leibkond_id väärtustes leiduks vaste tabeli Isik tunnuse leibkond väärtustele.

 

Ekspordi mudel ka pildina. Klõpsa sql asemel Image ja Open image in new tab.

 

Tee parema hiireklahviga klõps ja vali Save Image As.

 

Eksporditud kujutis: