Hjem Personlig finansiering SQL Første, anden og tredje normal formularer - dummier

SQL Første, anden og tredje normal formularer - dummier

Indholdsfortegnelse:

Video: EXCEL VBA Datenbank erstellen / UserForm Grundlagen: Beispiel einer einfachen Datenbank 2024

Video: EXCEL VBA Datenbank erstellen / UserForm Grundlagen: Beispiel einer einfachen Datenbank 2024
Anonim

Der er tre kilder til ændring af anomalier i SQL Disse defineres som første, anden og tredje normale former (1NF, 2NF, 3NF). Disse normale former virker som retsmidler mod ændringer anomalier.

Første normale form

For at være i første normale form (1NF) skal en tabel have følgende egenskaber:

  • Tabellen er todimensionel med rækker og kolonner.

  • Hver række indeholder data, der vedrører nogle ting eller en del af en ting.

  • Hver kolonne indeholder data for en enkelt egenskab af den ting, den beskriver.

  • Hver celle (skæringspunkt i en række og en kolonne) i tabellen må kun have en enkelt værdi.

  • Indlæg i en hvilken som helst kolonne skal alle være af samme art. Hvis for eksempel posten i en række i en kolonne indeholder et medarbejdernavn, skal alle de andre rækker indeholde medarbejdernavne i den pågældende kolonne.

  • Hver kolonne skal have et unikt navn.

  • Ingen to rækker kan være identiske (det vil sige hver række skal være unik).

  • Ordren af ​​kolonnerne og rækkefølgen af ​​rækkerne er ikke signifikante.

En tabel (relation) i første normale form er immun for nogle slags modifikationsanomalier, men er stadig underlagt andre. SALES bordet er i første normale form, og bordet er underlagt sletning og indsættelse af anomalier. Første normale form kan vise sig nyttigt i nogle applikationer, men upålidelige i andre.

Anden normal form

For at sætte pris på anden normal form, skal du forstå ideen om funktionel afhængighed. En funktionel afhængighed er et forhold mellem eller blandt attributter. En attribut er funktionelt afhængig af en anden, hvis værdien af ​​den anden attribut bestemmer værdien af ​​den første attribut. Hvis du kender værdien af ​​den anden attribut, kan du bestemme værdien af ​​den første attribut.

Antag for eksempel at en tabel har attributter (kolonner) StandardCharge, NumberOfTests og TotalCharge, der relaterer sig til følgende ligning:

TotalCharge = StandardCharge * NumberOfTests

TotalCharge er funktionelt afhængig af både StandardCharge og NumberOfTests. Hvis du kender værdierne for StandardCharge og NumberOfTests, kan du bestemme værdien af ​​TotalCharge.

Hver tabel i første normale form skal have en unik primærnøgle. Denne nøgle kan bestå af en eller flere søjler. En nøgle bestående af mere end en kolonne kaldes en kompositnøgle. For at være i anden normal form (2NF) skal alle ikke-nøgleattributter afhænge af hele nøglen. Således er hvert forhold, der er i 1NF med en enkelt attributtnøgle, automatisk i anden normal form.

Hvis en relation har en sammensat nøgle, skal alle ikke-nøgleattributter afhænge af alle komponenter i nøglen. Hvis du har et bord, hvor nogle ikke-nøgleattributter ikke afhænger af alle komponenter i nøglen, skal du bryde bordet op i to eller flere tabeller, således at alle ikke-nøgleattributter i hver nye tabel afhænger af alle komponenter af den primære nøgle.

Lyd forvirrende? Se på et eksempel for at afklare sager. Overvej SALES tabellen. I stedet for kun at optage et enkelt køb for hver kunde tilføjer du en række hver gang en kunde køber en vare for første gang. En yderligere forskel er, at charterkunder (dem med Customer_ID værdier på 1001 til 1007) får rabat på den normale pris.

Customer_ID identificerer ikke en række entydigt. I to rækker er Customer_ID 1001. I to andre rækker er Customer_ID 1010. Kombinationen af ​​kolonnen Customer_ID og Produkt kolonnen identificerer en række. Disse to kolonner sammen er en sammensat nøgle.

Hvis ikke for det faktum, at nogle kunder kvalificerer sig til rabat, og andre ikke gør det, vil tabellen ikke være i anden normal form, fordi Price (en ikke-nøgleattribut) kun vil afhænge af en del af nøglen (Produkt). Fordi nogle kunder kvalificerer sig til en rabat, afhænger prisen af ​​både CustomerID og Product, og tabellen er i anden normal form.

Tredje normale form

Tabeller i anden normal form er særligt sårbare overfor nogle typer modifikationsanomalier - især dem der kommer fra transitive afhængigheder.

