Skip to content

Een databasedomein definiëren

20 de juni de 2021
GettyImages 1075535804 bce68c5af61440b1891fccf7604a6d23

Een eenvoudige definitie van een databasedomein is het gegevenstype dat door een kolom in een database wordt gebruikt. Dit gegevenstype kan een ingebouwd type zijn (zoals een geheel getal of een tekenreeks) of een aangepast type dat beperkingen voor de gegevens definieert.

Gegevensinvoer en domeinen

Wanneer u gegevens invoert in een online formulier van welke aard dan ook, of het nu uw naam en e-mailadres of een sollicitatie is, slaat een database uw invoer achter de schermen op. Die database evalueert uw invoer op basis van een reeks criteria. Als u bijvoorbeeld een postcode invoert, verwacht de database vijf cijfers te vinden (of vijf cijfers gevolgd door een koppelteken en vervolgens vier cijfers voor een volledige Amerikaanse postcode). Als u uw naam in een postcodeveld invoert, geeft de database u een foutmelding. Dat komt omdat de database uw invoer toetst aan het domein dat is gedefinieerd voor het postcodeveld. Een domein is in feite een gegevenstype dat optionele beperkingen kan bevatten. Elk type database biedt een manier om een ​​reeks beperkingen en regels te definiëren die van toepassing zijn op toegestane gegevens, zelfs als het geen domein noemt. Raadpleeg de documentatie van uw database voor details.

Een databasedomein begrijpen

Laten we een paar andere aspecten van een database bekijken om een ​​databasedomein te begrijpen:

  • Een databaseschema definieert een set attributen, ook wel kolommen of velden genoemd. Een tabel met de naam “Contactgegevens” kan attributen bevatten voor Voornaam, Achternaam, Functietitel, Straatadres, Stad, Staat, Postcode, Telefoonnummer en E-mail.
  • Elk kenmerk bevat een domein dat toegestane waarden definieert, mogelijk inclusief het gegevenstype, de lengte, waarden en andere details.

Het domein voor een kenmerk ZipCode kan bijvoorbeeld een numeriek gegevenstype specificeren, zoals een geheel getal, gewoonlijk een INT of een INTEGER genoemd, afhankelijk van de database. Of een databaseontwerper kan ervoor kiezen om het in plaats daarvan te definiëren als een teken, meestal een CHAR genoemd. Het attribuut kan verder worden gedefinieerd om een ​​specifieke lengte te vereisen, of dat een lege of onbekende waarde is toegestaan. Wanneer u alle elementen verzamelt die een domein definiëren, krijgt u een aangepast gegevenstype, ook wel een “door de gebruiker gedefinieerd gegevenstype” of een UDT genoemd.

Wat is domeinintegriteit?

De toegestane waarden van een attribuut stellen domeinintegriteit vast, die ervoor zorgt dat alle gegevens in een veld geldige waarden bevatten. Domeinintegriteit wordt gedefinieerd door:

  • Het gegevenstype, zoals geheel getal, teken of decimaal.
  • De toegestane lengte van de gegevens.
  • Het bereik, dat de boven- en ondergrenzen definieert.
  • Eventuele beperkingen of beperkingen op toegestane waarden. Een veld voor een Amerikaanse postcode kan bijvoorbeeld een volledige ZIP+4-code of een volledige negencijferige code afdwingen.
  • Het type NULL-ondersteuning (of een kenmerk een onbekende of NULL-waarde kan hebben).
  • De standaardwaarde, indien van toepassing.
  • Het datumformaat schilder, indien van toepassing (bijvoorbeeld dd/mm/jj of mm/dd/jjjj).

Een domein aanmaken

Voor databases die Structured Query Language of een variant van SQL gebruiken, gebruikt u de opdracht CREATE DOMAIN SQL. De uitvoeringsinstructie maakt bijvoorbeeld een ZipCode-kenmerk van het gegevenstype CHAR met vijf tekens. Een NULL of onbekende waarde is niet toegestaan. Het bereik van de gegevens moet tussen 00000 en 99999 liggen. Dat creëert een ZipCode-attribuut van het gegevenstype CHAR met vijf tekens. Een NULL of onbekende waarde is niet toegestaan.

MAAK DOMEIN Postcode CHAR (5) NIET NULL CONTROLE (WAARDE >= ‘00000’ EN WAARDE <= '99999')

Deze databasebeperkingen sturen een fout naar een toepassing die als front-end voor uw database dient wanneer de beperking wordt geschonden, dus programmeer een subroutine voor het vastleggen van fouten in uw programma om de gezondheid te controleren voordat het programma denkt dat het correct informatie aan de database heeft toegevoegd .