b'\n_START_ARTICLE_\nAndmebaasi disain\n_START_PARAGRAPH_\nAndmebaasi disain on andmete korraldamine\xc2\xa0andmebaasi mudeli kohaselt.\xc2\xa0_NEWLINE_Andmebaasi disainer m\xc3\xa4\xc3\xa4rab, milliseid andmeid tuleb s\xc3\xa4ilitada ja kuidas on nad omavahel seotud. Selle info abil saab andmeid andmebaasi mudelisse sobitada. Andmebaasi disain h\xc3\xb5lmab andmete liigitamist ja nendevaheliste seosete m\xc3\xa4\xc3\xa4ramist.\n_START_SECTION_\nAndmete valimine andmebaasi\n_START_PARAGRAPH_\nEnamikul juhtudel on andmebaasi disaineriks isik (v\xc3\xb5i isikud), kes on ekspert andmebaaside loomises, mitte valdkonnas, mille tarbeks andmebaasi luuakse.\xc2\xa0Seega m\xc3\xa4\xc3\xa4ratakse andmebaasi salvestatav informatsioon andmebaasi disaineri ja t\xc3\xb6\xc3\xb6 tellija koost\xc3\xb6\xc3\xb6s.\xc2\xa0Andmete valik on \xc3\xbcks osa n\xc3\xb5uete anal\xc3\xbc\xc3\xbcsi protsessist, mille k\xc3\xa4igus selgitatakse koos andmebaasi tellijaga v\xc3\xa4lja, missuguseid andmeid on tarvis talletada. Alustuseks tuleb v\xc3\xa4lja selgitada, milliste objektide kohta infot vajatakse ning milliseid andmeid on iga objekti kohta vaja. Seejuures peab silmas pidama, et andmebaas rahuldaks nii hetke- kui ka tulevikuvajadusi. Korrektne andmete valik tagab, et andmebaasis ei oleks korduvaid andmeid, kuid k\xc3\xb5ik vajalik oleks efektiivselt k\xc3\xa4ttesaadav.\n_START_SECTION_\nAndmetevaheliste seoste kindlakstegemine\n_START_PARAGRAPH_\nKui andmebaasi disainer on teinud kindlaks, missuguseid andmeid peaks andmebaasis hoidma, tuleb m\xc3\xa4\xc3\xa4rata ka nendevahelised seosed ehk relatsioonid._NEWLINE_Relatsioonide m\xc3\xa4\xc3\xa4ramine on oluline, kuna muutus \xc3\xbches andmeobjektis v\xc3\xb5ib m\xc3\xb5jutada ka teiste andmete atribuute (n\xc3\xa4iteks seos kahe olemi "tudeng" ja "registreerimine" vahel, kus \xc3\xbcks tudeng v\xc3\xb5ib end \xc3\xb5ppeainetele registreerida mitmel korral, kuid \xc3\xbchele registreerimisele vastab alati vaid \xc3\xbcks tudeng).\n_START_SECTION_\nAndmete loogiline struktureerimine\n_START_PARAGRAPH_\nEt kasutada andmeid andmebaasi juhtimiss\xc3\xbcsteemis, on tarvis seada andmed vastava loogilise struktuuri kohaselt. Relatsioonilise andmebaasi puhul hoitakse infot tabelites, mis koosnevad kirjetest ehk ridadest ja v\xc3\xa4ljadest ehk veergudest. Andmev\xc3\xa4ljadele lisatakse v\xc3\xa4lja nimi, v\xc3\xa4lja t\xc3\xbc\xc3\xbcp (tekst, number jne) ja kirjeldus. Iga tabeli rida peab v\xc3\xa4hemalt \xc3\xbche v\xc3\xa4lja abil olema teistest eristatav \xe2\x80\x93 seda v\xc3\xa4lja nimetatakse v\xc3\xb5tmeks. Objektorienteeritud andmebaasi korral vaadeldakse iga kirjet kui objekti ning neid andmeobjekte kasutatakse ka andmete haldamiseks kasutatavas objektorienteeritud programmeerimiskeeles.\n_START_SECTION_\nER mudel\n_START_PARAGRAPH_\nER mudel on diagramm, mis aitab disainerit andmebaasi loomisel. ER mudel koosneb olemitest (entity) ehk objektidest ning olemite vahelistest seostest (relationship), mis \xc3\xbchendavad olemeid. Olemiks v\xc3\xb5ib olla n\xc3\xa4iteks \xc3\xb5pilane, raamat jne. Seos on n\xc3\xa4iteks \xc3\xb5pilane ja tema poolt sooritatud eksamid._NEWLINE_Olemit kirjeldavad tunnused on atribuudid (n\xc3\xa4iteks \xc3\xb5pilase nimi, vanus jne). Nii olemite, seoste kui ka atribuutide valik s\xc3\xb5ltub konkreetsest \xc3\xbclesandest._NEWLINE_Et olemeid omavahel eristada, on \xc3\xbcks olemi atribuutidest (v\xc3\xb5i atribuutide kogum) olemi v\xc3\xb5tmeks. N\xc3\xa4iteks andes igale \xc3\xb5pilasele v\xc3\xb5tmeks unikaalse ID, on v\xc3\xb5imalik eristada kaht nimekaimudest tudengit.\n_START_SECTION_\nNormaliseerimine\n_START_PARAGRAPH_\nAndmebaaside kontekstis nimetatakse normaliseerimiseks andmebaasis olevate andmete korrastamist, et v\xc3\xa4ltida andmete kordumist ja andmetevahelisi vastuolusid. Normaalkujude tasemed on 1NF, 2NF, 3NF, 3.5NF ehk Boyce-Codd NF, 4NF ja 5NF. Iga normaalkuju tase eeldab temast eelmise normaalkuju kehtimist. Enamasti piisab, kui viia andmemudel kolmandale normaalkujule (3NF).'