En enkel definisjon av et databasedomene er datatypen som brukes av en kolonne i en database. Denne datatypen kan være en innebygd type (som et heltall eller en streng) eller en egendefinert type som definerer begrensninger på dataene.
Dataregistrering og domener
Når du legger inn data i et elektronisk skjema av noe slag, enten det er navnet ditt og e-posten eller en jobbsøknad, lagrer en database innspillene dine bak kulissene. Den databasen evaluerer oppføringene dine basert på et sett med kriterier.
For eksempel, hvis du skriver inn et postnummer, forventer databasen å finne fem tall (eller fem tall etterfulgt av en bindestrek og deretter fire tall for et komplett amerikansk postnummer). Hvis du skriver inn navnet ditt i et postnummerfelt, gir databasen deg en feilmelding.
Det er fordi databasen tester oppføringen din mot domenet som er definert for postnummerfeltet. Et domene er i utgangspunktet en datatype som kan inkludere valgfrie begrensninger.
Hver type database gir en måte å definere et sett med restriksjoner og regler som styrer tillatte data, selv om det ikke kalles et domene. Se databasens dokumentasjon for detaljer.
Forstå et databasedomene
For å forstå et databasedomene, la oss vurdere noen andre aspekter ved en database:
- Et databaseskjema definerer et sett med attributter, også k alt kolonner eller felt. En tabell k alt "kontaktinformasjon" kan inneholde attributter for fornavn, etternavn, stillingstittel, gateadresse, by, stat, postnummer, telefonnummer og e-post.
- Hvert attributt inneholder et domene som definerer tillatte verdier, potensielt inkludert datatype, lengde, verdier og andre detaljer.
For eksempel kan domenet for et attributt ZipCode spesifisere en numerisk datatype, for eksempel et heltall, vanligvis k alt et INT eller et INTEGER, avhengig av databasen. Eller en databasedesigner kan velge å definere det i stedet som et tegn, vanligvis k alt en CHAR. Attributtet kan defineres videre til å kreve en spesifikk lengde, eller om en tom eller ukjent verdi er tillatt.
Når du samler alle elementene som definerer et domene, ender du opp med en tilpasset datatype, også k alt en "brukerdefinert datatype" eller en UDT.
Hva er domeneintegritet?
De tillatte verdiene for et attributt etablerer domeneintegritet, som sikrer at alle data i et felt inneholder gyldige verdier.
Domeneintegritet er definert av:
- Datatypen, for eksempel heltall, tegn eller desimal.
- Tillatt lengde på dataene.
- Rekkevidden som definerer øvre og nedre grenser.
- Alle begrensninger eller begrensninger på tillatte verdier. Et amerikansk postnummerfelt kan for eksempel påtvinge en fullstendig ZIP+4-kode eller en fullstendig nisifret kode.
- Typen NULL-støtte (om et attributt kan ha en ukjent eller NULL-verdi).
- Standardverdien, hvis noen.
- Datoformatmaleren, hvis aktuelt (for eksempel dd/mm/ååå eller mm/dd/åååå).
Opprett et domene
For databaser som bruker Structured Query Language eller en smak av SQL, bruk CREATE DOMAIN SQL-kommandoen.
For eksempel oppretter execution-setningen et ZIPCode-attributt av datatypen CHAR med fem tegn. En NULL, eller ukjent verdi, er ikke tillatt. Rekkevidden for dataene må ligge mellom 00000 og 99999. Det skaper et postkodeattributt av datatypen CHAR med fem tegn. En NULL, eller ukjent verdi, er ikke tillatt.
CREATE DOMAIN ZIPCode CHAR(5) NOT NULL CHECK (VERDI >='00000' OG VERDI <='99999')
Disse databasebegrensningene sender en feil til en applikasjon som fungerer som grensesnittet til databasen din når begrensningen brytes, så programmer en feilregistreringsunderrutine inn i programmet ditt for å sjekke fornuften før programmet mener det riktig lagt til informasjon i databasen.