Bazaj Ŝlosiloj Kiu Fari Datuman Administradon Facila

Datumaj klavoj estas la plej facila maniero krei efikan rilatan datumbazon

Kiel vi jam scias, datumbazoj uzas tabulojn por organizi informojn. (Se vi ne havas bazan familiaron kun datumbazoj, legi Kio estas datumbazo? ) Ĉiu tablo konsistas el kelkaj vicoj, ĉiu el kiuj respondas al sola datumbaza rekordo. Do, kiel do datumbazoj retenas ĉiujn ĉi tiujn rektajn rekordojn? Ĝi estas per la uzo de klavoj.

Ĉefaj klavoj

La unua tipo de ŝlosilo, kiun ni diskutos, estas la ĉefa ŝlosilo . Ĉiu datumbaza tablo devas havi unu aŭ pli da kolumnoj nomumitaj kiel la ĉefa ŝlosilo . La valoro ĉi tiu ŝlosilo tenas devus esti unika por ĉiu rekordo en la datumbazo.

Ekzemple, supozu, ke ni havas tablon nomitan Oficistoj, kiuj enhavas personajn informojn por ĉiu oficisto en nia firmao. Ni devus elekti taŭgan primran ŝlosilon, kiu identigus ĉiun dungitaron. Via unua penso eble uzos la nomon de la oficisto. Ĉi tio ne funkciis tre bone ĉar ĝi estas konvena, ke vi dungus du dungitojn kun la sama nomo. Pli bona elekto povus uzi unikan dungitan numeron, kiun vi atribuas al ĉiu dungito kiam ili estas dungitaj. Iuj organizoj elektas uzi Sociajn Sekurecajn Nombrojn (aŭ similajn registarajn identigilojn) por ĉi tiu tasko ĉar ĉiu oficisto jam havas unu kaj ili garantias esti unika. Tamen, la uzo de Sociaj Sekurecaj Nombroj por ĉi tiu celo estas tre polemika pro zorgoj pri privateco. (Se vi laboras por registara organizo, la uzo de Socia Sekureca Nombro eĉ ne povas esti kontraŭleĝe sub la Privateca Leĝo de 1974.) Tial, la plej multaj organizoj ŝanĝis al la uzo de unikaj identigiloj (oficisto ID, studenta ID ktp .) Kiu ne dividas ĉi tiujn privatecajn zorgojn.

Kiam vi decidas pri primara ŝlosilo kaj starigas la datumbazon, la datumbaza sistemo devigos la unikecon de la ŝlosilo.

Se vi provas enmeti rekordon en tablon kun primara ŝlosilo, kiu duobligas ekzistantan rekordon, la enigo malsukcesos.

Plej multaj datumbazoj ankaŭ kapablas generi siajn proprajn ĉefajn ŝlosilojn. Microsoft Access, ekzemple, povas esti agordita por uzi la tipon de datumoj de AutoNumber por asigni unikan ID al ĉiu registro en la tablo. Dum efika, ĉi tio estas malbona dezajno, ĉar ĝi lasas vin sen valora valoro en ĉiu rekordo en la tablo. Kial ne uzi tiun spacon por stoki ion utila?

Eksterlandaj Ŝlosiloj

La alia tipo estas la fremda ŝlosilo , kiu estas uzata por krei interrilatojn inter tabloj. Ekzistas naturaj rilatoj inter tabuloj en plej multaj datumbazoj. Revenante al nia Oficistoj de datumbazo, imagu, ke ni volis aldoni tablon enhavanta fakajn informojn al la datumbazo. Ĉi tiu nova tablo povus esti nomata Fakoj kaj enhavus grandan kvanton da informoj pri la fako en la aro. Ni ankaŭ volas inkludi informojn pri la dungitoj en la fako, sed redundus havi la saman informon en du tabloj (Oficistoj kaj Fakoj). Anstataŭe, ni povas krei rilaton inter la du tabloj.

Ni supozas, ke la tablo de Fakoj uzas la kolumnon de la Departementa Nomo kiel la ĉefa ŝlosilo. Por krei interrilaton inter la du tabloj, ni aldonas novan kolumnon al la nomata tablo de Oficistoj de Oficistoj. Ni tiam plenigu la nomon de la fako al kiu ĉiu dungito apartenas. Ni ankaŭ informas al la datumbaza mastruma sistemo, ke la Fako-kolumno en la tablo de Oficistoj estas eksterlanda ŝlosilo, kiu referencas la tablon de la Fakoj.

La datumbazo tiam devigos referencan integrecon certigante, ke ĉiuj valoroj en la tablo de la Fakoj de la Oficistoj de la Oficistoj havas respondajn enirojn en la tablo de Fakoj.

Notu, ke ne ekzistas unikeco-limigo por fremda ŝlosilo. Ni eble (kaj plej verŝajne) havas pli ol unu oficiston, kiu apartenas al unu fako. Simile, ne necesas, ke eniro en la tablo de Fakoj havas ajnan respondan eniron en la tablo de Oficistoj. Eblas, ke ni havu fakon sen dungitoj.

Por pli pri ĉi tiu temo, legu Krei Eksterlandajn Ŝlosilojn .