我正在爲我的一個項目設計一個數據庫,並且在這個項目中我有許多不同種類的對象。每個對象可能都有它的評論 - 它從相同的評論表中抽取。在整個數據庫中擁有唯一行ID而不是僅在一個表中的最佳方法?
我注意到,當兩種不同類型的對象具有相同的id時,我可能會遇到問題,並且從評論表中拉出時,他們會互相評論。 我可以通過添加一個object_type
列來解決問題,但在查詢時很難保持等。
什麼是在整個數據庫中擁有唯一行ID的最佳方法?
我注意到Facebook的號碼與他們的對象真的非常大的ID號,並可能通過id mod trillion
或其他一些非常大的數字來確定它的類型。 雖然這可能工作,有沒有更多的選項來實現相同的事情,或依靠足夠大的數字範圍應該罰款?
謝謝!
整個數據庫中的唯一ID是一個有趣的想法。雖然它肯定會使關係更容易,正如你正在嘗試做的那樣,它是否也會使加載對象變得更加困難?就像在每次你遇到一個ID時,你需要弄清楚它是什麼類型的對象? –
大部分時間我都知道,在請求的上下文中,我需要加載哪個對象。我只是想到,在一些關係中,我不需要知道對象實際表示什麼,而是將數據分配給它。如果我猜猜Facebook的實現方法是正確的,他們可以在需要時輕鬆確定對象的類型 –