employee和job之间的relationship是many to many,一个employee可以有多个工作,一个工作也可以有几个人干。现在有一个associate table employeejob
来表示many to many。还有一个payment table用来表示一个人的一份工作的payment。所以employeejob
和payment的ralationship是one to one。
class EmployeeJob(db.Model):
__tablename__ = 'employeejob'
employee_id = db.Column(db.Integer, db.ForeignKey('employee.id'))
job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'))
# payment_id = db.Column(db.Integer, db.ForeignKey('payment.id'))
不是很确定是不是应该把payment加到EmployeeJob
里。
应该放到EmployeeJob里,你的EmployeeJob拥有自己的属性,不完全是关联表,本身是一个实体了。
最好把名字改一下,比如改成Task。
Employee (EmployeeId PK, FirstName, LastName)
Job (JobId PK, Description)
Task (EmployeeId PK FK1, JobId PK FK2, Payment)