2011-11-07 22 views
1

這是正常化嗎?有沒有更有效的方式來設計這個數據庫?這是DB設計中規中矩,還是有更好的辦法?

配置文件可以有無限的專輯,任何用戶都可以創建任何人的視頻專輯。 的專輯可能包含許多視頻,視頻可以屬於多個相冊。 這是我做到這一點的方式。 。 。

[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) 

是否有更好/更有效的方法。 。 。 (我應該「合併」專輯和AlbumContent到一個表...或者是一個沒有沒有?)

回答

3
[Table] Album 
    [pk] Id 
     Title 
    [fk] Owner (Profile.Id) 
     Created 


[Table] AlbumContent 
    [fk][pk] Album (Album.Id) 
    [fk][pk] Video (Video.Id) 

我會用在專輯內容的複合主鍵 專輯內容犯規真的需要代理pk的 除非YOUE想要一個視頻多次在您的相冊

1

我只想重新命名AlbumContent到AlbumVideos如果所有內容的影片。

而且,如果專輯能有超過1個視頻,然後我就不會「合併」專輯和AlbumContent到一個表。

否則,我認爲設計是好的。

相關問題