Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 多态关系是一种糟糕的做法吗?_Mysql_Laravel_Laravel 5.1 - Fatal编程技术网

Mysql 多态关系是一种糟糕的做法吗?

Mysql 多态关系是一种糟糕的做法吗?,mysql,laravel,laravel-5.1,Mysql,Laravel,Laravel 5.1,我用的是Laravel,我需要有一些类似多态关系的东西。简单地说,它们似乎正好解决了我需要的问题,即能够基于类型存储不同的数据 但是,我知道我不能使用任何约束,比如外键。我已经读到了,它们本质上是一种反模式。但我想知道其他人是怎么想的,是否有人在毫无问题地使用它们 否则,有没有其他方法可以实现多态关系提供的功能,而不必实际使用它们?(使用Laravel)根据mjolnic的评论,多态性关系是一种反模式,并且违反了最佳实践原则 话虽如此,您是否从未将json存储在BLOB或文本列中?Wordpre

我用的是Laravel,我需要有一些类似多态关系的东西。简单地说,它们似乎正好解决了我需要的问题,即能够基于类型存储不同的数据

但是,我知道我不能使用任何约束,比如外键。我已经读到了,它们本质上是一种反模式。但我想知道其他人是怎么想的,是否有人在毫无问题地使用它们


否则,有没有其他方法可以实现多态关系提供的功能,而不必实际使用它们?(使用Laravel)

根据mjolnic的评论,多态性关系是一种反模式,并且违反了最佳实践原则

话虽如此,您是否从未将json存储在BLOB或文本列中?Wordpress不在mysql中存储序列化的数据吗

在现实世界中,(在大学之外),有很多情况下,打破规则是个好主意。根据您的特定用例,可能需要打破它们


简单的博客例子。你有帖子,你有网页。它们都需要完全相同的表格式。当将内容拆分为
帖子
页面

@mjolnic时,多态关系所带来的好处远远超过了规范化以及开发和维护所付出的努力。原子性、一致性、隔离性、耐久性。与多态关系无关。我认为您无意中使用了错误的术语。@Gravy我同意,在这里提到ACID可能不合适(因为您提到的是与事务相关的,而不是与开发模式相关的),我想说的是,它可能会导致数据一致性问题。