Põhiklahvid, mis muudavad andmebaasi haldamise lihtsaks

click fraud protection

Andmebaasid kasutavad teabe korrastamiseks tabeleid. Iga tabel koosneb mitmest reast, millest igaüks vastab ühele andmebaasikirjele. Niisiis, kuidas andmebaasid neid kirjeid korras hoiavad? See toimub võtmete kasutamise kaudu.

Peamised võtmed

Esimene võtmetüüp, millest arutame, on primaarvõti. The esmane võti identifitseerib üheselt iga kirje tabelis. Igas andmebaasi tabelis peaks olema üks või mitu primaarvõtmeks määratud veergu.

Esmase võtme näide

Oletame, et meil on tabel nimega Töötajad, mis sisaldab personaliteavet iga meie ettevõtte töötaja kohta. Peaksime valima sobiva primaarvõtme, mis tuvastaks iga töötaja kordumatult. Teie esimene mõte võib olla töötaja nime kasutamine. See aga ei töötaks, sest on mõeldav, et palkaksite kaks sama nimega töötajat. Parem valik võiks olla igale töötajale töölevõtmisel määratud kordumatu töötaja ID-number.

Mõned organisatsioonid kasutavad esmase võtmena sotsiaalkindlustusnumbreid (või sarnaseid valitsuse tunnuseid), kuna igal töötajal on see juba olemas ja need on garanteeritud unikaalsed. Sotsiaalkindlustusnumbrite kasutamine sel eesmärgil on aga privaatsusprobleemide tõttu vastuoluline.

Kui töötate valitsusasutuses, ei pruugi sotsiaalkindlustusnumbri kasutamine 1974. aasta privaatsusseaduse kohaselt olla seaduslik. Sel põhjusel on enamik organisatsioone üle läinud kordumatute identifikaatorite (nt töötaja ID või õpilase ID) kasutamisele.

Kui olete primaarvõtme kasuks otsustanud ja andmebaasi seadistanud, jõustab andmebaasihaldussüsteem võtme kordumatuse. Näiteks kui sisestate kirje tabelisse primaarvõtmega, mis dubleerib olemasolevat kirjet, siis sisestamine nurjub.

Enamik andmebaase on võimelised genereerima ka primaarvõtmeid. Näiteks Microsoft Accessi saab konfigureerida kasutama andmetüüpi AutoNumber, et määrata igale tabeli kirjele kordumatu ID. Kuigi see on tõhus, on see halb kujunduspraktika, kuna jätab tabeli igasse kirjesse mõttetu väärtuse. Selle asemel kasutage seda ruumi millegi kasuliku hoidmiseks.

Võõrvõtmed

Teine võtmetüüp on võõrvõti. Võõrvõti loob loomulikud seosed tabelite vahel. Enamikus andmebaasistruktuurides eksisteerivad tabelite vahel loomulikud seosed.

Võõrvõtme näide

Naastes meie töötajate andmebaasi juurde, kujutage ette, et tahame andmebaasi lisada tabeli, mis sisaldab osakondade teavet. Seda uut tabelit võiks nimetada osakondadeks ja see sisaldab palju teavet osakonna kui terviku kohta.

Sooviksime lisada ka teavet osakonna töötajate kohta, kuid sama teave kahes tabelis (Töötajad ja Osakonnad) oleks üleliigne. Selle asemel loome seose kahe tabeli vahel.

Tabelite vahelise seose loomine

Oletame, et tabel Osakonnad kasutab primaarvõtmena veergu Osakonna nimi. Kahe tabeli vahelise seose loomiseks lisaksime tabelisse Töötajad uue veeru nimega Osakond.

Järgmisena sisestame osakonna nime, kuhu iga töötaja kuulub. Seejärel teavitaksime andmebaasihaldussüsteem et tabeli Töötajad veerg Osakond on võõrvõti, mis viitab tabelile Osakonnad.

Võõrvõtmele unikaalsuspiirangut ei ole, sest näiteks võib meil olla rohkem kui üks töötaja, kes kuulub ühte osakonda. Samamoodi ei nõuta, et osakonnad tabeli kirjel peab olema vastav kanne tabelis Töötajad, sest meil võib olla osakond, kus pole töötajaid.