Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 EER-限制特殊化_Sql_Database Design_Entity Relationship_Specialization_Generalization - Fatal编程技术网

Sql EER-限制特殊化

Sql EER-限制特殊化,sql,database-design,entity-relationship,specialization,generalization,Sql,Database Design,Entity Relationship,Specialization,Generalization,假设“人”可以是“客户”或“供应商”。使用EER,我们可以得到如下结果: 此解决方案的问题在于,一个人既可以是客户,也可以是供应商。是否有办法将“人员”仅限于一个专业领域?您可以添加一个新表,其中包含person.ID、人员类型(客户或供应商)以及相应表中的ID 如果从业务角度需要,这将允许您在项目后期进一步筛选和按类型选择客户。而且同一个人确实可以既是供应商又是客户,这不是一个现实的业务场景 顺便说一句,您在这里展示的模型中的基数指标*******积极要求每个人都是客户*******以及供应

假设“人”可以是“客户”或“供应商”。使用EER,我们可以得到如下结果:


此解决方案的问题在于,一个人既可以是客户,也可以是供应商。是否有办法将“人员”仅限于一个专业领域?

您可以添加一个新表,其中包含person.ID、人员类型(客户或供应商)以及相应表中的ID


如果从业务角度需要,这将允许您在项目后期进一步筛选和按类型选择客户。

而且同一个人确实可以既是供应商又是客户,这不是一个现实的业务场景


顺便说一句,您在这里展示的模型中的基数指标*******积极要求每个人都是客户*******以及供应商

排他性(这是您要求的)和子行的存在。但在应用程序逻辑(例如,在存储过程或中间层)中强制执行它可能是一个较小的缺点。通常,声明性约束应该是首选,但这种特殊情况可能是少数例外情况之一。为什么不使用EER添加到混合中的专门化的图表符号呢?