Een databasedomein definiëren

Inhoudsopgave:

Een databasedomein definiëren
Een databasedomein definiëren
Anonim

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 op de gegevens definieert.

Gegevensinvoer en domeinen

Wanneer u gegevens invoert in een online formulier, of het nu uw naam en e-mailadres of een sollicitatie is, slaat een database uw input 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 invoert in een postcodeveld, 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. Zie de documentatie van uw database voor details.

Image
Image

Een databasedomein begrijpen

Om een databasedomein te begrijpen, laten we een paar andere aspecten van een database bekijken:

  • Een databaseschema definieert een set attributen, ook wel kolommen of velden genoemd. Een tabel met de naam "Contactgegevens" kan attributen bevatten voor FirstName, LastName, JobTitle, StreetAddress, City, State, ZipCode, PhoneNumber en Email.
  • Elk kenmerk bevat een domein dat toegestane waarden definieert, mogelijk inclusief het gegevenstype, de lengte, waarden en andere details.

Het domein voor een attribuut 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.
  • Alle 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 attribuut een onbekende of een NULL-waarde kan hebben).
  • De standaardwaarde, indien van toepassing.
  • De datumnotatie, 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 uitvoeringsopdracht maakt bijvoorbeeld een postcode-attribuut 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 het goed vindt informatie toegevoegd aan de database.

Aanbevolen: