Unormalisert form

Fra Wikipedia, den frie encyklopedi

Unormalisert form (UNF eller 0NF) en database-datamodell (organisering av data i en database) som ikke tilfredsstiller noen av betingelsene til normalisering definert i relasjonsmodellen. Databasesystemer som støtter unormaliserte data kalles noen ganger "ikke-relasjonelle" eller NoSQL-databaser. I relasjonsmodellen kan unormaliserte relasjoner betraktes som utgangspunktet for en normaliseringsprosess.

"Unormalisert form" må ikke forveksles med denormalisering, hvor normalisering bevisst kompromitteres for utvalgte tabeller i en relasjonsdatabase.

Historie[rediger | rediger kilde]

I 1970 foreslo Edgar Frank Codd relasjonsmodellen som siden har blitt allment akseptert som standarden for datamodeller.[1] På den tiden var automatisering av kontorarbeid hovedbruken av datalagring, hvilket resulterte i at det ble foreslått mange UNF-datamodeller som Schek-modellen, Jaeschke-modellene (ikke-rekursiv og rekursiv algebra) og nøstet tabelldata-modellen (NTD).[2]

I 1987 i Darmstadt, Tyskland arrangerte IBM den første internasjonale plansmien eksklusivt om dette emnet.[2]

Det har skjedd mye forskning og publisering i tidsskrifter for å ta tak i manglene ved relasjonsmodellen. Siden årtusenskiftet har NoSQL-databaser blitt populære på grunn av kravene til Web 2.0 .

Relasjonell form[rediger | rediger kilde]

Normalisering til første normalform krever at de initielle dataene blir sett på som relasjoner.[3] I databasesystemer representeres relasjoner som tabeller. Relasjonsvisningen medfører noen begrensninger på tabellene:

  • Ingen dupliserte rader: I praksis sikres dette ved å definere en eller flere kolonner som primærnøkler.
  • Rader har ikke en iboende rekkefølge. Selv om tabeller må lagres og presenteres i en eller annen rekkefølge er dette ustabilt og implementeringsavhengig. Hvis en spesifikk rekkefølge behøver å presenteres må den være i form av data, for eksempel i form av en nummerkolonne.
  • Kolonner har unike navn innenfor samme tabell.
  • Hver kolonne har et domene (eller en datatype) som definerer de tillatte verdiene i kolonnen.
  • Alle rader i en tabell har samme mengde kolonner.

Denne definisjonen utelukker ikke at kolonner har mengder eller relasjoner som verdier, for eksempel nøstede tabeller. Dette er den største forskjellen til første normalform.

NoSQL-databaser som dokumentorienterte databaser samsvarer vanligvis ikke med relasjonsvisningen. For eksempel kan en JSON- eller XML-database støtte dupliserte oppføringer og iboende rekkefølger. En slik database kan beskrives som "ikke-relasjonell". Men det finnes også databasemodeller som støtter relasjonsvisningen, men som ikke omfavner første normalform. [4] Slike modeller kalles "ikke-første normalforms relasjoner" (forkortet NFR, N1NF eller NF 2).

Eksempel med tabellvaluert kolonne[rediger | rediger kilde]

Kunde Kunde_id Transaksjoner
Anne 1
Tr_id Dato Beløp
12890 2003-10-14 87
12904 2003-10-15 50
Ida 2
Tr_id Dato Beløp
12898 2003-10-14 21
Jan 3
Tr_id Dato Beløp
12907 2003-10-15 18
14920 2003-11-20 70
15003 2003-11-27 60

Denne tabellen representerer en relasjon hvor en av kolonnene (transaksjoner-kolonnen) i seg relasjons-valuert. Dette er en gyldig relasjon, men samsvarer ikke med første normalform som ikke tillater nøstede relasjoner. Tabellen er derfor unormalisert.

Moderne bruk[rediger | rediger kilde]

Per 2016 håndterer selskaper som Google, Amazon og Facebook store datamengder som er vanskelige å lagre effisient. For å håndtere lagringsproblemet bruker de NoSQL-databaser basert på prinsippene for den unormaliserte relasjonsmodellen.[5] Noen eksempler på NoSQL-databaser er MongoDB, Apache Cassandra og Redis. Disse databasene er mer skalerbare og enklere å spørre siden de ikke medfører beregningsmessig dyre operasjoner som skjøter (joins).

Se også[rediger | rediger kilde]

Referanser[rediger | rediger kilde]

  1. ^ «IBM Archives: Edgar F. Codd». 
  2. ^ a b Kitagawa, Hiroyuki; Kunii, Tosiyasu L. (6. februar 1990). The Unnormalized Relational Data Model. Springer. ISBN 978-4-431-70049-4. 
  3. ^ Codd, E. F. (1970). A Relational Model of Data for. Large Shared Data Banks. IBM Research Laboratory, San Jose, California.
  4. ^ Operations and the Properties on Non-First-Normal-Form Relational Databases H. Arisawa, K. Moriya, T. Miura Published in VLDB 1983
  5. ^ . 2013.