SQL选择题:一个ER图中有2个1对1的联系,3个1对多的联系,4个多对多的联系和6个实体,问把他转化为关系模型
1个回答
展开全部
应该是A吧?
6个实体对应6个关系
对于实体间存在的联系,得到映射基数后,还要知道参与联系的实体是强制参与还是选择参与,比如人拥有车的关系,每辆车都有主人,不一定每个人都有车,这里人就是选择参与,车是强制参与
假设有实体A和B存在联系
对于1对1的联系
如果两边都是强制参与,可以将A的主键放到B的关系中或者将B的主键放到A的关系中,不必为这个联系新建一个关系如果一边是强制参与,一边是可选参与,则将可选参与一边的主键放到强制参与一边的关系中,不必为这个联系新建一个关系如果两边都是可选参与,则要为这个联系新建一个关系,其属性为两边的主键。
对于1对多的联系如果多的一边是强制参与,则将1的一边的主键放到多的一方的关系中,不必为这个联系新建一个关系否则,新建一个关系,其属性为两边的主键
对于多对多的关系新建一个关系,其属性为两边的主键
综上所述:1对1和1对多的话,不一定必须新建关系,而多对多必须新建关系,再加上实体的个数应该是10个
6个实体对应6个关系
对于实体间存在的联系,得到映射基数后,还要知道参与联系的实体是强制参与还是选择参与,比如人拥有车的关系,每辆车都有主人,不一定每个人都有车,这里人就是选择参与,车是强制参与
假设有实体A和B存在联系
对于1对1的联系
如果两边都是强制参与,可以将A的主键放到B的关系中或者将B的主键放到A的关系中,不必为这个联系新建一个关系如果一边是强制参与,一边是可选参与,则将可选参与一边的主键放到强制参与一边的关系中,不必为这个联系新建一个关系如果两边都是可选参与,则要为这个联系新建一个关系,其属性为两边的主键。
对于1对多的联系如果多的一边是强制参与,则将1的一边的主键放到多的一方的关系中,不必为这个联系新建一个关系否则,新建一个关系,其属性为两边的主键
对于多对多的关系新建一个关系,其属性为两边的主键
综上所述:1对1和1对多的话,不一定必须新建关系,而多对多必须新建关系,再加上实体的个数应该是10个
更多追问追答
追问
大哥,这是我们的作业,我都哭了,这两天全靠你了,麻烦了
追答
太概念的东西我也早就忘了,有sql语句的问题还好说,这个答案对吗?
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询