Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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
Sql 检查约束与正确的查找表_Sql - Fatal编程技术网

Sql 检查约束与正确的查找表

Sql 检查约束与正确的查找表,sql,Sql,我需要在标准SQL中使用集合。我需要描述列类型,比如从某物集合中选择的内容(示例颜色=[红、绿、蓝])。我可以使用check-constraint或创建带有树记录的查找表-红、绿、蓝。每种方法的优缺点是什么。我需要使此解决方案具有通用性,并在尽可能多的SQL Server中使用。如果需要通用性,请使用查找表 检查约束在MySQL中没有完全实现(语法可以接受,但没有检查) 查找表的另一个优点是,它可以更容易地为用户提供管理功能,以便添加新选项,而无需动态重写所有相关的检查约束 与查找表相比,检查约

我需要在标准SQL中使用集合。我需要描述列类型,比如从某物集合中选择的内容
(示例颜色=[红、绿、蓝])
。我可以使用check-constraint或创建带有树记录的查找表-红、绿、蓝。每种方法的优缺点是什么。我需要使此解决方案具有通用性,并在尽可能多的SQL Server中使用。

如果需要通用性,请使用查找表

检查约束在MySQL中没有完全实现(语法可以接受,但没有检查)

查找表的另一个优点是,它可以更容易地为用户提供管理功能,以便添加新选项,而无需动态重写所有相关的检查约束


与查找表相比,检查约束可能具有的一个优点是,优化人员可能会使用矛盾检测。在SQL Server中,对
的查询,其中color='Purple'
甚至可能无法读取该表,因为SQL Server在编译时会告诉您,这是不可能的,因为检查约束阻止了它。

如果您需要它是通用的,则使用查找表

检查约束在MySQL中没有完全实现(语法可以接受,但没有检查)

查找表的另一个优点是,它可以更容易地为用户提供管理功能,以便添加新选项,而无需动态重写所有相关的检查约束

与查找表相比,检查约束可能具有的一个优点是,优化人员可能会使用矛盾检测。在SQL Server中,对
的查询,其中color='Purple'
甚至可能无法读取该表,因为SQL Server在编译时可以判断这是不可能的,因为检查约束阻止了它。

“未完全实现”是一种轻描淡写的说法。在MySQL中根本没有实现“未完全实现”是一种轻描淡写的说法。在MySQL中根本没有实现这些功能