數據庫主碼外碼的創建(數據庫怎么創建外碼)
本篇文章給大家談談數據庫主碼外碼的創建,以及數據庫怎么創建外碼對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
數據庫 外碼是什么?
數據庫外碼的含義:數據庫中如果一個關系中的一個屬性是另外一個關系中的主碼則這個屬性為外碼。外碼在數據庫中是相對主碼而言的,即外鍵用于建立和加強兩個表數據之間的鏈接的一列或多列。主碼與外部碼提供了一個實現關系間聯系的手段,也是在計算機世界描述現實世界實體間聯系的手段。
主碼和外碼各有什么作用
1、主碼:保證實體的完整性;加快數據庫的操作速度;在表中添加新記錄時,ACCESS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復;ACCESS自動按主鍵值的順序顯示表中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示表中的記錄。
2、外碼:主碼和外部碼提供了一種表示不同關系之間相互關聯的手段。如關系模式供應商和供應之間的關系就是通過供應商名稱來體現的。
建立主碼應該遵循的原則
1、主鍵應當是對用戶沒有意義的。如果用戶看到了一個表示多對多關系的連接表中的數據,并抱怨它沒有什么用處,那就證明它的主鍵設計地很好。
2、永遠也不要更新主鍵。實際上,因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。
注:這項原則對于那些經常需要在數據轉換或多數據庫合并時進行數據整理的數據并不適用。
3、主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。
4、主鍵應當由計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解數據庫設計的人的手中。
以上內容參考:百度百科-主關鍵字、百度百科-外部碼
數據庫中什么是主鍵,什么是外鍵
主鍵(Primary key): 也稱為主碼或主關鍵字,用于惟一地確定一個元組的屬性或屬性組(復合主碼)。每個關系都有一個并且只有一個主碼。
外鍵(Foreign Key):也稱為外碼或外部關鍵字。如果一個屬性集不是所在關系的關鍵字,但是是其他關系的關鍵字,則該屬性集稱為外部關鍵字。
在關系數據庫中可以通過外鍵使兩個關系關聯,這種聯系通常是一對多(1:n)的,其中主(父)關系(1方)稱為被參照關系,從(子)關系(n方)稱為參照關系。
擴展資料:
數據庫主鍵作用:
1、保證實體的完整性
2、加快數據庫的操作速度
3、在表中添加新記錄時,DBMS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復。
4、DBMS自動按主鍵值的順序顯示表中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示表中的記錄。
在有些數據庫中,雖然主鍵不是必需的,但最好為每個表都設置一個主鍵,不管是單主鍵還是復合主鍵。它存在代表著表結構的完整性,表的記錄必須得有唯一區分的字段,主鍵主要是用于其他表的外鍵關聯,以及本記錄的修改與刪除。
參考資料來源:百度百科-數據庫主鍵
數據庫中怎么設置"組合主碼外碼
數據庫中怎么設置"組合主碼外碼
主碼 我們在建立數據庫的時候,需要為每張表指定一個主碼,主碼也叫主鍵。
所謂主碼就是在實體集中區分不同實體的候選碼。
一個實體集中只能有一個主碼,但可以有多個候選碼。
外碼,如果一個關系中的一個屬性是另外一個關系中的主碼則這個屬性為外碼。
組合主碼外碼用sql語句怎么寫?
SQL語言創建表時候用Primary Key(屬性名)定義主碼,用Foreign Key(屬性名)定義外碼。
主碼是一種唯一關鍵字,表定義的一部分。一個表的主碼可以由多個關鍵字共同組成,并且主碼的列不能包含空值。主碼是可選的,并且可在 CREATE TABLE語句中用Primary Key(屬性名)定義。
將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵,用Foreign Key(屬性名)定義。
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。
sql語句就是對數據庫進行操作的一種語言。
總結如下:
主碼不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。實際上,因為主碼除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主碼需要更新,則說明主碼應對用戶無意義的原則被違反了。
數據庫主碼外碼的創建的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于數據庫怎么創建外碼、數據庫主碼外碼的創建的信息別忘了在本站進行查找喔。
-
上一篇
中客網數據庫(健客網官方網) -
下一篇
西安網站建設培訓(西安網站建設公司)