簡體   English   中英

鏈接表和substring_index的命名約定

[英]Naming conventions of linking tables, and substring_index

我有一個名為my_contacts的數據庫,由f_name,l_name,位置,興趣,尋求,性別,地位等項目組成。這是一個學校項目,正在學習mysql。 我創建了表格來拆分項目,例如由m和f組成的性別表; 因為將會有多對一的關系,而我分離的其他關系是尋求,興趣,地位(已婚,離婚等),興趣和尋求(朋友,新工作等)。

我非常清楚我的pk都需要什么(我在ea表中創建了一個pk,其命名約定為id_gender,id_status,id_seeking等。

我不清楚要為鏈接表命名的方式(如果我正確理解的話,它們將從鏈接的兩個表中保存我的外鍵,是否有任何命名約定或建議?我想到了“ contacts_link_gender”,“ contacts_link_status”之類的東西等

在某處也有關於如何使用mysqls“創建新的eer模型”的好教程,我正在使用murachs最新的mysql書籍,但是盡管一本好書他們傾向於對剛學的人有所幫助,但該教學向我們展示了但他非常簡短,而且很關鍵,我不是程序員,從不希望成為該學位的最后一門課程。

哦,還有一件事,當我采用諸如興趣之類的字段或使用substring_index對其進行拆分時,我在某些字段(interest_1,interest_2)中被騙了,我不知道如何解決它,我將包含我的子字符串底部的代碼再次感謝! 任何建議都歡迎

SELECT  distinct id, 
        first_name, 
        last_name,
        substring_index(location, ' ', 2) as city,
        substring_index(location, ' ',-1) as state,
        substring_index(interests, ' ', 1) as interest_1,
        substring_index(interests, ' ', -1) as interest_2,
        substring_index(seeking, ' ', 3) as seeking_1,
        substring_index(seeking, ' ', -3) as seeking_2
FROM my_contacts…..

為單獨的數據創建單獨的字段。 不要僅僅因為將事情堆放在一個字段中。

該示例違反了許多規則,尤其是零,一個或無限 規則 ,尤其是大多數數據庫規范化規則 ,因此,如果這是一個好的數據庫設計,那么我認為閱讀這本書對您的危害更大。

對於學術上的MySQL和一般的SQL方法,您可能需要更多地了解如何組織數據的理論,然后通過學習相關的MySQL語句來學習如何應用數據。 CREATE TABLEINSERT INTOSELECT FROM是這里的基礎。

在這一點上, Martin Fowler可能對您來說過於緊張,但是您可以通過示例學習適當的規范化技術。 您可以嘗試找到有關該主題的一些參考資料

更好的方法可能是將您的架構發布到代碼審查站點上,並獲得有關您的特定設計的反饋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM