0

我正在爲下一步將要構建的旅行社交網絡應用程序創建數據庫。這是我迄今的工作。表名非常明瞭。我的問題是 - 這是一個好方法嗎?我希望聽到您的意見和建議,以便在數據組織和性能方面讓這個模型更好。旅行社交網絡數據庫設計

圖片:

Left part of ER diagram

Right part of ER diagram

難道是things_to_do -> events|places -> ...分公司使用推廣的好方法嗎?至於現在我必須至少進行3次連接才能獲得有關特定地點的基本數據,甚至還需要其他信息。我應該爲每個things_to_do製作單獨的表格,併爲每個表格添加新的多對多連接表以提高性能?當我說表演時,我強調搜索查詢。我怎樣才能使這個可擴展性?我應該使用其他數據庫模型嗎?

+0

這是太模糊的問題。你應該讓它更精確,否則它有可能很快就會關閉。 – ApplePie

+0

好的,謝謝。我已經說得更具體。 – Kodin

回答

1

當ER圖描繪數據的概念模型時,通常使用術語「泛化」和對應術語「專業化」。概念模型根據主題描述數據的語義,而不預先判斷哪種設計會更好。概念ERD確實與數據分析有關,而不是數據庫設計。

另一方面,您的圖表顯然是設計文檔,而不是分析文檔。它反映了你構建關係數據庫的意圖,而不是其他類型。所以你的方框代表表格,而不是更抽象的「實體」或實體之間的關係。

泛化/專業化在對象建模中有一個對應物,稱爲類型/子類型或類/子類設計。當需要以表單形式實現類/子類模式時,這種設計並不直觀,而且這種情況通常會在數據庫設計教程中傳遞。

您應該訪問這三個標籤,然後點擊「瞭解更多」以獲得您可能想要考慮的三種技術的概要:

您會在性能,編程簡易性和未來適應性之間找到一個很好的平衡點。