輔導君一對一收費表 建立數(shù)據(jù)庫時,既然SQL語言可以實現(xiàn)多表連接,那為什么還要建立表間的一對一,一對多這些關系呢?
建立數(shù)據(jù)庫時,既然SQL語言可以實現(xiàn)多表連接,那為什么還要建立表間的一對一,一對多這些關系呢?A:一對一、一對多和多對多關系用于設計數(shù)據(jù)庫以確定表之間的關系。它們是設計數(shù)據(jù)庫以達到某種范式的手段之一。
建立數(shù)據(jù)庫時,既然SQL語言可以實現(xiàn)多表連接,那為什么還要建立表間的一對一,一對多這些關系呢?
A:一對一、一對多和多對多關系用于設計數(shù)據(jù)庫以確定表之間的關系。它們是設計數(shù)據(jù)庫以達到某種范式的手段之一。數(shù)據(jù)庫達到某一范式的程度越高,數(shù)據(jù)庫表的一致性和完整性就越強。這可以用數(shù)學證明。
SQL語言實現(xiàn)多表連接,是到數(shù)據(jù)庫階段,通過您的SQL操作來實現(xiàn)您需要實現(xiàn)的功能。
和水庫一樣,前者也處于設計階段。水壩越高越堅固,決堤的可能性就越小。就像學生選課程一樣。刪除一門課程后,如果有外鍵,學生絕對不可能在選課表中選擇這門課程。如果沒有外鍵,很難說。
后者是使用階段,用閘門、水管或水泵抽水,要看你怎么寫。
它們在數(shù)據(jù)庫系統(tǒng)實現(xiàn)階段是不同的,功能也是不同的。
數(shù)據(jù)庫中一對一,一對多,多對多,怎樣建立關聯(lián)?
一對一。
一對多和多對一是多個表,至少兩個表,一對多和多對一是相互的:
主鍵是自己定義的,一般外鍵表引用的對應表的鍵是主鍵;
多對多有三個表,一個是關系表(中間表);
中間表沒有公共字段,一般只同時引用兩個外鍵,會出現(xiàn)多對多