Kirjeldus andmebaasi normaliseerimisele põhitõed

Artiklite tõlked Artiklite tõlked
Artikli ID: 283878 - Vaadake tooteid, millega see artikkel seostub.
Algaja: Nõuab teadmisi kasutajaliidese ühe kasutajaga arvutites.

Selle artikli Microsoft Access 2000 jaoks leiate artiklinumbriga 209534.
Microsoft Access 95 või Microsoft Access 97 versiooni see artikkel, vt 100139.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

See artikkel selgitab andmebaasi normaliseerimisele terminoloogia algajatele. Põhiteadmised seda terminit on kasulik relatsioonilise andmebaasi disain rääkides.

Märkus: Microsoft pakub ka ülekanne, mis käsitleb põhitõdesid andmebaasi normaliseerimiseks. See veebiülekanne vaatamiseks külastage järgmist Microsofti veebisaiti:
http://support.microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?fr=1

Lisateave

Kirjeldus normaliseerimine

Normaliseerimine on andmebaasi andmete korraldamine. See hõlmab tabelite loomine ning kehtestatakse vastavalt eeskirjadele, mille eesmärk on kaitsta andmeid ja teha andmebaasi paindlikumaks, kaotades koondamise ja vastuoluline sõltuvus nende tabelite vahelised seosed.

Koondatud andmeid raiskab kettamahtu ja loob hooldusprobleemid põhjustada. Kui andmed, et on olemas rohkem kui ühes kohas tuleb muuta, tuleb andmed muutunud täpselt ühtemoodi kõikides tegevuskohtades. Kliendi aadressi muutus on palju lihtsam rakendada kui andmed salvestatakse ainult tabeli Kliendid ja mitte kusagil mujal andmebaasis.

Mis on "vastuolulised sõltuvus"? Kuigi see on intuitiivne kasutajal vaadata konkreetse kliendi aadressi jaoks tabelis Kliendid, see võib ole mõtet seal otsida kutsub kliendi töötaja palgast. Töötaja palk on seotud või sõltuvad töötaja ja seega tuleks teisaldada tabeli töötajad. Vastuoluline sõltuvused saab teha andmete raske juurdepääsuga sest tee andmete leidmiseks võib olla kadunud või katki.

Seal on mõned reeglid andmebaasi normaliseerimiseks. Iga reeglit nimetatakse "tavaline vorm." Kui esimene reegel ei täheldata, andmebaas on öelnud, et "esimene normaalne kujul." Kui kolme esimest reeglit järgitakse, andmebaasi leitakse olevat "kolmas normaalvorming." Kuigi muud normaliseerimine on võimalik peetakse kolmas normaalvorming vaja enamikus rakendustes kõrgeima taseme.

Nagu ka palju formaalseid ja spetsifikatsioonid, reaalses maailmas stsenaariume ei võimalda alati täiuslik täitmise eest. Üldiselt normaliseerimine nõuab täiendavaid tabeleid ja mõned kliendid leiavad see tülikas. Kui te otsustate üks normaliseerimisele kolme esimest reeglit rikkuda, veenduge, et teie taotlus prognoosib mis tahes probleeme, mis võivad tekkida näiteks ülearuseid andmeid ja vastuoluline sõltuvused.

Järgmised kirjeldused hõlmavad näited.

Esimene normaalvorming

  • Kõrvaldada korduva rühma tabelid.
  • Looge eraldi iga seostuvate andmete kogum.
  • Iga komplekt seostuvate andmete samastuda primaarvõti.
Kasutage mitme väljad asuvad ühes tabelis sarnaste andmete talletamiseks. Näiteks jälgida laokauba, mis võib pärineda kahest võimalikust teabeallikast, lao kirje võib sisaldada välju hankija kood 1 ja hankija kood 2.

Mis juhtub, kui lisate kolmanda hankija? Välja lisamine ei ole lahendus; See nõuab programm ja tabeli muudatused ja sujuvalt kohanduda dünaamiline hankijate arv. Selle asemel, asetatakse kogu hankijaga seotud teave eraldi tabelisse kutsutud hankijate, siis seos varudes müüjad kauba numbriklahvi või Hankijad hankija koodi võti vaba laovaru.

Teine normaalvorming

  • Luua eraldi tabelid komplekti tomultiple kirjete rakenduvaid väärtusi.
  • Need tabelid on seotud välisriigi võti.
Kirjeid ei tohiks sõltuda midagi muud kui tabeli primaarvõti (ühend võti, vajaduse korral). Võtame näiteks kliendi aadressi raamatupidamissüsteemis. Aadressi on vaja tabeli Kliendid, vaid ka tabelites tellimused, laevandus, arved, Müügireskontro ja kogud. Asemel kliendi aadressi salvestamiseks eraldi kanne igaühele neist tabeleist kui hoida ühes kohas, kas tabelis Kliendid või eraldi aadressid tabelisse.

Kolmas normaalvorming

  • Kõrvaldamiseks valdkondades, mis ei sõltu võti.
