假设我想创建一个将情绪与活动相关联的数据库。每当我遇到新的情绪时,制作一张新桌子是否有意义,并且在桌子内部会说与所述情感有关的所有活动的ID,每个ID都是它自己的记录,还是有更好的方式去做?数据库关系
谢谢大家!
假设我想创建一个将情绪与活动相关联的数据库。每当我遇到新的情绪时,制作一张新桌子是否有意义,并且在桌子内部会说与所述情感有关的所有活动的ID,每个ID都是它自己的记录,还是有更好的方式去做?数据库关系
谢谢大家!
我想你会想要一张名为Emotions的表格,它将包含情感的宇宙。然后,您需要一个名为Activities的表格,其中包含活动的全部内容。
然后你需要确定每个情绪是否可以有多个活动,并且如果每个活动可能有多个情绪。如果是这样,这就是所谓的多对多关联,并且您需要第三个表格,其中包含与每个活动关联的每种情绪。这第三个表通常被称为多对多关联表或映射表。
不可能说得更好。 – thomaspaulb 2010-01-20 19:52:45
我不会建议为每种情绪都添加一张新表。有一个Activity表,一个Emotion表,一个Activity和Emotion之间的连接表,我将其称为ActivityEmotion,可能会更好。
最好有一个名为emotions(id,name)的表格,另一个名为activities(id,name)的表格,以及第三个关联这两个表格的表格。 (id_emotion,id_activity)。
对一组实体中的每一个创建新表通常不是一个好主意。设置你的表是这样的:
情绪 -Id 杂牌 -...其他信息
活动 -Id 杂牌 -...其他信息
ActivityEmotions -EmotionId -ActivityId
这样,ActivityEmotions包含所有的Emotion-Activity关系。
不创建新表。我会用3个表:
这涉及到数据库规范化的主题。
表 '活动'::(ID,名)
表 '情绪':(ID,名)
表“activity2emotion:(您想设置的模式,看起来像这样什么emotion_id FK情绪。ID,ACTIVITY_ID FK的活动。ID)
六人打我给它。我会说答案已经达成共识。:-) – 2010-01-20 19:56:12