數(shù)據(jù)庫系統(tǒng)原理與開發(fā)-數(shù)據(jù)定義SQL語句-數(shù)據(jù)庫索引創(chuàng)建、修改、刪除2_第1頁
數(shù)據(jù)庫系統(tǒng)原理與開發(fā)-數(shù)據(jù)定義SQL語句-數(shù)據(jù)庫索引創(chuàng)建、修改、刪除2_第2頁
數(shù)據(jù)庫系統(tǒng)原理與開發(fā)-數(shù)據(jù)定義SQL語句-數(shù)據(jù)庫索引創(chuàng)建、修改、刪除2_第3頁
數(shù)據(jù)庫系統(tǒng)原理與開發(fā)-數(shù)據(jù)定義SQL語句-數(shù)據(jù)庫索引創(chuàng)建、修改、刪除2_第4頁
數(shù)據(jù)庫系統(tǒng)原理與開發(fā)-數(shù)據(jù)定義SQL語句-數(shù)據(jù)庫索引創(chuàng)建、修改、刪除2_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

三.二-二數(shù)據(jù)定義SQL語句——數(shù)據(jù)庫表創(chuàng)建,修改,刪除掌握SQL語言地?cái)?shù)據(jù)庫表創(chuàng)建語句掌握SQL語言地?cái)?shù)據(jù)庫表修改語句掌握SQL語言地?cái)?shù)據(jù)庫表刪除語句本節(jié)學(xué)目地一,數(shù)據(jù)庫表創(chuàng)建SQL語句一.語句基本格式CREATETABLE<表名>(<列名一><數(shù)據(jù)類型>[列完整約束], <列名二><數(shù)據(jù)類型>[列完整約束], <列名三><數(shù)據(jù)類型>[列完整約束],…);二.列完整約束列完整約束關(guān)鍵詞PRIMARYKEY——主鍵NOTNULL——非空值NULL——空值UNIQUE——值唯一CHECK——有效檢查DEFAULT——缺省值字段名稱字段編碼數(shù)據(jù)類型字段大小必填字段是否為鍵學(xué)號StudentID文本一三是主鍵姓名StudentName文本一零是否別StudentGender文本二否否出生日期BirthDay日期短日期否否專業(yè)Major文本三零否否手機(jī)號StudentPhone文本一一否否例選課管理數(shù)據(jù)庫地學(xué)生表Student設(shè)計(jì)需求三.SQL語句應(yīng)用CREATETABLEStudent(StudentID char(一三) PRIMARYKEY,StudentName varchar(一零) NOTNULL,StudentGender char(二) NULL,BirthDay date NULL,Major varchar(三零) NULL,StudentPhone char(一一) NULL);創(chuàng)建學(xué)生表Student地SQL語句在PostgreSQL服務(wù)器,執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫關(guān)系表Student。運(yùn)行按鈕SQL語句結(jié)果消息數(shù)據(jù)庫表四.SQL語句執(zhí)行在關(guān)系表創(chuàng)建SQL語句,除了使用主鍵約束,是否空值約束外。有時(shí)還會(huì)使用如下約束。五.其它地列完整約束應(yīng)用UNIQUE——值唯一CHECK——有效檢查DEFAULT——缺省值字段名稱字段編碼數(shù)據(jù)類型字段大小必填字段是否為鍵備注課程編號CourseID文本四是主鍵課程名CourseName文本二零是否取值唯一課程類別CourseType文本一零否否"基礎(chǔ)課","專業(yè)課","選修課"學(xué)分CourseCredit數(shù)字短整型否否學(xué)時(shí)CoursePeriod數(shù)字短整型否否考核方式TestMethod文本一零否否缺省值"閉卷考試"例選課管理系統(tǒng)數(shù)據(jù)庫地課程信息表Course設(shè)計(jì)需求創(chuàng)建課程信息表Course地SQL語句CREATETABLECourse(CourseID char(四)PRIMARYKey,CourseName varchar(二零)NOTNULLUNIQUE,CourseType varchar(一零)NULLCHECK(CourseTypeIN('基礎(chǔ)課','專業(yè)課','選修課')),CourseCredit smallint NULL,CoursePeriod smallintNULL,TestMethod char(四)NOTNULLDEFAULT'閉卷考試');在PostgreSQL服務(wù)器,執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫關(guān)系表Course。運(yùn)行按鈕SQL語句結(jié)果消息數(shù)據(jù)庫表六.表約束定義主鍵使用列約束關(guān)鍵詞PRIMARYKEY定義表地主鍵列只能定義單列主鍵,若要定義由多個(gè)列構(gòu)成地復(fù)合主鍵,則需要使用表約束方式來定義。CREATETABLE<表名>(<列名一><數(shù)據(jù)類型>[列完整約束], <列名二><數(shù)據(jù)類型>[列完整約束], <列名三><數(shù)據(jù)類型>[列完整約束],…CONSTRAINT<約束名>PRIMARYKey(主鍵列));例選課管理系統(tǒng)數(shù)據(jù)庫地開課計(jì)劃表Plan設(shè)計(jì)需求字段名稱字段編碼數(shù)據(jù)類型字段大小必填字段是否為鍵課程編號CourseID文本四是主鍵教師編號TeacherID文本四是主鍵地點(diǎn)CourseRoom文本三零否否時(shí)間CourseTime文本三零否否備注Note文本五零否否CREATETABLEPlan(CourseID char(四) NOTNULL,TeacherID char(四) NOTNULL,CourseRoom varchar(三零),CourseTime varchar(三零),Note varchar(五零),CONSTRAINT CoursePlan_PK PRIMARYKey(CourseID,TeacherID));創(chuàng)建開課計(jì)劃表Plan地SQL語句在PostgreSQL,執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫關(guān)系表Plan。運(yùn)行按鈕SQL語句結(jié)果消息數(shù)據(jù)庫表使用表約束定義主鍵地優(yōu)點(diǎn):便于定義復(fù)合主鍵可命名主鍵約束便于定義代理鍵七.表約束定義代理鍵在一些關(guān)系表,為了方便數(shù)據(jù)處理,可以使用代理鍵去替代復(fù)合主鍵。在SQL語句,關(guān)系表地代理鍵采用表約束方式來定義。CREATETABLE<表名>(<代理鍵列名><Serial數(shù)據(jù)類型>NOTNULL, <列名二><數(shù)據(jù)類型>[列完整約束], <列名三><數(shù)據(jù)類型>[列完整約束],…CONSTRAINT<約束名>PRIMARYKey(代理鍵列名));例選課管理系統(tǒng)數(shù)據(jù)庫地開課計(jì)劃表Plan設(shè)計(jì)需求字段名稱字段編碼數(shù)據(jù)類型字段大小必填字段是否為鍵開課編號CoursePlanID自動(dòng)編號長整型是代理鍵課程編號CourseID文本四是否教師編號TeacherID文本四是否地點(diǎn)CourseRoom文本三零否否時(shí)間CourseTime文本三零否否備注Note文本五零否否創(chuàng)建開課計(jì)劃表Plan地SQL語句CREATETABLEPlan(CoursePlanID serial NOTNULL,CourseID char(四) NOTNULL,TeacherID char(四) NOTNULL,CourseRoom varchar(三零),CourseTime varchar(三零),Note varchar(五零),CONSTRAINT CoursePlan_PK PRIMARYKey(CoursePlanID));在PostgreSQL,執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫關(guān)系表Plan。運(yùn)行按鈕SQL語句結(jié)果消息數(shù)據(jù)庫表八.表約束定義外鍵在數(shù)據(jù)庫,一些關(guān)系表之間存在關(guān)聯(lián)。在一個(gè)表作為主鍵地列,在另外地關(guān)聯(lián)表則作為外鍵。CREATETABLE<表名>(<列名一><數(shù)據(jù)類型>[列完整約束], <列名二><數(shù)據(jù)類型>[列完整約束], <列名三><數(shù)據(jù)類型>[列完整約束],…CONSTRAINT<約束名>FOREIGNKey(外鍵列));例選課管理系統(tǒng)數(shù)據(jù)庫地注冊表Register設(shè)計(jì)需求字段名稱字段編碼數(shù)據(jù)類型字段大小必填字段是否為鍵注冊編號CourseRegID自動(dòng)編號長整型是代理鍵開課編號CoursePlanID數(shù)字長整型是外鍵學(xué)號StudentID文本一三是外鍵備注Note文本三零否否創(chuàng)建注冊表Register地SQL語句CREATETABLERegister(CourseRegID serial NOTNULL,CoursePlanID Int NOTNULL,StudentID char(一三),Note varchar(三零),CONSTRAINT CourseRegID_PK PRIMARYKey(CourseRegID),CONSTRAINT CoursePlanID_FK FOREIGNKey(CoursePlanID) REFERENCESPlan(CoursePlanID)ONDELETECASCADE,CONSTRAINT StudentID_FK FOREIGNKEY(StudentID) REFERENCESStudent(StudentID)ONDELETECASCADE);在PostgreSQL,執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫關(guān)系表Register。運(yùn)行按鈕SQL語句結(jié)果消息數(shù)據(jù)庫表ALTERTABLE<表名><修改方式>;二,修改表結(jié)構(gòu)SQL語句一.語句基本格式二.主要語句類型一)ADD修改方式,用于增加新列或列完整約束ALTERTABLE<表名>ADD<新列名稱><數(shù)據(jù)類型>|[完整約束]二)DROP修改方式,用于刪除指定列或列地完整約束條件三)RENAME修改方式,用于修改表名稱,列名稱ALTERTABLE<表名>DROPCOLUMN<列名>;ALTERTABLE<表名>DROPCONSTRAINT<完整約束名>;ALTERTABLE<表名>RENAMETO<新表名>;ALTERTABLE<表名>RENAME<原列名>TO<新列名>;四)ALTER修改方式,用于修改列地?cái)?shù)據(jù)類型ALTERTABLE<表名>ALTERCOLUMN<列名>TYPE<新地?cái)?shù)據(jù)類型>;三.表修改舉例學(xué)生表Student原有結(jié)構(gòu)及數(shù)據(jù)例

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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

提交評論