《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)完整性_第1頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)完整性_第2頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)完整性_第3頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)完整性_第4頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)完整性_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)完整性軟件技術(shù)專業(yè)群教學(xué)資源庫主鍵約束主鍵的概念01主鍵的概念關(guān)系型數(shù)據(jù)庫中的一條記錄中有若干個屬性,若其中某一個屬性能唯一標(biāo)識一條記錄,該屬性就可以成為一個主鍵。由多個屬性組成的主鍵被稱為復(fù)合主鍵。主鍵是每條信息的唯一信息,主鍵不能重復(fù),對于復(fù)合主鍵,當(dāng)全部主鍵屬性都重復(fù)時(shí)視為主鍵重復(fù),主鍵保證記錄的唯一性,主鍵自動禁止為空值,主鍵一般標(biāo)志到無意義的字段上,且主鍵一般標(biāo)志到編號字段。主鍵的聲明02方式1:創(chuàng)建表的時(shí)候?yàn)楸硖砑又麈I主鍵的聲明可以在創(chuàng)建表時(shí)就為表創(chuàng)建主鍵,語法格式為:CREATETABLEtbl_name(

主鍵字段名稱字段類型PRIMARYKEY,);其中,

PRIMARYKEY關(guān)鍵字用于將字段指定為主鍵主鍵的聲明除以上語法外,還支持使用PRIMARYKEY(主鍵字段名稱)的方式:CREATETABLEtbl_name(

主鍵字段名稱字段類型,

PRIMARYKEY(主鍵字段名稱));添加復(fù)合主鍵時(shí),使用PRIMARYKEY()指定多個主鍵屬性,并使用半角英文逗號進(jìn)行分隔主鍵的聲明可以在創(chuàng)建表時(shí)就為表創(chuàng)建復(fù)合主鍵,語法格式為:CREATETABLEtbl_name(

主鍵字段名稱1字段類型,主鍵字段名稱2字段類型,

PRIMARYKEY(主鍵字段名稱1

,主鍵字段名稱2

));方式2:修改表結(jié)構(gòu)時(shí)為表添加主鍵主鍵的聲明在表創(chuàng)建完成之后,也可以通過更新表結(jié)構(gòu)的方式為表添加主鍵,語法格式如下:ALTERTABLEtbl_nameADDPRIMARYKEY(index_col_name);其中,

PRIMARYKEY關(guān)鍵字用于將字段指定為主鍵實(shí)例:創(chuàng)建信息表info,包含id(INT類型),msg(VARCHAR類型)兩個字段,設(shè)置id為主鍵主鍵的聲明創(chuàng)建信息表并指定主鍵的語句如下:CREATETABLEinfo(idint,msgvarchar(255),PRIMARYKEY(id))軟件技術(shù)專業(yè)群教學(xué)資源庫唯一約束唯一約束的概念01唯一約束的概念唯一約束是指所有記錄中字段或字段組的值不能重復(fù)出現(xiàn),唯一約束與主鍵約束相似點(diǎn)是它們都可以確保列的唯一性。但是唯一約束和主鍵約束有所不同:唯一約束在一個表中可有多個,主鍵約束只能有一個唯一約束的列允許有空值,但是只能有一個空值,而主鍵約束不允許有空值唯一約束的創(chuàng)建和刪除02唯一約束可以在創(chuàng)建表時(shí)直接設(shè)置,通常設(shè)置在除了主鍵以外的其它列上。語法格式為:字段名數(shù)據(jù)類型UNIQUE唯一約束的創(chuàng)建和刪除UNIQUE(字段1)對于為多個列設(shè)置同一個唯一約束,并為約束命名:或者UNIQUE約束定義為表約束:CONSTRAINT約束名UNIQUE(字段1,字段2)對于已存在的表,要想為其添加唯一約束,可以在修改表時(shí)為其添加唯一約束,語法格式為:ALTERTABLE<數(shù)據(jù)表名>

ADDCONSTRAINT<唯一約束名>UNIQUE(<列名>);對于已存在的唯一約束,也可以在修改表時(shí)進(jìn)行刪除:ALTERTABLE<數(shù)據(jù)表名>

DROPCONSTRAINT<唯一約束名>;唯一約束的創(chuàng)建和刪除實(shí)例:創(chuàng)建人員信息表person,包含編號id(主鍵)、姓名name、

身份證號id_num,并為id_num字段添加唯一約束,語句為:CREATE

TABLE

PERSON(

id

int

PRIMARY

KEY,

name

varchar(255),

id_num

varchar(255)

UNIQUE)唯一約束的創(chuàng)建和刪除唯一約束創(chuàng)建完成之后,可以通過向表內(nèi)插入重復(fù)值來測試是否創(chuàng)建成功:INSERTINTOPERSON2(ID,NAME,ID_NUM)VALUES

(1,'張三',),(2,'李四',)當(dāng)提示錯誤時(shí),表示唯一約束創(chuàng)建成功。1062-Duplicateentryforkey'id_num',Time:0.007000s唯一約束的創(chuàng)建和刪除軟件技術(shù)專業(yè)群教學(xué)資源庫非空約束非空約束非空約束即NOT

NULL約束,NOTNULL約束強(qiáng)制列不接受NULL值,強(qiáng)制字段始終包含值。這意味著,如果不向字段添加值,就無法插入新記錄或者更新記錄。創(chuàng)建表時(shí)可以直接為字段添加非空約束,語法格式為:CREATETABLE表名(

字段名稱字段類型NOT

NULL

,

…);除了在新建表時(shí)添加非空約束外,對于已存在的表,可以在修改表時(shí)添加非空約束:ALTERTABLE表名MODIFY字段名

字段類型NOTNULL;非空約束對于已存在的非空約束,可以在修改表時(shí)刪除:ALTERTABLE表名MODIFY字段名

字段類型NULL;對于沒有指明NULL或NOT

NULL的字段,默認(rèn)為允許空。軟件技術(shù)專業(yè)群教學(xué)資源庫默認(rèn)約束默認(rèn)約束DEFAULT約束用于向列中插入默認(rèn)值。如果沒有規(guī)定其他的值,那么會將默認(rèn)值添加到所有的新記錄。默認(rèn)約束可以在創(chuàng)建表時(shí)直接設(shè)置,語法格式為:字段名1數(shù)據(jù)類型DEFAULT字段1默認(rèn)值對于已存在的表,要想為其添加默認(rèn)約束,可以在修改表時(shí)為其添加默認(rèn)約束,語法格式為:ALTERTABLE表名ALTER字段名1SETDEFAULT字段名1默認(rèn)值對于已存在的默認(rèn)約束,也可以在修改表時(shí)進(jìn)行刪除:ALTERTABLE表名ALTER列名

DROPDEFAULT;默認(rèn)約束實(shí)例:創(chuàng)建人員信息表person,包含編號id(主鍵)、姓名name、地區(qū)area,并為area字段添加默認(rèn)約束,設(shè)置默認(rèn)值為“北京”,語句為:CREATE

TABLE

PERSON(

id

int

PRIMARY

KEY,

name

varchar(255),

area

varchar(255)

DEFAULT

'北京')默認(rèn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論