create table A (id int(10) not null, val1 varchar(255), primary key (id));
[a] create table B (a_id int(10) not null, val2 varchar(255), foreign key (a_id) references A (id));
[b] create table B (id int(10) not null, a_id int(10) not null, val2 varchar(255), foreign key (a_id) references A(id), primary key (id));
By choosing [a], I can avoid creation of the "id" surrogate key in table 'B'. Which is the preferred approach for creating table 'B' from a modeling perspective?