Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 2184|Svar: 0

[Kommunikation] Relationell databasdesign: en populär förståelse av de tre paradigmen

[Kopiera länk]
Publicerad på 2024-03-21 10:53:13 | | | |
Under intervjun frågar vissa intervjuare om databasparadigmet, jag har studerat databaser på universitetet tidigare, men jag har inte hört talas om paradigmet, eller så har läraren nämnt det, och jag har inte varit uppmärksam?

Det finns för närvarande sex paradigm i relationella databaser: det första paradigmet (1NF), det andra paradigmet (2NF), det tredje paradigmet (3NF), Bass-Cod-paradigmet (BCNF), det fjärde paradigmet (4NF) och det femte paradigmet (5NF, även känt som det perfekta paradigmet).

Vanligtvis använder vi det första paradigmet (1NF), det andra paradigmet (2NF) och det tredje paradigmet (3NF), vilket är de "tre paradigm" som diskuteras i denna artikel.

Första paradigmet (1NF): Kräver att varje kolumn i databastabellen är ett odelbart atomärt dataobjekt.

Illustrera:



I tabellen ovan uppfyller varken kolumnerna "Family Information" eller "School Information" atomicitetskraven, så de uppfyller inte det första paradigmet och justeras enligt följande:



Det kan ses att varje justerad kolumn är odelbar, så den uppfyller det första paradigmet (1NF);

Paradigm 2 (2NF): Baserat på 1NF måste icke-kodattribut vara helt beroende av kandidatkoder (eliminera partiellt funktionsberoende av icke-primära attribut på huvudkod på 1NF-basis)

Det andra paradigmet måste säkerställa att varje kolumn i databastabellen är relaterad till primärnyckeln, inte bara en del av primärnyckeln (främst för federerade primärnycklar).

Illustrera:



I fallet som visas i diagrammet ovan kan samma ordning innehålla olika produkter, så primärnyckeln måste vara en kombination av "ordernummer" och "produktnummer".

Det kan dock visa sig att produktkvantitet, produktrabatt och produktpris alla är relaterade till "ordernumret" och "produktnumret", men orderbeloppet och ordertiden är endast relaterade till "ordernumret" och har inget att göra med "produktnumret".

Detta uppfyller inte kraven för det andra paradigmet och justeras enligt följande, som måste delas in i två tabeller:



Tredje paradigmet (3NF): Baserat på 2NF beror ingen icke-huvudattribut på andra icke-huvudattribut (vilket eliminerar transmissionsberoenden på basis av 2NF)

Det tredje paradigmet måste säkerställa att varje kolumn med data i datatabellen är direkt relaterad till primärnyckeln, inte indirekt.

Illustrera:



I tabellen ovan är alla attribut helt beroende av elevnumret, så det andra paradigmet uppfylls, men "klasslärarens kön" och "klassens lärares ålder" beror direkt på "klasslärarens namn".

Istället för huvudnyckeln "studentnummer" behöver följande justeringar göras:



På detta sätt uppfylls kraven i det tredje paradigmet.

ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。

BCNF (Bovce Codd Normalform Bacchus Paradigm)

Det tredje paradigmet för korrigering är att förhindra att en kolumn i primärnyckeln beror på andra kolumner i primärnyckeln. När 3NF eliminerar vissa funktionsberoenden och överför funktionsberoenden på huvudattributkoden kallas det BCNF.

Kännetecken:

1. Alla huvudattribut är helt funktionella beroenden av varje kod

2. Alla huvudattribut är helt funktionsberoende av varje kod som inte innehåller den

3. Det finns inga attribut som är fullt funktionella och beroende av någon uppsättning icke-kodrelaterade egenskaper

Till exempel i lagertabellen (lagernamn, administratörsnamn, produktnamn, kvantitet) är primärnyckeln (lagernamn, administratörsnamn, produktnamn), vilket uppfyller de tre tidigare paradigmen, men det finns ett beroende mellan lagernamnet och administratörsnamnet, så att ta bort ett lager kommer att leda till att administratören tas bort, så BCNF är inte uppfylld.

4NF:s fjärde paradigm

Icke-primära attribut bör inte ha flera värden. Om det finns ett multivärde bryter det mot det fjärde paradigmet. 4NF är ett restriktionsrelationellt mönster som inte tillåter icke-triviala och icke-funktionsberoende flervärdiga beroenden mellan egenskaper.

Till exempel, tabellen för användarkontaktinformation (användar-ID, fast telefon, mobiltelefon), där användar-ID:t är primärnyckeln som uppfyller BCNF, men en användare kan ha flera fasta eller flera mobiltelefoner, då är denna design orimlig och bör ändras till (användar-ID, kontakttyp, telefonnummer).

Notera: Om endast funktionsberoenden beaktas, är paradigmet med högst grad av normalisering av relationella mönster BCNF. Om man betraktar multivärdesberoenden är det 4NF.

5NF Femte paradigmet

Det femte paradigmet är det sista paradigmet, vilket eliminerar anslutningsberoendet i 4NF, och det femte paradigmet måste uppfylla följande krav:

1. Det fjärde paradigmet måste uppfyllas

2. Tabeller måste kunna delas upp i mindre tabeller, om inte dessa tabeller logiskt har samma primära nyckel som den ursprungliga tabellen.

I allmänna praktiska tillämpningar behöver det femte paradigmet inte beaktas.

Överförd från:Inloggningen med hyperlänken är synlig.
Hänvisning:Inloggningen med hyperlänken är synlig.





Föregående:Alibaba Cloud ersätter det privata nätverket (virtuell switch) och nätverket är otillgängligt
Nästa:Starta Guardian ASP.NET Core-appen med PM2
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com