我正在为一位艺术家设计一个扇子网页,更具体地说,迪斯科版面。迪斯科唱片包括整个艺术家的CD,Vinyls,8张曲目,盒式磁带等等。到目前为止,我已经制作了一些相当不错的东西,但是当我需要处理发行版的所有艺术品时,我就陷入了困境,而不仅仅是封面。让我解释一下:
我的模特只负责封面。其逻辑如下:
一个发行版包含一个封面,一个封面可以在许多版本中出现(对于一个版本的版本来说,这是很多情况下发生的,因为一个版本的封面与第一版几乎相同)。
为此,我构建了两个表:release和cover
release (release_id, title, cover_id,...)
cover (cover_id, filename, width, height,...)在我决定为发行版添加更多的艺术品之前,这个模型工作得很完美。从那时起,我被困住了,我无法让我的头脑清楚地思考。
我想做的是:
我试图增加更多的艺术作品的发行,如背面,镶嵌,侧面a,侧b,小册子页等。艺术作品需要在一个特定的顺序(前封面,然后后封面,等等)。
我在为如何实现这一目标而奋斗。我是否应该保留一对多的模型,并为其余的艺术品再增加一张桌子?我是否应该把所有的图像混合在一个桌子上(让我们称之为艺术品)?如果是,我如何处理前封面,以便只有一个前封面为每个发行版。封面是否应该保持1:m的关系,因为其余的艺术品可能会以1:1的关系告终?如果所有的图像都应该放在一个表中,那么如何定位图像,以及如何使封面独特,以及发行版的主要封面?那么多的问题,导致我建立了这么多的模型,如此之多,在这一点上,我完全迷失了!
以下是基本知识:
你会怎么处理这个?
发布于 2012-12-29 09:18:54
我就是这样做的:
release (release_id, title, ...)
artwork (artwork_id, filename, width, height,...)
release_artwork(release_id, artwork_id, display_order)所有版本都属于releases表,所有艺术品都属于artwork表。
release_artwork表连接这两个表,display_order列强制执行显示顺序。用display_order=1插入盖子,其余的(后盖,镶嵌等)用2,3,4.等如需要-一个简单的ORDER BY display_order ASC然后将处理您的订单。如果您希望加倍确保封面是第一位的,则始终可以将is_cover列添加到release_artwork中,并将其设置为1作为封面。
https://dba.stackexchange.com/questions/31162
复制相似问题