Kirje väärtused, mis ei kuulu selle kirje võtme ei kuulu tabelis. Üldjuhul igal ajal rühma väljade sisu võib kohaldada rohkem kui ühe kirje tabelis kaaluma nendes valdkondades eraldi tabelisse.

Näiteks tabelis töötaja värbamine kandidaadi Ülikooli nime ja aadressi võib lisada. Kuid teil on vaja täielikku loetelu ülikoolide gruppi postitused. Kui ülikooli teave on talletatud tabelis kandidaadid, ei ole kuidagi nimekirja ülikoolidele ei ole praeguse kandidaatidega. Saate luua eraldi ülikoolide tabeli ning linkida selle kandidaatide tabeli Ülikooli koodi võti.

ERAND: Kinnitunud kolmandat normaalvormingut, kuigi see on teoreetiliselt soovitav, ei ole alati praktiline. Kui kasutate tabelit Tellijad ja soovite kõrvaldada kõik võimalikud interfield sõltuvused, peate looma eraldi tabelid linnad, Postiindeksid, müügiesindajad, kliendi klassid ja teine tegur, mis võib olla dubleeritud mitu kirjet. Teoreetiliselt normaliseerimine on väärt pursing. Siiski, paljud väikesed tabelid võib jõudlust halvendada või ületada Ava fail ja mälu võimekus.

See võib olla enam võimalik kohaldada kolmas normaalvorming ainult andmeid, mis muutub pidevalt. Kui mõned sõltuvad väljad jäävad, disain teie rakendus nõuab, et kasutaja kontrollida kõik seostuvad väljad, kui üks on muutunud.

Muud normaliseerimisele vormid

Neljas normaalne, nimetatakse ka Boyce Codd normaalne vorm (BCNF), viies normaalne vormid ja olemas, kuid on harva lugeda praktiline disain. Arvestamata nende eeskirjade tulemuseks võib olla vähem kui täiuslik andmebaasi disain, kuid ei mõjuta funktsionaalsust.

Normaliseerida näiteks tabel

Neid samme demonstreerivad normaliseerida väljamõeldud üliõpilane tabel.
  1. Unnormalized tabel:

    Ahenda see tabelLaienda see tabel
    Üliõpilane #NõunikADV-tubaClass1Class2Class3
    1022Jones412101-07143-01159-02
    4123Smith216201-01211-02214-01
  2. Esimene normaalvorming: Korduv rühmi pole

    Tablesshould on ainult kaks mõõdet. Kuna üks õpilane on mitut liiki, tuleks loetleda theseclasses eraldi tabelisse. Väljad Class1, Class2 ja Class3in, mis on eespool nimetatud dokumente on tähised kujundada hädas.

    Spreadsheetsoften Kasuta kolmas mõõde, kuid ei tohiks tabelid. Teine võimalus vaadata atthis probleem on üks-mitmele-seos, panna ühele poole ja teise poole samas tabelis. Selle asemel, luua mõne muu tabeli esimese normalform kõrvaldades korduva rühma (klassi #), nagu allpool näidatud:

    Ahenda see tabelLaienda see tabel
    Üliõpilane #NõunikADV-tubaKlassi #
    1022Jones412101-07
    1022Jones412143-01
    1022Jones412159-02
    4123Smith216201-01
    4123Smith216211-02
    4123Smith216214-01
  3. Teine normaalvorming: Kõrvaldada koondatud andmed

    MärkusVõrgukaustadega mitu klassi # väärtused iga õpilane # väärtus ülaltoodud tabelis. Klassi #is ei ole funktsionaalselt üliõpilane # (primaarvõti), nii et see relationshipis ei ole ja teine normaalvorming.

    Järgmised kaks tabelit demonstratesecond tavaline vorm:

    Õpilased:

    Ahenda see tabelLaienda see tabel
    Üliõpilane #NõunikADV-tuba
    1022Jones412
    4123Smith216


    Registreerimine:

    Ahenda see tabelLaienda see tabel
    Üliõpilane #Klassi #
    1022101-07
    1022143-01
    1022159-02
    4123201-01
    4123211-02
    4123214-01
  4. Kolmas normaalvorming: Kõrvaldada andmed ei s?ltu OnKey

    Viimase näite puhul Adv-Room (nõuniku büroo number) isfunctionally sõltub nõunik atribuut. Lahendus on liikuda thatattribute tabeli õpilaste teaduskonna laud, nagu shownbelow:

    Õpilased:

    Ahenda see tabelLaienda see tabel
    Üliõpilane #Nõunik
    1022Jones
    4123Smith


    Teaduskond:

    Ahenda see tabelLaienda see tabel
    NimiTubaOsakonnas
    Jones41242
    Smith21642

Atribuudid

Artikli ID: 283878 - Viimati läbi vaadatud: 3. august 2013 - Redaktsioon: 3.0
Kehtib järgmise lõigu kohta:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Märksõnad: 
kbinfo kbdesign kbdatabase kbhowto kbmt KB283878 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 283878

Andke tagasisidet

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com