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));
Varje Map MÅSTE ha ett Area , som area_id är inte null (och är en Foreign key på Area )
Men du kommer inte att kunna (och det är inte önskvärt) att ha "minst en karta" för varje område.
En dag måste du skapa ett Area . Och den kommer inte att ha någon Map vid denna tidpunkt. Eller gör "vanliga" kontroller för att se områdena utan någon karta.
Du kanske vill ta bort ett Area , om den inte har någon mer relaterad Map , när du tar bort en Map .