Begränsningarna not-null och unique

Introduktion till relationsdatabaser i SQL

Timo Grossenbacher

Data Journalist

Begränsningen not-null

  • Tillåter inte NULL-värden i en kolumn
  • Måste gälla för det aktuella tillståndet
  • Måste gälla för alla framtida tillstånd
Introduktion till relationsdatabaser i SQL

Vad betyder NULL?

  • okänt
  • existerar inte
  • gäller inte
  • ...
Introduktion till relationsdatabaser i SQL

Vad betyder NULL? Ett exempel

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);
NULL != NULL
Introduktion till relationsdatabaser i SQL

Lägga till eller ta bort en not-null-begränsning

Vid skapande av en tabell...

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);

Efter att tabellen har skapats...

ALTER TABLE students 
ALTER COLUMN home_phone 
SET NOT NULL;
ALTER TABLE students 
ALTER COLUMN ssn 
DROP NOT NULL;
Introduktion till relationsdatabaser i SQL

Begränsningen unique

  • Tillåter inte duplicerade värden i en kolumn
  • Måste gälla för det aktuella tillståndet
  • Måste gälla för alla framtida tillstånd

Introduktion till relationsdatabaser i SQL

Lägga till unique-begränsningar

CREATE TABLE table_name (
 column_name UNIQUE
);
ALTER TABLE table_name
ADD CONSTRAINT some_name UNIQUE(column_name);
Introduktion till relationsdatabaser i SQL

Nu kör vi en övning!

Introduktion till relationsdatabaser i SQL

Preparing Video For Download...