Artist vs ArtWork vs Group之间的基数是什么?

时间:2016-01-05 10:06:51

标签: relational-database entity-relationship

  

您建立了一个数据库公司ArtBase,为艺术画廊制作产品。该产品的核心是具有架构的数据库   它捕获了画廊需要维护的所有信息。

     

画廊保存有关艺术家及其名字的信息(这些是   独特的),出生地,年龄和艺术风格。

     

对于每一件艺术品,艺术家,制作的那一年,它   独特的标题,它的艺术类型(例如,绘画,石版画,雕塑,   照片),其价格必须存储。

     

艺术品也被分为各种类别,   例如,肖像画,静物画,毕加索的作品,或者作品   19世纪;给定的作品可能属于多个组。每   group由描述的名称(如刚刚给出的名称)标识   小组。

     

最后,画廊会保留有关客户的信息。对于每一个   客户,画廊保留该人的唯一名称,地址,总数   在画廊花了多少美元(非常重要!),以及   客户喜欢的艺术家和艺术团体。

     

绘制数据库的ER图。

以下ERD是否正确?

enter image description here

某个论坛的艺术作品是否可能为零?

艺术家是否有可能不制作任何艺术品但仍然在数据库中?

1 个答案:

答案 0 :(得分:0)

1)您在艺术家和艺术作品中使用ID作为PK。这是一件好事,因为使用唯一名称(如商业模式中所要求的)是错误的:毕竟,两件艺术家或两位艺术家可能具有相同的名称。但是,您确实尊重PK为Name的Customer实体的业务模型。

你可以选择制作一个好的ERD并使用ID作为艺术品,艺术家和顾客的代理PK;或者尊重您给出的商业模式,并使用Name作为这三个实体的PK。就个人而言,我会选择前者。

仅针对商业模式,无法回答以下两个问题;以下答案反映了您设计的特定ERD的基数。

2)是的,因为根据ERD,一个小组包括0到N个艺术品;

3)是的,因为根据ERD,虽然艺术家从1到N艺术品制作(因此如果他没有做任何艺术作品就不需要在数据库中插入艺术家)仍然有客户和艺术家之间的关系,顾客喜欢1到N位艺术家。 因此,即使艺术家没有制作任何艺术作品,艺术家也可以在数据库中,前提是他至少有一位顾客喜欢。如果艺术家没有做任何艺术品并且不被任何客户所喜欢,他将不在数据库中。