我正在使用SQL Server來存儲用戶上傳的歌曲。如何跟蹤列更新?
每首歌都有一個id(簡單的自動遞增數字)和一個名字。
我想用URL重寫來查詢一些歌曲,像這樣:
http://wwww.mysite.com/song/song_name
的問題是,我也希望允許用戶更改他們的歌曲名稱仍然使用舊的URL。
我想創建另一個表將包含舊名稱,然後檢查兩個表中的一些歌名,是一個很好的解決方案嗎?
我正在使用SQL Server來存儲用戶上傳的歌曲。如何跟蹤列更新?
每首歌都有一個id(簡單的自動遞增數字)和一個名字。
我想用URL重寫來查詢一些歌曲,像這樣:
http://wwww.mysite.com/song/song_name
的問題是,我也希望允許用戶更改他們的歌曲名稱仍然使用舊的URL。
我想創建另一個表將包含舊名稱,然後檢查兩個表中的一些歌名,是一個很好的解決方案嗎?
更好的方法可能是創建一個包含URL和它綁在歌單URL表:
SongID: URL:
1 song_name
1 song_name_change
2 other_song_title
這種方法會:
此外,對於現有的songs
表我將所有的標題:
alias
的列
alias
- 將包括歌曲名稱,原始和改進target
- 歌曲的ID,參照songs
表main_alias
添加到songs
表;它會引用主別名(即最後編輯的別名),以便在您可以使用舊別名重定向人或通過其ID進入歌曲時。 查找歌曲ID +重寫URL到main alias
URL/old_song_name
- -然後,你可以通過
URL/[song_id]
訪問首由別名查找歌曲 +重寫URL來main alias
URL/new_song_name
- 同上URL/even_newer_song_name
- 同上總而言之,你可以有指向同一首歌名的數量不受限制。
與領域
songs
表)song_names
創建這個名字的時候)如果您從鏈接中獲得歌曲的名稱,可以在此表中找到它,所以你可以在songs
表中找到一首歌。實際歌曲名稱將在song_names
表中給出,其中song_id
和最近的creation_date
。
爲什麼不直接添加(原始)URL列? 如果用戶在他堅持使用他喜歡的名稱之前更改了他的歌曲名稱100次,那麼您希望這首歌曲可以通過100個URL訪問? – 2010-06-29 13:30:01