存储项目和项目组

时间:2014-06-12 19:36:39

标签: database database-design database-schema

假设我正在存储图像。我在数据库中拥有自动增量ID,文件名,大小等所有图像。现在我希望能够对图像进行分组。例如,我想要“自然”组中的所有自然图片 我有一个名为“groups”的新表。我该如何将图像放在“自然”组中?以下是我的一些想法:
1.有一个存储图像ID和组ID的新表。如果群体性质有5张图片,则会有5个条目指向自然 2.将所有文件作为数组存储在组行中。例如,我在组表中有一个列来放置一个文件数组 3.将组存储在图像表中。我会在images表中有一个列,我在其中设置了它所在的组。

哪种行动最佳?

2 个答案:

答案 0 :(得分:0)

我会创建一个新的组表,其中groupid和group(例如nature,people等)作为字段。然后将groupid添加为图像表中的字段。图像表中的每个图像都从组表中分配了它所属的组的groupid。

答案 1 :(得分:0)

让我们从关系开始。

  • 图片可以在一个或多个组中。
  • 一个群组可以有一个或多个图片。

所以,现在我们创建域表。

Image
-----
Image ID
File name
Image size
...

Group
-----
Group ID
Group name
Group description
...

现在,我们创建联结表

GroupImage
----------
Group ID
Image ID
Group image time stamp
...

主(群集)密钥是(组ID,图像ID)。您还可以在(图像ID,组ID)上定义唯一索引。

基本上,您可以定义关系,然后可以定义关系表。