如果一个家庭中的患者可以拥有相同的地址,那么就有可能出现重复,因此该地址必须是一个单独的表格。
答案 0 :(得分:1)
如果多名患者住在同一地址,您是否需要知道?如果不是,将其视为1:1的关系更简单,并说具有相同地址的患者并不重要。
答案 1 :(得分:0)
地址可以在没有人的情况下存在。一个人可以在没有地址的情况下存在。
一个人可以住在一个以上的地址(家里,小屋)。
多人可以住在同一地址。
地址可用于多种用途(家庭,工作)。
您可以将电话号码和邮政地址视为抽象地址类型的固定结果。
因此,你需要这样的东西:
create table people (
person_id int primary key,
...
);
create table addresses (
address_id int primary key,
type varchar(...) not null, -- POSTAL_ADDRESS or PHONE_NUMBER
...
);
create table people_addresses (
person_id int references people(person_id),
address_id int references addresses(address_id),
role varchar(...), -- HOME, WORK, MOBILE
);