患者和地址之间的关系

时间:2016-01-31 18:43:29

标签: mysql rdbms

如果一个家庭中的患者可以拥有相同的地址,那么就有可能出现重复,因此该地址必须是一个单独的表格。

2 个答案:

答案 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
);