我有3个表user
,admin
,ticket
可以user
或admin
发送故障单,因此我需要在ticket
和admin
,ticket
和user
之间添加关系
我认为解决方案是像这样创建ticket
表
ticket ( id , content , usertype , userid )
和usertype
为ENUM('admin','user')
因此,如果usertype = admin
,userid
引用admin
表,如果userype = user
,则userid
引用user
表。
现在我有2个问题
1.我创建表的方法是对的吗?
2.如果我正确地添加foreign key
?
我正在使用MySQL
答案 0 :(得分:0)
你几乎做对了。 你需要做一个不相交的(比如在OOP中的继承)
ticket
应仅由3个表格代表:
1 - ticket (id, content)
其中id
是主键
2 - ticket_user (id, userid)
,这两个属性都是主键,userid
是user
表的外键,而id
是指向ticket
表的外键
3 - ticket_admin (id, adminid)
,与上面相同,adminid
指向admin
表
我根据我在大学学习的数据库设计课程回答,我们没有使用MySQL,所以我无法确切地告诉你如何实现它。