您建立了一个数据库公司ArtBase,为艺术画廊制作产品。该产品的核心是具有架构的数据库 它捕获了画廊需要维护的所有信息。
画廊保存有关艺术家及其名字的信息(这些是 独特的),出生地,年龄和艺术风格。
对于每一件艺术品,艺术家,制作的那一年,它 独特的标题,它的艺术类型(例如,绘画,石版画,雕塑, 照片),其价格必须存储。
艺术品也被分为各种类别, 例如,肖像画,静物画,毕加索的作品,或者作品 19世纪;给定的作品可能属于多个组。每 group由描述的名称(如刚刚给出的名称)标识 小组。
最后,画廊会保留有关客户的信息。对于每一个 客户,画廊保留该人的唯一名称,地址,总数 在画廊花了多少美元(非常重要!),以及 客户喜欢的艺术家和艺术团体。
绘制数据库的ER图。
以下ERD是否正确?
某个论坛的艺术作品是否可能为零?
艺术家是否有可能不制作任何艺术品但仍然在数据库中?
答案 0 :(得分:0)
1)您在艺术家和艺术作品中使用ID作为PK。这是一件好事,因为使用唯一名称(如商业模式中所要求的)是错误的:毕竟,两件艺术家或两位艺术家可能具有相同的名称。但是,您确实尊重PK为Name的Customer实体的业务模型。
你可以选择制作一个好的ERD并使用ID作为艺术品,艺术家和顾客的代理PK;或者尊重您给出的商业模式,并使用Name作为这三个实体的PK。就个人而言,我会选择前者。
仅针对商业模式,无法回答以下两个问题;以下答案反映了您设计的特定ERD的基数。
2)是的,因为根据ERD,一个小组包括0到N个艺术品;
3)是的,因为根据ERD,虽然艺术家从1到N艺术品制作(因此如果他没有做任何艺术作品就不需要在数据库中插入艺术家)仍然有客户和艺术家之间的关系,顾客喜欢1到N位艺术家。 因此,即使艺术家没有制作任何艺术作品,艺术家也可以在数据库中,前提是他至少有一位顾客喜欢。如果艺术家没有做任何艺术品并且不被任何客户所喜欢,他将不在数据库中。