create table Area(id int primary key auto_increment, name varchar(100));
create table Map(id int primary key auto_increment,
area_id int not null,
name varchar(100),
foreign key (area_id) references area(id));
Każda Map
MUSI mieć Area
, jako area_id
nie jest null (i jest Foreign key
w Area
)
Ale nie będziesz w stanie (i nie jest to pożądane) mieć „przynajmniej jedną mapę” dla każdego obszaru.
Pewnego dnia będziesz musiał utworzyć Area
. I nie będzie miał żadnej Map
w tej chwili.Lub przeprowadzaj „regularne” kontrole, aby zobaczyć obszary bez mapy.
Możesz chcieć usunąć Area
, jeśli nie ma więcej powiązanych Map
, gdy usuniesz Map
.