Šiuo metu esate neprisijungę, laukiama, kol iš naujo prisijungsite prie interneto

Aprašymas, duomenų bazės norminimo pagrindai

Nutrauktas „Office 2003“ palaikymas

Nuo 2014 m. balandžio 8 d. „Microsoft“ nutraukė „Office 2003“ palaikymą. Tai paveikė programinės įrangos naujinimus ir saugą. Sužinokite, ką tai reiškia jums ir kaip užtikrinti kompiuterio saugą.

SVARBU: šis straipsnis išverstas naudojant „Microsoft“ mašininio vertimo programinę įrangą ir gali būti pataisytas naudojant „Community Translation Framework“ (CTF) technologiją. „Microsoft“ siūlo mašinos išverstus ir po to bendruomenės suredaguotus straipsnius, taip pat žmogaus išverstus straipsnius siekdama suteikti prieigą prie visų savo žinių bazės straipsnių daugeliu kalbų. Mašinos išverstuose ir vėliau paredaguotuose straipsniuose gali būti žodyno, sintaksės ir / arba gramatikos klaidų. „Microsoft“ neatsako už jokius netikslumus, klaidas arba žalą, patirtą dėl neteisingo turinio vertimo arba mūsų klientų naudojimosi juo. Daugiau apie CTF žr. http://support.microsoft.com/gp/machine-translation-corrections.

Spustelėkite čia, norėdami pamatyti šio straipsnio versiją anglų kalba: 283878
Naujokas: Reikia žinių apie vartotojo sąsajos vieno vartotojo kompiuteriuose.

Šio straipsnio versijos Microsoft Access 2000, žr. 209534.
Microsoft Access 95 ar Microsoft Access 97 versija šio straipsnio, žr. 100139.
Santrauka
Šiame straipsnyje paaiškinama duomenų bazės normalizavimu terminologija pradedantiesiems. Bazinį supratimą apie Ši terminologija yra naudinga, kai aptarti Reliacinė duomenų bazė dizainas.

Pastaba: "Microsoft" taip pat siūlo Success, kad aptariama duomenų bazės normalizavimu pagrindai. Norėdami peržiūrėti šią transliaciją, apsilankykite šioje Microsoft svetainėje:
Daugiau informacijos

Aprašymas iš normalizavimo

Normalizavimas yra procesą organizuojant duomenis duomenų bazėje. Tai apima lentelių kūrimas ir nustatant santykius tarp šių taisyklių, nustatytų siekiant apsaugoti duomenis ir padaryti lankstesnę panaikinant atleidimo iš darbo ir nenuosekli priklausomybės duomenų bazės lenteles.

Nereikalingų duomenų eikvojama disko talpa ir sukuria priežiūros problemas. Jei reikia pakeisti duomenis, kurie yra daugiau nei vienoje vietoje, duomenys turi būti pakeistas, taip pat visuose padaliniuose. Kliento adreso pakeitimas yra daug lengviau įgyvendinti, jei duomenys yra saugomi tik lentelės Klientai ir niekur kitur duomenų bazėje.

Kas yra "nesuderinamas priklausomybė"? Nors tai intuityvus vartotojui atrodo tam tikram vartotojui adresas lentelėje Klientai, jis gali prasmės ten ieškoti darbo užmokesčio, darbuotojas, kuris reikalauja, kad klientas. Darbuotojo atlyginimas yra susijęs su, ar priklauso darbuotojui ir todėl turėtų būti perkeltas į lentele darbuotojai. Nesuderinamas priklausomybių gali padaryti duomenų sunku naudotis nes kelias rasti duomenys gali būti trūksta arba atsilaiko.

Yra kelios taisyklės, duomenų bazės normalizavimu. Kiekviena taisyklė yra vadinamas "įprasta forma." Jei pirmoji taisyklė yra pastebėtas, duomenų bazės sako, kad "pirmoji normalioji forma." Pastebėjus pirmuosius tris taisykles, duomenų bazėje laikomas "trečioji įprasta forma." Nors kitų lygių normalizavimas yra įmanoma, trečioji įprasta forma yra laikoma būtina daugumai programų aukščiausiu lygiu.

