我的任务是改造一个运行 sql server 数据库的网站,该数据库包含 5 个主要类别,所有类别都挤在一个表中。
当前数据库有 2 个表:媒体和画廊。
媒体表包含 5 个主要类别中每个类别的所有信息。(视频、游戏、卡通、图片、笑话)
画廊表包含有关画廊(专辑)的信息。
某些列为空,因为没有与该 MediaType 关联的信息。例如:笑话永远不会有与之关联的 MediaHeight 或 MediaWidth。
以下是表格的外观。
媒体
画廊
最佳做法是将每个 MediaType 拆分到自己的表中吗?
就像是:
视频
ID
MediaID
MediaTypeID
VideoTitle
VideoDesc
等...
游戏
ID
MediaID
MediaTypeID
GameTitle
GameDesc
GameWidth
GameHeight
等...
笑话
ID
MediaTypeID
JokeTitle
JokeDesc
一旦所有数据都被拆分到各自的表中,我应该有一个主表来查询和执行连接吗?我不确定那张桌子会是什么样子......
目前,主页查询可能包含每个 MediaType 在任何给定时间的记录。内容会根据用户上传的内容频繁更改。使用这 5 个表格布局,包含来自每个媒体表格的数据的查询看起来如何?(视频、游戏、笑话等)
和
在向当前设计添加新媒体时,只需在 Media 表中添加新行,主页查询就会自动获取它。我不确定插入查询如何处理 5 个表。我需要更新主表,然后还需要更新单个 MediaType(例如:Jokes)表吗?
或者
我应该坚持这种臃肿的桌子设计吗?
我正在寻找一些方向,同时牢记最佳实践。
谢谢!