首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >此平面文件结构需要MySQL DDL,提供示例:输入列、数据、输出表/列等。

此平面文件结构需要MySQL DDL,提供示例:输入列、数据、输出表/列等。
EN

Stack Overflow用户
提问于 2010-11-14 10:38:06
回答 1查看 968关注 0票数 1

破解我的问题,并需要帮助创建一个有效的MySQL DDL如下。我正在尝试加载一个文件,其中包含员工姓名、他们过去占据过的办公室以及他们的职务历史记录,用一个选项卡分隔开来。

文件:

代码语言:javascript
复制
EmployeeName<tab>OfficeHistory<tab>JobLevelHistory
John Smith<tab>501<tab>Engineer
John Smith<tab>601<tab>Senior Engineer
John Smith<tab>701<tab>Manager
Alex Button<tab>601<tab>Senior Assistant
Alex Button<tab>454<tab>Manager

注意:单个表数据库是完全标准化的(就像单个表一样) --例如,在"John“的情况下,只有一个John;这意味着没有重复会导致引用完整性冲突。

MyOffice数据库模式有以下表:

代码语言:javascript
复制
Employee (nId, name)
Office (nId, number)
JobTitle (nId, titleName)
Employee2Office (nEmpID, nOfficeId)
Employee2JobTitle (nEmpId, nJobTitleID)

所以在这个案子里。这些表格应如下所示:

代码语言:javascript
复制
Employee
1 John Smith
2 Alex Button

Office
1 501
2 601
3 701
4 454

JobTitle
1 Engineer
2 Senior Engineer
3 Manager
4 Senior Assistant

Employee2Office
1 1
1 2
1 3
2 2
2 4

Employee2JobTitle
1 1
1 2
1 3
2 4
2 3
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-14 10:51:59

代码语言:javascript
复制
CREATE TABLE Employee (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(50) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB;

CREATE TABLE Office (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  office_number INT NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB;

CREATE TABLE JobTitle (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  title CHAR(30) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB;

CREATE TABLE Employee2JobTitle (
  employee_id MEDIUMINT NOT NULL,
  job_title_id MEDIUMINT NOT NULL,
  FOREIGN KEY (employee_id) REFERENCES Employee(id),
  FOREIGN KEY (job_title_id) REFERENCES JobTitle(id),
  PRIMARY KEY (employee_id, job_title_id)
) ENGINE=InnoDB;

CREATE TABLE Employee2Office (
  employee_id MEDIUMINT NOT NULL,
  office_id MEDIUMINT NOT NULL,
  FOREIGN KEY (employee_id) REFERENCES Employee(id),
  FOREIGN KEY (office_id) REFERENCES Office(id),
  PRIMARY KEY (employee_id, office_id)
) ENGINE=InnoDB;

一些类似的东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4177128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档