En datatype definerer, hvilken slags værdi et felt kan indeholde. Heltal, decimal, streng, dato, boolsk, binær. Typen bestemmer, hvilke operationer der er gyldige, og hvor meget plads værdien optager. Du kan lægge to heltal sammen. Du kan ikke lægge et heltal og en dato sammen uden konvertering. Du kan sortere strenge alfabetisk. Du kan ikke sortere dem numerisk, medmindre de indeholder tal. Typen er en kontrakt mellem dataene og det system, der lagrer dem.
Valg af den forkerte type forårsager problemer. Lagring af et telefonnummer som et heltal fjerner de indledende nuller. Lagring af en pris som et flydende tal introducerer afrundingsfejl, der akkumuleres i økonomiske beregninger. Lagring af en dato som en streng gør intervalforespørgsler langsomme og fejlbehæftede. Lagring af en boolsk værdi som en streng spilder plads og inviterer til typografiske fejl som "ture". Hver type har et formål. Heltal for antal. Decimaltal for penge. Strenge for tekst. Datoer for tidsmæssige værdier. Booleske værdier for sandt eller falsk. Binær værdi for filer og hashes. Nogle databaser tilføjer specialiserede typer: JSON for semistrukturerede data, arrays for lister, geospatiale typer for koordinater. Typesystemet håndhæver konsistens. Det fanger fejl ved indsættelsestidspunktet snarere end ved forespørgselstidspunktet. Denne tidlige detektion er de begrænsninger værd, den pålægger.
Almindelige datatyper
- Heltal — hele tal, antal, ID'er
- Decimaltal — præcise brøktal, penge
- Streng — tekst af variabel længde
- Dato og klokkeslæt — tidsmæssige værdier
- Boolean — sandt eller falsk
- Binær — rå bytes, filer, hashes
Datatyper fungerer som beskyttelsesrækværk. De holder dårlige værdier ude og gør gode værdier nemmere at arbejde med.
Comments
No comments yet. Be the first to share a thought.
Leave a comment