1. sql中主鍵和外鍵的定義是什麼
主鍵的定義:要求主鍵列數據唯一,並且不允許為空。
外鍵的定義:用於在兩表之間建立關系,需要指定引用主表的那一列。
2. SQL Server表與表之間的主外鍵關系
省和市是一對多關系,也就是說,一個省對應多個市,所以外鍵在 市 表中,兩張表都有主鍵吧,只是市表中外鍵對應的那個主鍵是省表的主鍵
省(id , code, name)
市(id, code, name, sheng(所在省))
3. SQL資料庫的表與表之間的關系怎麼連接
表與表之間是通過主外鍵鏈接的
可以通過『資料庫關系圖』進行鏈接
將要連接的表選中,然後用滑鼠拖動
列
例如
定義表Student、Course和SC之間的關系圖。
要求:先要定義好三個表的主鍵SNO、CNO、(SNO,CNO)
(1) 展開資料庫「學生管理」節點,在「資料庫關系圖」上擊右鍵,選擇「新建資料庫關系圖」命令,彈出新建資料庫關系圖向導,選擇要添加到關系圖中的表Student、Course和SC,這三個表將出現在新關系圖窗口中。每個表顯示包含的屬性和定義的主鍵,拖動標題欄可以改變它們在窗口中的位置。
(2) 將Student表的屬性SNO拖動到SC表的SNO上,松開滑鼠彈出「創建關系」窗口,設置後單擊「確定」按鈕。在Student表和SC表之間會自動出現一條連線,說明創建關系成功。同樣的方法可以創建Course表和SC表之間的關系。
(3) 單擊關閉按鈕保存。
(4) 試著修改或刪除Student、Course和SC表中的數據,看看定義關系後有何作用。
4. 如何設置SQL資料庫表與表的關聯關系
如果是 父子關系, 或者 一對多 關系。
可以通過 創建外鍵的方式, 在 父表 與 子表之間, 創建一個關聯關系。
例如:
-- 創建測試主表. ID 是主鍵.
CREATE TABLE test_main (
id INT NOT NULL,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 創建測試子表.
CREATE TABLE test_sub (
id INT NOT NULL,
main_id INT ,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 插入測試主表數據.
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
-- 插入測試子表數據.
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');
SQL> -- 創建外鍵(默認選項)
SQL> ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;
Table altered.
SQL>
SQL> -- 測試刪除主表數據. 將出錯 ORA-02292: 違反完整約束條件
SQL> DELETE
2 test_main
3 WHERE
4 ID = 1;
DELETE
*
ERROR at line 1:
ORA-02292: integrity constraint (HR.MAIN_ID_CONS) violated - child record found
5. 請問一下SQL中的主鍵和主外鍵的區別和聯系是什麼
主鍵是你這張表的標識列,外鍵是另外一張表的標識列所對應的序列
可以這樣理解
用戶表 id userName deptId 這里 id是user表中的主鍵,deptId是dept表在user表中的外鍵
1 kaka 1
部門表 id deptName
1 develop
理解為 用戶kaka所對應的部門的序列是1,部門ID為1的部門是開發部
6. SQL資料庫裡面怎樣設置表與表之間的關聯
設置關聯的兩表或者多表、通過外鍵關聯、外鍵欄位是從表中的欄位、外鍵(foreign
key)欄位需要在主表做主鍵(primary
key)、
比如
學生表(學號
主鍵,姓名)
主表
課程表(課號
主鍵,課名)
主表
選了表(學號
外鍵,
課號
外鍵,成績)
從表
這樣三個表就關聯了、記住建表順序、先主表、再從表
然後可以使用代碼或者圖形界面管理器創建外鍵、創建完就關聯了
外鍵的取值必須是主鍵的值
7. SQL Server 中的「鍵」是什麼意思主鍵和外鍵是什麼
這需要理清幾個概念:
1)候選鍵: 關系中的一個屬性組,其值能唯一標識一個元組,若從該屬性組中去掉任何一個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。
2)主鍵:當有多個候選碼時,可以選定一個作為主碼,選定的候選碼稱主鍵
3)外鍵: 關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。
舉個例子:
有兩個關系:
student(s#,sname,d#),即學生這個關系有三個屬性:學號,姓名,所在系別
dep(d#,dname),即院系有兩個屬性:系號、系名
則s#、d#是主鍵,也是各自所在關系的唯一候選鍵,d#是student的外鍵。
參考資料:資料庫——原理、編程與性能
8. sql server中表主鍵和外鍵是什麼意思如何使用主外鍵實現表關聯
表中的主鍵:是指對這個表中的數據進行唯一標識用的一個欄位,一般是自動編號列。
外鍵:其實這個外鍵是其他表的主鍵,主要用來表示這個表中的數據與另外那個表的數據之間的關系。
9. SQL Server 中的「鍵」是什麼意思主鍵和外鍵是什
主鍵就是這個表裡面是主鍵的這列的數據是不能重復的就像你的身份證是唯一的別人的身份證是不可能和你的一樣,外鍵的話一般就是另一個表的主鍵。
10. SQL中什麼叫主鍵,什麼是外鍵,有啥關系
說簡單點就是,主鍵就是唯一標識一列的約束,外鍵就是數據引用主鍵的一個約束兩者的關系就是,主鍵值必須是唯一的,也就是不能重復,外鍵引用了主鍵,那麼它的值就只能是主鍵中出現過的值,不能是主鍵未出現的值