数据建模,约束和我的模型问题

时间:2012-03-06 10:43:18

标签: mysql constraints data-modeling

我正在设计一个应用程序,允许保姆/保姆找到照顾孩子和父母找到照顾孩子的保姆/保姆

我想为父母和保姆提供一个ACCOUNT数据库表。

但是,父帐户和保姆帐户之间存在一些细微差别,即

  • 保姆可以将课程表/简历附加到他们的帐户(由RESUME数据库表格实现)
  • 保育员帐户通过保姆状态(保姆,保姆等)进一步细化(由CHILDMINDER_STATUS数据库表格实现)。保姆可以有一个或多个“保姆状态”。

我不确定ACCOUNTRESUMECHILDMINDER_STATUS之间的关系应该是什么......

P.S。我使用MySQL服务器。

编辑: 我忘了提到属于一个保姆的ACCOUNT零个或多个ADVERTISEMENT只属于一个保姆。属于父母的ACCOUNTs及其ADVERTISEMENTs也是如此。

1 个答案:

答案 0 :(得分:1)

这有效 - 它能回答你的问题吗?其他表格也会以同样的方式进行。

create table account (
  id int unsigned auto_increment PRIMARY KEY,
  fname varchar(100),
  lname varchar(100),
  type enum('parent','childminder')
  -- etc - add other fields needed for both parents and childminders
) ENGINE=InnoDB;

create table resume (
  id int unsigned auto_increment PRIMARY KEY,
  account_id int unsigned,
  file_spec varchar(100),
  -- other fields as necessary
  CONSTRAINT `resume_account_id_fk` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB;

create table childminder_status (
  id int unsigned auto_increment PRIMARY KEY,
  account_id int unsigned,
  status_description varchar(100),
  -- other fields as necessary
  CONSTRAINT `childminder_status_account_id_fk` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB;