Има три разумни начина за изграждане на тази маса. Основният релационен принцип е, че всички известни ограничения трябва да бъдат декларирани на dbms, така че dbms да може да ги наложи. Във всички случаи трите колони, които съдържат реални данни, вероятно трябва да бъдат декларирани като NOT NULL.
create table wibble (
column_1 data-type not null,
column_2 data-type not null,
column_3 data-type not null,
primary key (column_1, column_2, column_3)
);
create table wibble (
surrogate_id_number integer primary key,
column_1 data-type not null,
column_2 data-type not null,
column_3 data-type not null,
unique (column_1, column_2, column_3)
);
create table wibble (
surrogate_id_number integer not null unique,
column_1 data-type not null,
column_2 data-type not null,
column_3 data-type not null,
primary key (column_1, column_2, column_3)
);
Трябва да е очевидно, че ограничението на първичен ключ само в колона с идентификационен номер не може да работи. Това би позволило дублирани данни като тези.
1 Value1 Value2 Value3
2 Value1 Value2 Value3
3 Value1 Value2 Value3
4 Value1 Value2 Value3
5 Value1 Value2 Value3
person
Mike Sherrill 'Cat Recall'
schedule
19.04.2013