Dataordbok

En **dataordbok** eller metadatalager er en sentralisert samling av tabeller med metadata som angir informasjon om dataelementer som beskriver dataenes mening, relasjoner til andre data, opprinnelse, bruk og format. 

Begrepet kan ha en av flere nært beslektede betydninger knyttet til databaser og databasehåndteringssystemer (DBMS):
* Et dokument som beskriver en database eller samling av databaser
* En integrert komponent av et databasehåndteringssystem som kreves for å bestemme dets struktur
* Mellomvare som utvider eller erstatter den opprinnelige dataordboken til et databasehåndteringssystem

Databasebrukere og applikasjonsutviklere kan dra nytte av en autoritativ dataordbok som katalogiserer organisasjonen, innholdet og konvensjonene til en eller flere databaser. Dette inkluderer vanligvis navn og beskrivelser av forskjellige tabeller (rader, også kalt oppføringer eller entiteter) og deres innhold (kolonner, også kalt felter eller attributter) samt ytterligere detaljer, som datatype og lengden på hvert dataelement.

En annen type nyttig informasjon som en dataordbok kan angi er relasjoner mellom tabeller. Disse blir noen ganger referert til i entitet–relasjonsdiagrammer (ERD-er), eller dersom man benytter mengdebeskrivelser som identifiserer hvilke mengder databasetabeller inngår i.

## Aktiv eller passiv dataordbok
En dataordbok som bare brukes av designere, brukere og administratorer (og ikke DBMS-programvaren) kalles en *passiv dataordbok.* Passive dataordboker oppdateres manuelt og uavhengig av eventuelle endringer i en DBMS-struktur (database). Med aktive dataordbøker oppdateres derimot ordboken først, hvorpå endringer skjer automatisk i databasene som et resultat.

## Typiske attributter
Her følger en ikke-uttømmende liste over typiske elementer som kan finnes i en dataordbok for kolonner (også kjent som attributter):

* Radnavn (også kjent som entitetsnavn) eller ID-en deres (EntityID), samt gruppen dette feltet tilhører.
* Kolonnenavn, for eksempel relasjonsdatabase-feltnavn
* Visningsnavn på kolonnen (kan viderekobles til kolonnenavnet dersom tomt)
* Kolonnens datatype (streng, heltall, dato, og så videre)
* Målinger som minimum- og maksimum-verdier, skjermbredde eller antall desimaler. Ulike kolonne-datatyper kan tolke disse målene annerledes. Et alternativ er å ha forskjellige attributter avhengig av kolonnetype.
* Kolonne-visningsrekkefølge eller tabulatorrekkefølge
* Koordinater på skjermen (hvis det brukes et posisjons- eller rutenettbasert brukergrensesnitt)
* Standardverdi
* Hvordan brukeren spør, for eksempel via rullegardinliste, kombinasjonsboks, avmerkingsbokser, spesifikasjon av intervall, og så videre
* Hvorvidt en verdi er påkrevd, hvilket medfører at verdien ikke kan være tom, null eller bestå av bare hvite mellomrom
* Hvorvidt noe er skrivebeskyttet eller ikke
* Referansetabellnavn, hvis en fremmednøkkel. Kan brukes til validering eller utvalgslister.
* Kodeformatering, for eksempel et regulært uttrykk

## Se også
* Dataavstamming
* Databasekatalog
* Databaseskjema
* Datahierarki
* Datamodellering
* Metadatalager, database for å lagre metadata, altså informasjon om strukturene som inneholder de faktiske dataene
* Metadataregister, sted hvor metadatadefinisjoner lagres og vedlikeholdes
* Semantisk spekter

## Referanser