0
我有两个关系员工和任务。在员工关系中,我保存了有关员工的相关信息,包括主键employee_id。在任务关系中,我保存有关任务的所有相关信息,包括主键task_id。在SQL中连接两个关系的最佳方法是什么?
加入这两个关系的最佳方式是什么?这样你就知道哪个员工有哪个任务?我假设一个员工可以有多个任务,一个任务可以有多个员工。最好是将employee_id作为外键添加到这样的任务中。
CREATE TABLE Employee(
Name TEXT,
Employee_id INT PRIMARY KEY
);
CREATE TABLE Tasks(
task_description TEXT,
Employee_id INT,
FOREIGN KEY (Employee_id) REFERENCES Employee(Employee_id),
task_id INT PRIMARY KEY
);
我的问题是,由于多个员工可以有相同的任务,它不是关系任务的关键。
我想过的另一个选择是这样的。我不知道这是否具有预期的效果。
CREATE TABLE Employee(
Name TEXT,
Employee_id INT PRIMARY KEY
);
CREATE TABLE Tasks(
task_description TEXT,
Employee_id INT,
task_id INT,
PRIMARY KEY(Employee_id, task_id)
);
还有哪些其他(更好的)选项?
这对我非常有帮助,谢谢。我改变了我所有的多对多关系:) – Robbebeest