Andmetüüpide loomiseks on vaja andmebaasi programmeerimisobjektide alt ülesse otsida Types\Use-defined Data Types ning lisada sinna uus:
Andmetüübi loomisel saate ära määrata uue andmetüübi nime, süsteemse andmetüübi, millele uus andmetüüp baseerub, kas vaikimisi lubatakse määramata väärtusi või mitte ning milliseid reegleid rakendatakse. Reeglitest räägime pisut hiljem.
Kogu selle töö saab ära teha ka lihtsa SQL Lausega:
CREATE TYPE [dbo].[Aasta] FROM [smallint] NOT NULL
Uue tabeli loomisel saame oma tehtud andmetüüpi kasutada nagu süsteemsetki. Kui soovime nüüd tagantjärele olemasolevates tabelites asenduse teha siis on olukord keerulisem kuna SQL Server selliseid asendusi ei luba. Selle asenduse saame aga teha väikese skriptiga, mis esmalt loob uue välja, seejärel kopeerib kõik andmed vanalt väljalt uuele ning kustutab vana välja.
ALTER TABLE dbo.Auto_tbl
ADD tmp_Aasta dbo.Aasta
GO
UPDATE dbo.Auto_tbl
SET tmp_Aasta = Aasta
ALTER TABLE dbo.Auto_tbl
DROP COLUMN Aasta
GO
EXECUTE sp_rename N'dbo.Auto_tbl.tmp_Aasta', N'Aasta', 'COLUMN'
GO
Isetehtud andmetüübid võimaldavad lihtsama vaevaga ühtlustada/hoida ühtsena sarnaste tunnustega andmete salvestamise.
Andmete ühtsuse tagamine
Andmete ühtsuse tagamiseks on SQL serveris mitmeid võimalusi:
- andmetüübid
- konstraandid e. piirangud
- indeksid
- võtmed
- triggerid e. päästikud
- programsed vahendid