Kaip su daug oficialių taisyklių ir specifikacijų, realaus pasaulio scenarijus visada neleidžia puikus atitikties. Apskritai, normalizavimo reikalauja papildomos lentelės ir kai kurie klientai rasti tai sudėtinga. Jei nuspręsite pažeidžia vieną iš pirmų trijų taisyklių iš normalizavimo, įsitikinkite, kad jūsų paraiška tikisi visas problemas, kurios gali atsirasti, pavyzdžiui, nereikalingų duomenų ir nenuosekli priklausomybes.

Šie aprašai apima pavyzdžiai.

Pirmoji įprasta forma

  • Pašalinti pasikartojančius grupių atskirų lentelių.
  • Sukurti atskiras lenteles kiekvienas susijusių duomenų rinkinys.
  • Nustatyti kiekvieno rinkinio susijusių duomenų pirminis raktas.
Saugoti panašių duomenų negalima naudoti kelis laukus į vieną lentelę. Pavyzdžiui, sekti atsargų prekės kad gali ateiti iš dviejų galimų šaltinių, atsargų įrašo gali būti laukai tiekėjo kodas 1 ir tiekėjo kodas 2.

Kas atsitinka, kai pridedate trečiųjų tiekėjas? Įtraukdami lauką nėra atsakymas; jis reikalauja programa ir lentelės pakeitimus ir ne sklandžiai prisitaikyti dinaminis nemažai tiekėjų. Vietoj to, Sudėkite visa tiekėjo informacija atskirose lentelėse vadinamas pardavėjai, tada nuorodą atsargų tiekėjai, yra prekės numerio raktas, arba tiekėjams atsargų su tiekėjo kodo raktą.

Antroji įprasta forma

  • Sukurti atskiras lenteles rinkinių vertes, kurios taikomos tomultiple įrašus.
  • Susiję šias lenteles su išorinį raktą.
Įrašus neturėtų priklausyti ne lentelės pirminį raktą (sudėtinio rakto, jei reikia). Pavyzdžiui, Įsivaizduokite kliento adresą į apskaitos sistemą. Adresas reikia iš lentelės Klientai, bet ir pagal užsakymus, pristatymas, SF, Accounts Receivable ir kolekcijų stalus. Užuot saugoję pirkėjo adreso kaip atskirą įrašą kiekvienoje iš šių lentelių, laikyti jį vienoje vietoje, arba lentelės Klientai arba atskiras adresų lentelėje.

Trečioji įprasta forma

  • Pašalinti laukus, kurie nepriklauso raktas.
Įrašo reikšmės, nepriklausančiose įrašo rakto nepriklauso lentelėje. Apskritai, bet kuriuo metu grupės laukų turinys gali kreiptis į daugiau nei vieną įrašą lentelėje, apsvarstyti pateikti šiuos laukus į atskirą lentelę.

Pvz., lentelėje darbuotojo įdarbinimo, kandidato universiteto vardas ir adresas gali būti pateikiama. Bet reikia pilną universitetų sąrašą grupės laiškus. Jei universitetas informacija yra saugoma lentelėje kandidatų, nėra jokios į dabartinę kandidatų universitetų sąrašą. Sukurti atskirų universitetų lentelę ir susieti jį su kandidatų lentelę su universiteto kodo raktą.

IŠIMTIS: Prilipęs prie trečiąją įprastą formą, nors teoriškai pageidautina, yra nepraktiška. Jei turite lentelės Klientai ir norite pašalinti visas galimas interfield priklausomybes, turite sukurti atskiras lenteles miestai, pašto kodai, prekybos atstovai, klientų grupėms, ir jokių kitų veiksnių, kurie gali būti dubliuojamas kelis įrašus. Teoriškai, normalizavimo verta pursing. Tačiau, daug mažų lenteles gali sulėtėtų veikimas arba viršyti atidaryti failą ir talpa.

