『壹』 資料庫中主鍵和外鍵是干嗎的
1、主鍵:若某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就是一個主鍵。主鍵不能重復,且只能有有一個,也不允許為空。定義主鍵主要是為了維護關系資料庫的完整性。
2、外鍵: 外鍵用於與另一張表的關聯,是能確定另一張表記錄的欄位。外鍵是另一個表的主鍵,可以重復,可以有多個,也可以是空值。定義外鍵主要是為了保持數據的一致性。
3、簡單來說就是把兩個表關聯起來。同樣的一個名字在兩個表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主鍵,並且name也是表grade中的主鍵,那麼表stu中的name就是表grade的外鍵了。
4、外鍵取值規則:空值或參照的主鍵值。插入非空值時,如果主鍵表中沒有這個值,則不能插入。更新時,不能改為主鍵表中沒有的值。刪除主鍵表記錄時,可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。SQL的主鍵和外鍵就是起約束作用。
5、索引的主要作用為了提高查詢速度。主鍵就是唯一索引。外鍵是兩張表之間做連接關系時用的。一般是某一張表的一個外鍵欄位引用另一張表的主鍵。
『貳』 資料庫刪除操作與哪幾種約束有關
主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。
唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。
檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。
『叄』 資料庫郵箱約束怎麼改
創建Oracle資料庫的欄位約束:
非空約束 唯一約束 對欄位的取值的約束 默認值 外鍵約束 create table tab_class( class_id number primary key, class_name varchar2(10) not null unique ); create table tab_stu( stu_id number, --學生姓名,不能為空,不能重復 stu_name varchar2(20) not null unique, --學生姓名只能是male或female stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'), --學生年齡只能在18到60之間 stu_age number check(stu_age >18 and stu_age <60), --郵箱可以不填寫,填寫的話不能相同 stu_email varchar2(30) unique, stu_address varchar2(30), --外鍵約束 class_id number not null references tab_class(class_id) );
維護已經創建好的約束:
可添加或刪除約束,但不能直接修改。 可使約束啟用和禁用。 非空約束必須使用MODIFY子句增加。 為表增加主鍵約束: --維護約束 --創建約束 create table tab_check( che_id number, che_name varchar2(20) ); --為表增加主鍵約束 alter table tab_check add constraints tab_check primary key(che_id);
添加唯一約束
--添加唯一約束,tab_check_unique表示約束的名稱 alter table tab_check add constraints tab_check_unique unique(che_name);
添加檢查約束:
--添加一個欄位 alter table tab_check add che_age number; --添加檢查約束 alter table tab_check add constraints tab_check_age check(che_age>18 and che_age<60);
刪除約束:
--刪除主鍵約束 alter table tab_check drop constraints tab_check;
禁用約束:
--禁用約束 alter table tab_check disable constraints tab_check;
啟用約束
--啟用約束 alter table tab_check enable constraints tab_check;
復合約束,聯合主鍵,也就是兩個欄位的組合成一個主鍵
--聯合主鍵 create table tab_person( tab_firstname varchar2(10), tab_lastname varchar2(10), tab_gender varchar2(5), primary key(tab_firstname,tab_lastname) );
為表添加外鍵約束:
alter table tab_stu add constraints tab_stu foreign key(class_id) references tab_class(class_id);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。