我的应用程序中有以下"评论"表:
comments
--------
id INT
foreign_id INT
model TEXT
comment_text TEXT
...
Run Code Online (Sandbox Code Playgroud)
这个表的想法是存储我的应用程序的各个部分的注释 - 它可以存储博客帖子的评论,即:
1|34|blogpost|lorem ipsum...
Run Code Online (Sandbox Code Playgroud)
用户图片:
2|12|picture|lorem ipsum...
Run Code Online (Sandbox Code Playgroud)
等等.
现在,有没有办法强制FOREIGN KEY约束这些数据?
即在评论表中这样的东西:
FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`)
//but only when model='blogpost'
Run Code Online (Sandbox Code Playgroud) mysql sql database-design foreign-keys polymorphic-associations
我有很多实例需要在我的数据库中实现某种多态关联.我总是浪费大量的时间来思考所有的选择.这是我能想到的3.我希望有一个SQL Server的最佳实践.
这是多列方法

这是没有外键的方法

这是基表方法

sql-server associations polymorphic-associations database-normalization
有些人喜欢用简单的文本方式描述他们的数据库结构,而不是使用CREATE TABLE语句.一些例子:
你知道任何将这种速记符号转换为实际SQL语句的软件吗?