Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 如何在EERD中表示多值子类型?_Sql_Sql Server_Erd - Fatal编程技术网

Sql 如何在EERD中表示多值子类型?

Sql 如何在EERD中表示多值子类型?,sql,sql-server,erd,Sql,Sql Server,Erd,我试图在EErd中代表一个问题。问题可以是真/假问题或多项选择题。如果是一个选择题,那么我需要添加它的答案,因此我创建了一个子类型,其中包含choiceChar(a、b、c、d)和choiceValue: 现在我想知道我是否应该对choiceChar和choiceValue属性使用多值表示法,因为每个多项选择题都有多个答案,还是应该将其作为单个值保留,因为我将在同一个表中表示choiceChar和choiceValue 我的问题是如何在EERD中表示多值子类型,以实现同时具有choiceCha

我试图在EErd中代表一个问题。问题可以是真/假问题或多项选择题。如果是一个选择题,那么我需要添加它的答案,因此我创建了一个子类型,其中包含choiceChar(a、b、c、d)和choiceValue:

现在我想知道我是否应该对choiceChar和choiceValue属性使用多值表示法,因为每个多项选择题都有多个答案,还是应该将其作为单个值保留,因为我将在同一个表中表示choiceChar和choiceValue


我的问题是如何在EERD中表示多值子类型,以实现同时具有choiceChar和choiceValue的功能?

基于您的choiceChar/choiceValue示例,我相信您具有函数依赖性
choiceChar->choiceValue
。这意味着将这两个元素建模为独立的多值属性是不正确的——相反,选择应该建模为一对多关系中的实体集

我认为选择是一个弱实体,因为我相信不同的问题可以用相同的
choiceChar
进行选择,所以我们可以通过复合键
(qId,choiceChar)
来识别选择

实际上,这是这样实现的:


请编辑您的问题,您使用SQL Server的是什么RDBMS?还是MySql?标记一。我使用的是SQL Server,但我认为我的问题更多地与ERD阶段有关,在创建表之前,您能解释choiceValue并给出您想要记录在表中的值的示例吗?choiceValue是否依赖于choiceChar,或者反之亦然?您已经指出,问题是一个弱实体集(双边框矩形),并且完全参与关系(左边的双线),正如我所期望的,弱实体集在标识关系中,但您已经给了它自己的标识(qId)。这是怎么回事?假设问题是“html的含义是什么?”然后我将在mcq表中添加一些行,供其选择choiceChar>>“a”和choiceValue>>“如何制作柠檬”choiceChar>>“b”和choiceValue>>“超文本标记语言”choiceChar>>“c”和choiceValue>>“以上所有内容”