用于存储员工的多个地址和联系号码的数据库设计

时间:2014-11-28 19:57:39

标签: database database-design entity-relationship rdbms

假设有员工数据库的场景。

我必须存储员工的所有详细信息,如empid,姓名,名称,地址,联系电话,emailid。

如果员工拥有多个地址和多个联系号码,而不是如何设计数据库。

请详细说明设计相同内容。

谢谢。

1 个答案:

答案 0 :(得分:0)

CREATE TABLE `employee` (
  `emp_id` BIGINT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(20),
  `designation` VARCHAR(20),
  `email` VARCHAR(30),
  PRIMARY KEY  (`emp_id`)
);

CREATE TABLE `adress` (
  `addr_id` BIGINT NOT NULL AUTO_INCREMENT,
  `emp_id` BIGINT,
  `detail` TEXT,
  PRIMARY KEY  (`addr_id`)
);

CREATE TABLE `contact_number` (
  `ct_num_id` BIGINT NOT NULL AUTO_INCREMENT,
  `emp_id` BIGINT,
  `number` VARCHAR(20),
  PRIMARY KEY  (`ct_num_id`)
);


ALTER TABLE `adress` ADD CONSTRAINT `adress_fk1` 
    FOREIGN KEY (`emp_id`) REFERENCES employee(`emp_id`);

ALTER TABLE `contact_number` ADD CONSTRAINT `contact_number_fk1` 
    FOREIGN KEY (`emp_id`) REFERENCES employee(`emp_id`);

您可以像这样使用表格设计。在源代码中,您必须管理哪些地址和联系人号码属于员工。