都說互聯網開發盡量不用外鍵,那么這里的不用外鍵到底代表的啥意思呢?1.這里有一層意思很明確:不用外鍵約束。比如刪除一張表中的數據時,如果要級聯刪除另一張表中關聯的數據,以往是由數據庫來級聯約束的,現在應該將其移到程序中由程序來保持數據的一致性。2.另外一層意思:外鍵的定義就是在一個表中的字段是另外一張表中的主鍵。如果僅按照"不使用外鍵"這幾個字的字面理解,就是要把外鍵字段抽取出來放在一張中間表中。簡單說就是都當成多對多來處理。比如用戶(userid,username) 訂單(orderid,totalPrice,userid)問題1:這里useid就是一個外鍵,如果不用外鍵,是否就要設計成這樣?用戶(userid,username) 訂單(orderid,totalPrice)用戶-訂單中間表(userid,orderid)問題2:如果是這樣,假如一張表有多個外鍵,豈不是要有很多中間表?翻遍了百度都是說不要用外鍵,而不是說不用外鍵約束,所以讓我很疑惑,希望各位大大解惑。謝謝了!
添加回答
舉報
0/150
提交
取消