Ji gali būti daugiau įmanoma taikyti trečioji įprasta forma tik duomenis, kurie dažnai keičiama. Jei kai kurie priklausomų laukų lieka, projektavimas jūsų prašymą naudotojas turi patikrinti, ar visi susiję laukai kai kas nors yra pakeista.

Kitokia normalizavimas

Ketvirtoji įprasta forma, taip pat vadinamas Boyce Codd normalus forma (BCNF), ir baigiant penktąja įprasta forma egzistuoja, tačiau retai atsižvelgiama į praktinių dizaino. Neatsižvelgiant į šias taisykles galima taikyti mažiau nei tobula dizaine, bet neturėtų daryti įtakos funkcionalumą.

Normalizuoja lentelė yra pavyzdys

Šiuos veiksmus įrodyti procesą, normalizuoti išgalvoti studentų lentelę.
  1. Unnormalized lentelė:

    Studentų #PatarėjasADV-kambarysClass1Class2Class3 klasėje
    1022Jones412101-07143-01159-02
    4123Smith216201-01211-02214-01
  2. Pirmoji įprasta forma: Nėra pasikartojančių grupių

    Tablesshould turi tik dvi dimensijas. Kadangi vienas studentas turi keletą klasių, theseclasses turėtų būti išvardyti atskira lentelė. Laukai Class1, Class2 ir Class3in minėtuose apskaitos yra nuorodos dizainas problemų.

    Spreadsheetsoften naudoti trečiąją dimensiją, bet lentelių neturėtų būti. Kitas būdas ieškoti regėjimo aštrumą problema yra su vienas su daugeliu, nedėkite į vieną pusę ir daug pusėje tos pačios lentelės. Vietoj to, sukurti kitą lentele pirmą normalform panaikinant pasikartojančią grupę (klasę #), kaip parodyta žemiau:

    Studentų #PatarėjasADV-kambarysKlasės #
    1022Jones412101-07
    1022Jones412143-01
    1022Jones412159-02
    4123Smith216201-01
    4123Smith216211-02
    4123Smith216214-01
  3. Antroji įprasta forma: Pašalinti nereikalingas duomenų

    PastabaPirmą kelios klasės # reikšmės kiekvienas studentas # vertės pirmiau esančioje lentelėje. Klasės #is funkciškai studentų # (pirminis raktas), Taigi šis relationshipis be antroji įprasta forma.

    Šių dviejų lentelių demonstratesecond įprasta forma:

    Studentai:

    Studentų #PatarėjasADV-kambarys
    1022Jones412
    4123Smith216


    Registracija:

    Studentų #Klasės #
    1022101-07
    1022143-01
    1022159-02
    4123201-01
    4123211-02
    4123214-01
  4. Trečioji įprasta forma: Panaikinti duomenis nuo OnKey

    Paskutiniame pavyzdyje, Adv-kambarys (konsultantų biuro numeris) isfunctionally priklauso patarėjas atributas. Tirpalas yra perkelti thatattribute lentelę studentai fakulteto lentelę, kaip shownbelow:

    Studentai:

    Studentų #Patarėjas
    1022Jones
    4123Smith


    Fakultetas:

    vardas, pavadinimasKambarysDepartamentas
    Jones41242
    Smith21642
BCNF Reliacinis normalus modelis normalizuoti ACC2002 ACC2003

Įspėjimas: šis straipsnis išverstas automatiškai

Savybės

Straipsnio ID: 283878 – Paskutinė peržiūra: 08/03/2013 08:20:00 – Peržiūra: 3.0

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbinfo kbdesign kbdatabase kbhowto kbmt KB283878 KbMtlt
Atsiliepimai
onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">