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 .