Pagrindiniai raktai, dėl kurių duomenų bazių valdymas yra lengvas

Duomenų bazės yra paprasčiausias būdas sukurti veiksmingą duomenų bazę

Kaip jau žinote, duomenų bazės naudoja lenteles, kad tvarkytų informaciją. (Jei neturite pagrindinio žinios apie duomenų bazės koncepcijas, skaitykite Kas yra duomenų bazė? ) Kiekviena lentelė susideda iš eilučių, kurių kiekviena atitinka vieną duomenų bazės įrašą. Taigi, kaip duomenų bazės saugo visus šiuos įrašus tiesiai? Tai yra klavišų naudojimas.

Pagrindiniai mygtukai

Pirmasis rakto tipas, kurį mes diskutuosime, yra pagrindinis raktas . Kiekviena duomenų bazės lentelė turi turėti vieną ar kelis stulpelius, nurodytus kaip pirminis raktas . Vertė, kurią turi šis raktas, turėtų būti unikali kiekvienam duomenų bazės įrašui.

Pavyzdžiui, darome prielaidą, kad turime lentelę "Darbuotojai", kurioje yra darbuotojų informacija apie kiekvieną mūsų įmonės darbuotoją. Mums reikia pasirinkti tinkamą pirminį raktą, kuris vienareikšmiškai identifikuotų kiekvieną darbuotoją. Pirmoji jūsų mintis gali būti darbuotojo vardo naudojimas. Tai nepadės labai gerai, nes įmanoma įsidarbinti su dviem vienodo pavadinimo darbuotojams. Geresnis pasirinkimas - naudoti unikalų darbuotojo ID, kurį priskirsite kiekvienam darbuotojui, kai jis bus pasamdytas. Kai kurios organizacijos nusprendžia naudoti šią užduotį socialinės apsaugos numeriais (arba panašiais vyriausybės identifikatoriais), nes kiekvienas darbuotojas jau turi vieną ir yra garantuotas unikalumas. Tačiau socialinio draudimo numerių naudojimas šiam tikslui yra labai prieštaringas dėl privatumo problemų. (Jei dirbate vyriausybės organizacijoje, socialinio draudimo numerio naudojimas netgi gali būti neteisėtas pagal 1974 m. Privatumo įstatymą.) Dėl šios priežasties dauguma organizacijų perkėlė į unikalių identifikatorių (darbuotojo ID, studento ID ir kt.) Naudojimą .), kurie nesidalija šiais privatumo klausimais.

Kai pasirinksite pirminį raktą ir sukursite duomenų bazę, duomenų bazės valdymo sistema užtikrins rakto unikalumą.

Jei bandysite į lentelę įrašyti įrašą su pirminiu mygtuku, kuris dubliuoja esamą įrašą, įterpimas nepavyks.

Daugelis duomenų bazių taip pat gali kurti savo pirminius raktus. Pavyzdžiui, "Microsoft Access" gali būti sukonfigūruotas naudoti duomenų tipą "AutoNumber", kad kiekvienam lentelės įrašui priskirtų unikalų ID. Nepaisant to, kad tai yra veiksminga, tai bloga dizaino praktika, nes kiekvienoje lentelėje įrašo vertė paliekama beprasmiška. Kodėl gi ne naudoti šią erdvę, kad būtų galima laikyti kažką naudingo?

Užsienio raktai

Kitas tipas yra užsienio raktas , naudojamas santykių tarp lentelių kūrimui. Daugumoje duomenų bazių struktūrų egzistuoja natūralūs santykiai. Grįžtant prie mūsų darbuotojų duomenų bazės, įsivaizduokite, kad norėjome prie duomenų bazės pridėti lentelę, kurioje yra departamentų informacijos. Ši nauja lentelė gali būti vadinama departamentais ir joje būtų pateikta daug informacijos apie visą departamentą. Mes taip pat norime įtraukti informaciją apie departamento darbuotojus, tačiau būtų nereikalinga ta pati informacija dviem lenteles (Darbuotojai ir departamentai). Vietoj to mes galime sukurti santykius tarp dviejų lentelių.

Daroma prielaida, kad Departamentų stalas naudoja stulpelį Departamento pavadinimas kaip pirminį raktą. Norėdami sukurti santykį tarp dviejų lentelių, pridedame naują stulpelį "Darbuotojų lentelė", pavadintą "Departamentas". Tada užpildome skyriaus, į kurį priklauso kiekvienas darbuotojas, pavadinimą. Mes taip pat informuojame duomenų bazių valdymo sistemą , kad departamento stulpelis lentelėje "Darbuotojai" yra užsienio raktas, kuris nurodo departamentų lentelę.

Tada duomenų bazė užtikrins referencinį vientisumą užtikrinant, kad visos lentelės "Darbuotojų" stulpelyje departamentų vertės turi atitinkamus įrašus departamentų lentelėje.

Atkreipkite dėmesį, kad nėra unikalumo su užsienio raktu. Galime (ir greičiausiai tai padaryti) turėti daugiau nei vieno darbuotojo, kuris priklauso vienam skyriui. Panašiai nereikalaujama, kad įrašas departamentų lentelėje būtų atitinkamas įrašas lentelėje "Darbuotojai". Gali būti, kad mes turime skyrių be darbuotojų.

Daugiau informacijos apie šią temą skaitykite Užsienio raktų kūrimas .