En simpel definition af et databasedomæne er den datatype, der bruges af en kolonne i en database. Denne datatype kan være en indbygget type (såsom et heltal eller en streng) eller en tilpasset type, der definerer begrænsninger på dataene.
Dataindtastning og domæner
Når du indtaster data i en onlineform af enhver art, uanset om det er dit navn og din e-mail eller en jobansøgning, gemmer en database dine input bag kulisserne. Den database evaluerer dine poster baseret på et sæt kriterier.
For eksempel, hvis du indtaster et postnummer, forventer databasen at finde fem tal (eller fem tal efterfulgt af en bindestreg og derefter fire tal for et komplet amerikansk postnummer). Hvis du indtaster dit navn i et postnummerfelt, giver databasen dig en fejl.
Det skyldes, at databasen tester din indtastning mod det domæne, der er defineret for postnummerfeltet. Et domæne er grundlæggende en datatype, der kan omfatte valgfrie begrænsninger.
Hver type database giver mulighed for at definere et sæt begrænsninger og regler, der styrer tilladte data, selvom det ikke kalder det et domæne. Se din databases dokumentation for detaljer.
Forstå et databasedomæne
For at forstå et databasedomæne, lad os overveje et par andre aspekter af en database:
- Et databaseskema definerer et sæt attributter, også kaldet kolonner eller felter. En tabel kaldet "Kontaktoplysninger" kan indeholde attributter for fornavn, efternavn, jobtitel, vejadresse, by, stat, postnummer, telefonnummer og e-mail.
- Hver attribut inkorporerer et domæne, der definerer tilladte værdier, potentielt inklusive dens datatype, længde, værdier og andre detaljer.
F.eks. kan domænet for en attribut ZipCode angive en numerisk datatype, såsom et heltal, norm alt kaldet et INT eller et INTEGER, afhængigt af databasen. Eller en databasedesigner kan vælge at definere det i stedet som et tegn, norm alt kaldet et CHAR. Attributten kan defineres yderligere til at kræve en specifik længde, eller om en tom eller ukendt værdi er tilladt.
Når du samler alle de elementer, der definerer et domæne, ender du med en tilpasset datatype, også kaldet en "brugerdefineret datatype" eller en UDT.
Hvad er domæneintegritet?
De tilladte værdier for en attribut etablerer domæneintegritet, hvilket sikrer, at alle data i et felt indeholder gyldige værdier.
Domæneintegritet er defineret af:
- Datatypen, såsom heltal, tegn eller decimal.
- Den tilladte længde af data.
- Rækken, der definerer de øvre og nedre grænser.
- Enhver begrænsning eller begrænsning af tilladte værdier. Et amerikansk postnummerfelt kan f.eks. gennemtvinge en komplet post+4-kode eller en fuld ni-cifret kode.
- Typen af NULL-understøttelse (om en attribut kan have en ukendt eller NULL-værdi).
- Standardværdien, hvis nogen.
- Datoformatmaleren, hvis det er relevant (f.eks. dd/mm/ååå eller mm/dd/åååå).
Oprettelse af et domæne
For databaser, der bruger Structured Query Language eller en variant af SQL, skal du bruge CREATE DOMAIN SQL-kommandoen.
For eksempel opretter udførelsessætningen en postkode-attribut af datatypen CHAR med fem tegn. En NULL eller ukendt værdi er ikke tilladt. Rækkevidden af dataene skal ligge mellem 00000 og 99999. Det skaber en postkodeattribut af datatypen CHAR med fem tegn. En NULL eller ukendt værdi er ikke tilladt.
CREATE DOMAIN ZIPCode CHAR(5) NOT NULL CHECK (VÆRDI >='00000' OG VÆRDI <='99999')
Disse databasebegrænsninger skubber en fejl til et program, der fungerer som front-end til din database, når begrænsningen overtrædes, så programmer en fejlregistreringsunderrutine ind i dit program for at tjekke fornuften, før programmet tænker det korrekt tilføjet oplysninger til databasen.