我必須爲一個學校項目實現一個使用b樹的數據庫。數據庫用於存儲音頻文件(歌曲),並且可以進行許多不同的查詢,如詢問給定藝術家或特定專輯的所有歌曲。在數據庫中使用b樹
直觀的想法是基於B樹的使用爲每個字段(歌曲,專輯,藝術家,...),這個問題是一個可以被要求刪除任何領域的任何成員,並在情況你刪除了一個藝術家,你必須從其他b樹中刪除他的所有專輯和歌曲,請記住,例如,給定藝術家的所有歌曲不必在b樹中與歌曲相對應。
我的問題是:有沒有辦法做到這一點(刪除後刪除歌曲作者已經作出)而不必遍歷其他b樹的所有元素?我不是在尋找代碼只是想法,因爲我所提出的所有的都是蠻力的。
是的,這就是你應該做的。刪除歌曲意味着從所有樹中刪除。刪除藝術家意味着刪除他的所有歌曲。這裏沒有捷徑。您不必在其他樹中搜索,因爲歌曲記錄應該有指向所有樹節點的指針。 – 2013-02-23 19:25:35
在你的問題中,你可能有字段和表格。如果你規劃你的模式,你最終會得到幾個表。設計程序時需要牢記這一點。 – didierc 2013-02-23 20:49:04