A Transitiv afhængighed opstår, når en attribut afhænger af en anden attribut, der afhænger af en tredje attribut. Sletninger i en tabel med en sådan afhængighed kan medføre uønsket tab af information. Et forhold i tredje normale form er et forhold i anden normal form uden transitiv afhængighed.

Se igen på SALES bordet, som du ved er i første normale form. Så længe du begrænser indtastninger til kun at tillade én række for hver Customer_ID, har du en primærnøgle med en egenskab, og tabellen er i anden normal form. Bordet er dog stadig udsat for uregelmæssigheder. Hvad hvis kunde 1010 ikke er tilfreds med klorblegemiddelet og returnerer genstanden til refusion?

Du vil fjerne den tredje række fra bordet, som registrerer det faktum, at kunde 1010 købte chlorblegemiddel. Du har et problem: Hvis du fjerner denne række, mister du også det faktum, at chlorblegemiddel har en pris på $ 4. Denne situation er et eksempel på en transitiv afhængighed. Prisen afhænger af produktet, som igen afhænger af primærnøglen Customer_ID.

Løsning af SALES-tabellen i to tabeller løser det transitive afhængighedsproblem. De to tabeller udgør en database, der er i tredje normale form.

SQL Første, anden og tredje normal formularer - dummier

Valg af editor

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld fotoredigeringsfunktion tilbyder bundter af værktøjer, som du kan bruge at redigere dine billeder, fra korrektionsværktøjer til fastsættelse af farve og klarhed til filtre, lag og meget mere for at ændre eksisterende fotos eller skabe helt originale billeder fra bunden. Men alle disse værktøjer gør også Komplet fotoredigeringstilstand kompleks. Du kan flytte ind i ...

Generelle blandingsformer i Photoshop Elements - dummies

Generelle blandingsformer i Photoshop Elements - dummies

Elementer spænder over 25 blandingstilstande. Blend modes påvirker hvordan farver interagerer mellem lag og også hvordan farver interagerer, når du anvender maling på et lag. Ikke alene gør blandingstilstande interessante effekter, men du kan også nemt anvende, redigere eller fjerne blandingsfunktioner uden at røre dine billedpixel. De forskellige blandingstilstande ...

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriindstillinger hjælpe med at definere, hvordan dine figurer ser ud. Klik på nedpegepilen i værktøjsindstillingerne i Elements for at få adgang til de geometriske indstillinger, der beskrives i det følgende. Rektangulære og afrundede rektangel geometriske indstillinger Her er geometriske indstillinger for rektangel og afrundede rektangelformer: Ubegrænset: Giver dig mulighed for at få fri tøj til at tegne en ...

Valg af editor

Sådan bygger du tabeller i HTML5 - dummies

Sådan bygger du tabeller i HTML5 - dummies

Sommetider indeholder din webside data bedst fremlagt i et bord . Du kan bruge HTML5's komplette bordsystem til at oprette tabeller som den i dette eksempel: Den grundlæggende struktur i et bord i HTML-format er rimeligt let at forstå; Tjek koden, der oprettede tabellen i eksemplet:

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Der er situationer, hvor man kun vil en enkelt kopi af et baggrundsbillede på dit CSS3-websted. Det kan være, at billedet du har brugt er noget, der ikke gentager sig godt eller er stort nok til, at du virkelig ikke vil have det gentaget. Følgende procedure viser en teknik, du kan bruge til at fortælle ...

Hvordan man opbygger en webside skabelon fra scratch-dummies

Hvordan man opbygger en webside skabelon fra scratch-dummies

Standardværktøjet på tværs af digitalt agenturer og interne afdelinger til opbygning af website grafik er Adobe Photoshop. Selvom fyrværkeri er optimeret og målrettet til at producere web-grafiske kildefiler, er det bare ikke fanget, sandsynligvis på grund af den massive genoplæringsindsats ville det medføre, at hele afdelinger gør omskifteren. At oprette et nyt ...

Valg af editor

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Som flere og flere mennesker finder ud af din ny LinkedIn-gruppe, og som medlemmer begynder at deltage, kan du opleve, at nogle af de personer, der har klikket på linket for at deltage, ikke er på din forhåndsgodkendte liste. Måske er de mennesker, du ikke har forstået var på LinkedIn, eller du var ikke klar over, at de var gyldige grupper ...

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Ud over et profilbillede giver LinkedIn brugere mulighed for at forbedre de visuelle sociale markedsføringselementer i deres profiler ved at tilføje billeder til deres profilprofil. Du kan tilføje billeder til ethvert afsnit i din LinkedIn-profil. Tilføjelse af billeder til din profil kan hjælpe dig med at fortælle din historie visuelt og ...

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

, Når du har opfyldt kravene til oprettelse en virksomhedsside på LinkedIn, er det tid til at komme i gang ved at tilføje selskabets side til Linkedins system. For at oprette din virksomhedsside skal du blot følge disse trin: