Database design 在关系数据库中创建大量表可以吗?

Database design 在关系数据库中创建大量表可以吗?,database-design,Database Design,我正在开发一个有照片库的网站。照片按一定的层次结构组织-它们包含在相册中,相册包含在类别中。 数据库设计的第一个想法是制作3个表:“照片”、“相册”和“类别”。 “照片”中的记录具有唯一的id-主键,并使用“相册id”字段链接到“相册”。 “albums”中的记录也具有唯一id,并使用“category_id”字段链接到“categories” 我的朋友正在做网站的前端部分,他告诉我,他想通过增加/减少照片id在相册中的照片之间切换。在当前的数据库设计中,这并不总是可能的。所以我提出的另一个数据

我正在开发一个有照片库的网站。照片按一定的层次结构组织-它们包含在相册中,相册包含在类别中。
数据库设计的第一个想法是制作3个表:“照片”、“相册”和“类别”。
“照片”中的记录具有唯一的id-主键,并使用“相册id”字段链接到“相册”。
“albums”中的记录也具有唯一id,并使用“category_id”字段链接到“categories”

我的朋友正在做网站的前端部分,他告诉我,他想通过增加/减少照片id在相册中的照片之间切换。在当前的数据库设计中,这并不总是可能的。所以我提出的另一个数据库设计是为每个专辑创建一个新表,因此我可以建立1,2,3。。。订购相册中的照片

这是一个好的数据库设计吗?

我有什么选择?

一般来说,前端设计(UX)不应该控制后端设计。它可以通知它,但不能控制它。这是一个很好的例子,说明他提出了一个合理的要求(需要在给定相册的照片之间轻松移动),但试图基于错误的假设口述一个错误的DB模式模型


您的模型更干净(每个实体类型对应一个表,如照片、相册和类别)。我怀疑您只需要为后端提供一个API,并使用一个方法获取相册id,然后返回相册中的照片列表。然后,他可以对结果进行排序,并对结果做任何他想做的事情。第一种方法可以返回每张照片的详细信息(包括完整图像)或缩写数据(如缩略图),并允许第二种方法调用返回照片的完整数据/图像。

一般来说,前端设计(UX)不应控制后端设计。它可以通知它,但不能控制它。这是一个很好的例子,说明他提出了一个合理的要求(需要在给定相册的照片之间轻松移动),但试图基于错误的假设口述一个错误的DB模式模型

您的模型更干净(每个实体类型对应一个表,如照片、相册和类别)。我怀疑您只需要为后端提供一个API,并使用一个方法获取相册id,然后返回相册中的照片列表。然后,他可以对结果进行排序,并对结果做任何他想做的事情。第一个方法可以返回每个照片的详细信息(包括完整图像)或缩写数据(如缩略图),并允许第二个方法调用返回照片的完整数据/图像