我正在尝试使用Materialized Path模型实现类似树形结构的功能,该模型在此处有详细描述:http://www.dbazine.com/oracle/or-articles/tropashko4。
在[path]字段上强制执行引用完整性是否可能? 我不知道SQL如何做到这一点,我必须在DAL中手动执行吗?
在[path]字段上强制执行引用完整性是否可能? 我不知道SQL如何做到这一点,我必须在DAL中手动执行吗?
如果您使用物化路径或嵌套集合解决方案来处理分层数据,那么在DAL中必须自行执行数据完整性强制执行。
相邻列表支持引用完整性,并且对于我称之为“闭包表”的设计(Tropashko将此设计称为“传递闭包关系”)也是如此。
check(parent_id = substring(id from 1 for char_length(id)-1)),
在创建表的命令中。如果您坚持使用“x.y.z”形式的字符串,则必须尝试正则表达式,但我猜测可以找到相应的检查约束。