如何检查表格中的以下内容?
表是这样的:
Employee:
employee_id | Name | job_title | department_name
所有具有相同职位的员工必须属于同一部门。
例如:作为股票经理的所有员工都属于 部门运输。如果任何员工在另一个员工中工作 具有相同职称的部门,脚本必须显示 违反上面定义的一致性约束 格式如下。
JOB TITLE |员工ID |部门名称
答案 0 :(得分:0)
单独使用CONSTRAINTS
并非完全可能,因为您仍然需要依赖于未存储在任何地方的数据。这可以通过另一个只讨论JOB_TITLE
和DEPARTMENT
之间关系的查找表来实现。
除非达不到这种关系,否则此要求可能无法按预期运作。
以下内容应该符合您的期望:
CREATE TABLE JOB_DEPT_RELATIONSHIP AS (
JOB_TITLE VARCHAR(255) NOT NULL PRIMARY KEY,
DEPARTMENT VARCHAR(255) NOT NULL,
UNIQUE(JOB_TITLE, DEPARTMENT)
);
然后您的实际表格可以这样定义,我想:
CREATE TABLE EMPLOYEE AS (
EMPLOYEE_ID INT AUTO_INCREMENT PRIMARY KEY,
EMPLOYEE_NAME VARCHAR(255) NOT NULL,
JOB_TITLE VARCHAR(255) NOT NULL,
DEPARTMENT_NAME VARCHAR(255) NOT NULL,
CONSTRAINT FK_JOB_DEPT_RELATIONSHIP FOREIGN KEY (JOB_TITLE, DEPARTMENT_NAME) REFERENCES JOB_DEPT_RELATIONSHIP(JOB_TITLE, DEPARTMENT)
);
希望这有帮助!
答案 1 :(得分:0)
我相信在参加同一所大学时,我们可能会得到同样的任务。我现在对此表示赞同,这些表可能有助于其他人看到。我仍然习惯于这里的格式化。
我不允许发布图片,所以我会尝试发送链接,也许正确的用户可以为我编辑,谢谢:http://imgur.com/a/FeFRz