Straipsnio ID: 283878 - Per?i?r?ti ?iame straipsnyje minimus produktus.
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.
I?pl?sti visus | Sutraukti visus

?iame puslapyje

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:
http://support.Microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?fr=1

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?:

    Sutraukti ?i? lentel?I?pl?sti ?i? 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:

    Sutraukti ?i? lentel?I?pl?sti ?i? lentel?
    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:

    Sutraukti ?i? lentel?I?pl?sti ?i? lentel?
    Student? #Patar?jasADV-kambarys
    1022Jones412
    4123Smith216


    Registracija:

    Sutraukti ?i? lentel?I?pl?sti ?i? lentel?
    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:

    Sutraukti ?i? lentel?I?pl?sti ?i? lentel?
    Student? #Patar?jas
    1022Jones
    4123Smith


    Fakultetas:

    Sutraukti ?i? lentel?I?pl?sti ?i? lentel?
    vardas, pavadinimasKambarysDepartamentas
    Jones41242
    Smith21642

Savyb?s

Straipsnio ID: 283878 - Paskutin? per?i?ra: 2013 m. rugpj??io 3 d. - Per?i?ra: 3.0
Taikoma:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Rakta?od?iai: 
kbinfo kbdesign kbdatabase kbhowto kbmt KB283878 KbMtlt
Atliktas automatinis vertimas
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

Pateikti atsiliepim?

 

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