web数据库设计的问题

大家在工作的项目中,其数据库设计的表是否会给他们主外键的关系,或只是给一个相关联的列来维护其关系。
例如:
create table a(
aid int primary key,
name varchar(20) not null

)

create table b(
bid int primary key,
aid int not null,
email varchar(30) not null
)
在表 a 和表 b 中,a.aid 和 b.aid 是维护两张表之间的关系的列。

?????

既然设计的时候 他们之间有紧密的关联 不光确定好添加个字段就完了而且在表中要添加外键约束 这样你在对数据操作的时候 也是很有用处的 处理事务也相当轻松

一般是
一对多:在多的一方存储对应的id
多对多:通过一个中间表来维护两表关系

当然了 表与表间的主外关系 是设计数据库的完整性 三大范式
有了关系 才能更近一步的把数据设计更完美 更有调理
但有的时候 可能由于项目的必须 不一定要去分离出一些数据 比如 曾见过的银行的表 上百个字段都在一个表里 像这种特殊