DetailPage-MSS-KB

Knowledge Base

Artikel ID: 209534 - Laatste beoordeling: zaterdag 17 september 2011 - Wijziging: 3.0

 
Beginner: Vereist kennis van de gebruikersinterface voor één gebruiker computers.

Voor een Microsoft Access 97-versie van dit artikel Zie100139  (http://support.microsoft.com/kb/100139/EN-US/ ) .
Voor Microsoft Access 2002-versie van dit artikel, Zie283878  (http://support.microsoft.com/kb/283878/EN-US/ ) .

Op deze pagina

Samenvatting

In dit artikel wordt uitgelegd data base terminologie voor beginners. Een basis kennis van deze terminologie is handig als bespreking van het ontwerp van een relationele data base.

OPMERKING: Microsoft biedt ook een WebCast over de basis beginselen van data base normalisatie. Deze WebCast wilt bekijken, Bezoek de volgende Microsoft-website:
http://support.Microsoft.com/servicedesks/Webcasts/wc060600/wc060600.ASP?fr=1 (http://support.microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?fr=1)
Voor meer informatie Klik op het volgende artikel over dit onderwerp in een eerdere versie van Access nummer naar het artikel in de Microsoft Knowledge Base:
100139  (http://support.microsoft.com/kb/100139/ ) Data base normalization basics

Meer informatie

Wat is normalisatie?

Normalisatie is het proces van het ordenen van gegevens in een data base. Tabellen maken en instellen van relaties tussen die tabellen op basis van regels die zijn ontworpen om de gegevens te beschermen en om de de data base flexibeler door redundantie en inconsistente afhankelijkheid te elimineren.

Redundante gegevens verspilling van schijfruimte en veroorzaakt onderhouds problemen. Als de gegevens die in meer dan één plaats voorkomen moet worden gewijzigd, moeten de gegevens gewijzigd op dezelfde manier op alle locaties. Is een klant adres wijzigen veel gemakkelijker te implementeren als die gegevens alleen in de tabel klanten is opgeslagen en nergens anders in de data base.

Wat is een "inconsistente afhankelijkheid'? Hoewel het intuïtieve gebruikers zoeken in de tabel Klanten voor het adres van een bepaalde klant, kan het niet zinvol te zoeken voor het salaris van de werknemer die op de klant belt. Salaris van de werknemer is gerelateerd aan afhankelijk van de werknemer en moet dus aan de tabel Werknemers. Inconsistente afhankelijkheden moeilijk gegevens te openen, omdat het pad naar Zoek dat de gegevens mogelijk ontbreekt of is beschadigd.

Er zijn een paar regels voor data base normalisatie. Elke regel wordt genoemd een "normaal vorm'. Als de eerste regel wordt waar genomen, de data base wordt gezegd dat in 'eerste normaal vorm'. Als de eerste drie regels wordt voldaan, wordt de data base geacht te zijn in "derde normaal vorm'. Hoewel andere normalisatie niveaus mogelijk, de derde normaal vorm beschouwd als het hoogste niveau dat nodig is voor de meeste toepassingen.

Als bij veel formele regels en specificaties doen praktijk situaties niet altijd toestaan om perfect te voldoen. In het algemeen vereist normalisatie extra tabellen en sommige klanten vinden dit omslachtig. Als u een van de eerste drie regels van normalisatie, zorg ervoor dat uw toepassing anticipeert op eventuele problemen die, zoals redundante gegevens optreden kunnen en inconsistente afhankelijkheden.

De volgende beschrijvingen bevatten voorbeelden.

Eerste normaal vorm

  • Elimineer herhalende groepen in afzonderlijke tabellen.
  • Maak een afzonderlijke tabel voor elke set gerelateerde gegevens.
  • Identificeer elke set gerelateerde gegevens met een primaire sleutel.
Gebruik niet meerdere velden in één tabel voor het opslaan van vergelijkbare gegevens. Als u bijvoorbeeld voor het bij houden van een voorraadartikel dat wordt geleverd door twee mogelijke bronnen, een record voorraad kan velden bevatten voor leverancier 1 en leverancier Code 2.

Wat gebeurt er wanneer u een derde leverancier toevoegt? Een veld toevoegen niet het antwoord; het programma en tabel wijzigingen vereist en niet goed geschikt voor een dynamische aantal leveranciers. In plaats daarvan plaatst alle leveranciers informatie in een aparte tabel Leveranciers, voorraad koppelen aan leveranciers met een artikel nummer toets of leveranciers te inventariseren met een sleutel code leveranciers.

Tweede normaal vorm

  • Maak afzonderlijke tabellen voor sets met waarden die van toepassing zijn meerdere records.
  • Koppel deze tabellen met refererende sleutel.
Records mogen alleen afhankelijk iets anders dan een tabel primaire sleutel (een samengestelde sleutel indien nodig). Neem bijvoorbeeld een klant adres in een boekhoudsysteem. Het adres is vereist voor de tabel Klanten maar ook door de Orders, verzending, facturen, klanten, en Tabellen verzamelingen. In plaats van het adres van de klant op te slaan als een afzonderlijk vermelding in elk van deze tabellen opslaan in één plaats in de klanten tabel of tabel in een afzonderlijke adressen.

Derde normaal vorm

  • Elimineer velden die niet afhankelijk zijn van de sleutel.
Voer waarden in een record die geen deel uitmaken van die record sleutel horen niet in de tabel. In het algemeen, wanneer de inhoud van een groep velden Overweeg om meer dan één record in de tabel te plaatsen die mogelijk van toepassing velden in een aparte tabel.

In bijvoorbeeld een werknemer studeert tabel, universiteit van naam en adres van een kandidaat kunnen worden opgenomen. Maar u moet een volledige lijst van universiteiten voor mailing. Als informatie universiteit wordt opgeslagen in de tabel kandidaten, is geen enkele manier zonder universiteiten huidige kandidaten. Maak een afzonderlijke tabel universiteiten en koppel deze aan de Tabel met een sleutel code universiteit kandidaten.

UITZONDERING: Voldoet aan de derde normaal vorm is theorie wenselijk niet altijd praktisch. Als u een tabel Klanten hebt en u wilt elimineren alle mogelijke interfield afhankelijkheden moet u afzonderlijke tabellen voor steden, post codes, verkoop vertegenwoordigers, klanten klassen en andere factoren die mogelijk dubbel in meerdere records. In theorie is het normalisatie zinvol. Echter, veel kleine tabellen kunnen de prestaties nadelig beïnvloeden of bestand openen en geheugen capaciteiten overtreffen.

Mogelijk haalbaar derde normaal vorm alleen van toepassing op gegevens die vaak worden gewijzigd. Als er nog enkele afhankelijke velden overblijven, uw toepassing ontwerpen moet de gebruiker alle verwante velden controleren wanneer een wordt gewijzigd.

Overige normaal vormen

Vierde normaal vorm, ook wel Boyce Codd normaal vorm (BCNF) en vijfde normaal vorm bestaan, maar zelden praktisch ontwerp worden beschouwd. Waarbij deze regels kan leiden tot minder dan perfecte data base ontwerp, maar mag de functionaliteit niet beïnvloeden.

Normaliseren van een voorbeeld tabel

Deze stappen om het proces van een fictieve normaliseren tabel.
  1. Niet-genormaliseerde tabel:
    Deze tabel samenvouwenDeze tabel uitklappen
    Student #AdvisorADV ruimteClass1Vak2Class3
    1022Jones412101-07143 01159-02
    4123Smith216201-01211 02214-01
  2. Eerste normaal vorm: Geen herhalende groepen

    Tabellen moeten slechts twee dimensies hebben. Aangezien een student verschillende vakken heeft deze klassen moeten worden opgenomen in een afzonderlijke tabel. Velden Class1, Vak2 en Class3 in de bovenstaande records zijn aanwijzingen van ontwerp problemen.

    Werk bladen gebruiken vaak de derde dimensie, maar moeten niet tabellen. Een andere manier om naar te kijken Dit probleem is met een een-op-veel-relatie, plaats niet de ene kant en de veel-kant in dezelfde tabel. In plaats daarvan een andere tabel maken in de eerste normale formulier doordat de herhalende groep (vak #), zoals hieronder:
    Deze tabel samenvouwenDeze tabel uitklappen
    Student #AdvisorADV ruimteKlasse #
    1022Jones412101-07
    1022Jones412143 01
    1022Jones412159-02
    4123Smith216201-01
    4123Smith216211 02
    4123Smith216214-01
  3. Tweede normaal vorm: Elimineer redundante gegevens

    Opmerking de klasse # waarden voor elke Student # waarde in de bovenstaande tabel. Klasse # is niet functioneel afhankelijk van Student # (primaire sleutel), zodat deze relatie in de tweede normaal vorm is.

    De volgende twee tabellen demonstreren tweede normaal vorm:

    Studenten

    Deze tabel samenvouwenDeze tabel uitklappen
    Student #AdvisorADV ruimte
    1022Jones412
    4123Smith216

    Registratie

    Deze tabel samenvouwenDeze tabel uitklappen
    Student #Klasse #
    1022101-07
    1022143 01
    1022159-02
    4123201-01
    4123211 02
    4123214-01
  4. Derde normaal vorm: Elimineer gegevens niet afhankelijk is van Sleutel

    In het laatste voorbeeld is Adv-ruimte (kantoor nummer de advisor) functioneel afhankelijk van het ken merk Mentor. De oplossing is om te verplaatsen ken merk uit de tabel Studenten naar de tabel faculteit, zoals hieronder:

    Studenten

    Deze tabel samenvouwenDeze tabel uitklappen
    Student #Advisor
    1022Jones
    4123Smith

    Faculteit

    Deze tabel samenvouwenDeze tabel uitklappen
    NaamKamerAfd.
    Jones41242
    Smith21642

Referenties

Ahlo, M. Hamilton, Randy bruin en Peter Colclough.FoxPro 2: Een Developer's Guide: deskundige richtlijnen voor het programmeren van zware. John Wiley & Sons, oktober 1991. Pagina's 220-225.

Janssen, Roger.Met behulp van Access 1. 1 voor Windows. Que Corporation, juli 1993. 799-800 Pagina's.

De informatie in dit artikel is van toepassing op:
  • Microsoft Access 2000 Standard Edition
Trefwoorden: 
kbdatabase kbdesign kbinfo kbusage kbmt KB209534 KbMtnl
Machine-translated ArticleMachine-translated Article
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:209534  (http://support.microsoft.com/kb/209534/en-us/ )
Delen
Extra ondersteuningsopties
Microsoft Community Support-forums
Neem rechtstreeks contact met ons op
Een door Microsoft gecertificeerde partner zoeken
Microsoft Store