【问题标题】:Database design for storing multiple address and contact number of a employee存储员工多个地址和联系电话的数据库设计
【发布时间】:2014-11-29 04:33:11
【问题描述】:

假设一个员工数据库的场景。

我必须存储员工的所有详细信息,例如 empid、姓名、职务、地址、联系电话、电子邮件 ID。

如果一个员工有多个地址和多个联系电话比如何设计一个数据库。

请简要介绍一下设计的细节。

谢谢。

【问题讨论】:

  • 到目前为止你有什么想法,有什么不足的地方?
  • 我想知道如何设计,地址和联系方式是一个新的实体还是我们可以在同一个实体中使用。
  • 你有数据库中表关系的概念吗
  • @AsadJatoi 我是数据库初学者

标签: database database-design entity-relationship rdbms


【解决方案1】:
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`);

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

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多