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));
Cada Map DEBE tener un Area , como area_id no es nulo (y es una Foreign key en Area )
Pero no podrá (y no es deseable) tener "al menos un mapa" para cada área.
Un día, tendrás que crear un Area . Y no tendrá ningún Map en este momento. O realice comprobaciones "regulares" para ver las áreas sin ningún mapa.
Es posible que desee eliminar un Area , si no tiene más Map relacionado , cuando eliminas un Map .