这种数据库设计可以接受吗,或者有更好的方法吗?
这正常化了吗?有没有更有效的方法来设计这个数据库?
个人资料可以有无限的相册,任何用户都可以从任何人的视频创建相册。 一个相册可以包含多个视频,一个视频可以属于多个相册。 我就是这样做的。 。 。
[Table] Profile
[pk] Id
(first, Last, Email. . . ect)
[Table] Album
[pk] Id
Title
[fk] Owner (Profile.Id)
Created
[Table] AlbumContent
[pk] Id
[fk] Album (Album.Id)
[fk] Video (Video.Id)
[Table] Video
[pk] Id
[fk] Owner (Profile.Id)
有没有更好/更有效的方法。 。 。 (我应该将Album 和AlbumContent '合并' 到一个表中...还是这是一个禁忌??)
Is this normalized properly ?? is there a more efficient way to design this DB ?
A Profile can have unlimited albums, any user can create an album from anyone's videos.
An album may contain many videos, and a video can belong to multiple albums.
This is the way I've done it. . .
[Table] Profile
[pk] Id
(first, Last, Email. . . ect)
[Table] Album
[pk] Id
Title
[fk] Owner (Profile.Id)
Created
[Table] AlbumContent
[pk] Id
[fk] Album (Album.Id)
[fk] Video (Video.Id)
[Table] Video
[pk] Id
[fk] Owner (Profile.Id)
Is there a better / more efficient way. . . (should I 'merge' Album and AlbumContent into one table... or is that a no-no ?? )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我会在相册内容上使用复合主键
专辑内容其实并不需要代言PK
除非您想在相册中多次播放同一个视频
i would use composite primary key on Album content
Album content doesnt realy need surrogate pk
unless youe want one video multiple times in your album
如果所有内容都是视频,我会将 AlbumContent 重命名为 AlbumVideos。
另外,如果一个专辑可以有超过 1 个视频,那么我不会将专辑和专辑内容“合并”到一个表中。
否则我认为设计还可以。
I would just rename AlbumContent to AlbumVideos if all the content is videos.
Also, if an Album can have more than 1 video then I would NOT 'merge' Album and AlbumContent into one table.
Otherwise I think the design is ok.