Pamata atslēgas, kas ļauj viegli pārvaldīt datu bāzu pārvaldību

Datu bāzes atslēgas ir vieglākais veids, kā izveidot efektīvu relāciju datu bāzi

Kā jūs jau zināt, datubāzes izmanto informācijas tabulas, lai kārtotu informāciju. (Ja jums nav pamatzināšanas par datubāzes koncepcijām, izlasiet Kas ir datu bāze? ) Katra tabula sastāv no vairākām rindām, no kurām katra atbilst vienai datu bāzes ierakstiem. Tātad, kā datu bāzes vienmēr uztur visus šos ierakstus? Tas ir, izmantojot taustiņus.

Primārie atslēgas

Pirmais atslēgas veids, ko mēs apspriedīsim, ir primārā atslēga . Katrai datu bāzes tabulai jābūt vienai vai vairākām kolonnām, kas tiek norādītas kā galvenā atslēga . Vērtībai, kas ir šī atslēga, ir jābūt unikālai attiecībā uz katru ierakstu datu bāzē.

Piemēram, pieņemsim, ka mums ir tabula "Darbinieki", kurā ir iekļauta personāla informācija par katru mūsu uzņēmuma darbinieku. Mums vajadzētu izvēlēties atbilstošu primāro atslēgu, kas varētu viennozīmīgi identificēt katru darbinieku. Jūsu pirmā doma varētu būt izmantot darbinieka vārdu. Tas nedarīsies ļoti labi, jo ir iedomājams, ka jūs vēlaties nolīgt divus darbiniekus ar tādu pašu nosaukumu. Labāka izvēle varētu būt tāda unikāla darbinieka identifikācijas numura izmantošana, kuru jūs piešķirat ikvienam darbiniekam, kad tas tiek pieņemts darbā. Dažas organizācijas izvēlas šo uzdevumu izmantot sociālā nodrošinājuma numurus (vai līdzīgus valdības identifikatorus), jo katram darbiniekam jau ir viens, un viņiem ir jābūt unikālam. Tomēr sociālā nodrošinājuma numuru izmantošana šim nolūkam ir ļoti pretrunīga privātuma problēmu dēļ. (Ja jūs strādājat valdības organizācijā, sociālā nodrošinājuma numurs var būt nelikumīgs saskaņā ar 1974. gada likumu par privātās dzīves aizsardzību.) Šī iemesla dēļ lielākā daļa organizāciju ir pārvietojušās uz unikālu identifikatoru izmantošanu (darbinieku ID, studentu ID uc) .), kuri nepilda šos konfidencialitātes apsvērumus.

Kad esat izvēlējies primāro atslēgu un izveidojat datubāzi, datu bāzes pārvaldības sistēma nodrošinās atslēgas unikalitāti.

Ja mēģināt ievietot ierakstu tabulā ar primāro atslēgu, kas dublē esošu ierakstu, ievietošana neizdosies.

Lielākā daļa datu bāzu arī spēj ģenerēt savas primārās atslēgas. Piemēram, Microsoft Access var konfigurēt, lai izmantotu datu veida AutoNumber, lai piešķirtu unikālu ID katram tabulas ierakstam. Lai gan efektīva, tā ir slikta dizaina prakse, jo tā atstāj jūs bezvērtīgas vērtības katrā tabulā esošajā ierakstā. Kāpēc neizmantot šo vietu, lai saglabātu kaut ko noderīgu?

Ārvalstu atslēgas

Cits veids ir ārējā atslēga , kuru izmanto, lai izveidotu attiecības starp tabulām. Dabas attiecības pastāv starp tabulām lielākajā daļā datu bāzu struktūru. Atgriežoties pie mūsu darbinieku datu bāzes, iedomājieties, ka mēs vēlējāmies pievienot datubāzē tabulu, kurā ir departamentu informācija. Šo jauno tabulu varētu saukt par departamentiem, un tajā būtu daudz informācijas par departamentu kopumā. Mēs arī vēlamies iekļaut informāciju par departamenta darbiniekiem, taču tas būtu lieks, ja vienai informācijai būtu divas tabulas (darbinieki un departamenti). Tā vietā mēs varam izveidot attiecības starp divām tabulām.

Pieņemsim, ka departamentu tabula kā primāro atslēgu izmanto kolonnas nosaukuma nosaukumu. Lai izveidotu attiecības starp divām tabulām, mēs pievienojam jaunu kolonnu tabulai Darbinieki, ko sauc par departamentu. Pēc tam mēs aizpildām departamenta nosaukumu, pie kura pieder katrs darbinieks. Mēs arī informē datu bāzu pārvaldības sistēmu, ka departamenta sleja Darbinieku tabulā ir ārējā atslēga, kas atsaucas uz nodaļu tabulu.

Datu bāzē tiks ieviesta atsauces integritāte , nodrošinot, ka visām tabulā Darbinieku tabulas nodaļās esošajām vērtībām ir atbilstošie ieraksti departamentu tabulā.

Ievērojiet, ka ārvalstu atslēgai nav vienreizējas saiknes . Mēs varam (un visdrīzāk izdarīsim) vairāk nekā vienu darbinieku, kas pieder vienai nodaļai. Tāpat nav prasība, lai ieraksts nodaļu tabulā būtu atbilstošs ieraksts tabulā Darbinieki. Iespējams, ka mums būtu departaments bez darbiniekiem.

Lai uzzinātu vairāk par šo tēmu, izlasiet sadaļu Ārējo atslēgu izveide .