版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)原理與應(yīng)用
南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院信息技術(shù)系數(shù)據(jù)庫(kù)原理與應(yīng)用
南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院信息技術(shù)系2023/8/7小組匯報(bào)各小組匯報(bào)基于SQLserver建立的基本表,需要注意的地方有哪幾點(diǎn)2023/7/29小組匯報(bào)各小組匯報(bào)基于SQLserver2023/8/7數(shù)據(jù)定義2023/7/29數(shù)據(jù)定義2023/8/71、定義基本表
CREATETABLE<表名>(<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束條件>][,<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束條件>]]…[,<表級(jí)完整性約束條件>]);<表名>:所要定義的基本表的名稱(chēng)<列名>:組成該表的各個(gè)屬性(列)名稱(chēng)<列級(jí)完整性約束條件>:涉及相應(yīng)屬性列的完整性約束條件<表級(jí)完整性約束條件>:涉及一個(gè)或多個(gè)屬性列的完整性約束條件注意:SQL語(yǔ)句的結(jié)束符為分號(hào)2023/7/291、定義基本表CREATETABLE2023/8/7定義基本表[例1]建立一個(gè)“員工”表Staff,它由工號(hào)號(hào)Sno、姓名Sname、性別Ssex、年齡Sage、所在部門(mén)Sdept五個(gè)屬性組成。其中工號(hào)不能為空,值是唯一的,并且姓名取值也唯一。CREATETABLEStaff(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageINT,SdeptCHAR(15));2023/7/29定義基本表[例1]建立一個(gè)“員工”表S2023/8/7SQLServer主要支持的數(shù)據(jù)類(lèi)型二進(jìn)制數(shù)據(jù)字符數(shù)據(jù)Unicode數(shù)據(jù)日期和時(shí)間數(shù)據(jù)數(shù)字?jǐn)?shù)據(jù)貨幣數(shù)據(jù)特殊數(shù)據(jù)2023/7/29SQLServer主要支持的數(shù)據(jù)類(lèi)型二進(jìn)2023/8/7SQLServer常用數(shù)據(jù)類(lèi)型binary定長(zhǎng)二進(jìn)制數(shù)型char定長(zhǎng)字符串型datetime日期時(shí)間型int全字長(zhǎng)整數(shù)型decimal小數(shù)型float浮點(diǎn)型money貨幣型2023/7/29SQLServer常用數(shù)據(jù)類(lèi)型binar2023/8/7定義基本表常用完整性約束主碼約束:PRIMARYKEY唯一性約束:UNIQUE非空值約束:NOTNULL參照完整性約束:FOREIGNKEY2023/7/29定義基本表常用完整性約束2023/8/72、修改基本表ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類(lèi)型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類(lèi)型>];<表名>:要修改的基本表ADD子句:增加新列和新的完整性約束條件DROP子句:刪除指定的完整性約束條件MODIFY子句:用于修改列名和數(shù)據(jù)類(lèi)型2023/7/292、修改基本表ALTERTABLE<表2023/8/7修改基本表[例2]向Staff表增加“入職時(shí)間”列,其數(shù)據(jù)類(lèi)型為日期型。
ALTERTABLEStaffADDScomeDATE;不論基本表中原來(lái)是否已有數(shù)據(jù),新增加的列一律為空值。SQLServer中只有日期時(shí)間類(lèi)型(datetime或smalldatetime)2023/7/29修改基本表[例2]向Staff表增加“2023/8/7修改基本表[例3]將年齡的數(shù)據(jù)類(lèi)型改為半字長(zhǎng)整數(shù)。
ALTERTABLEStaffMODIFYSageSMALLINT;注:修改原有的列定義有可能會(huì)破壞已有的數(shù)據(jù)。SQLServer中用ALTERCOLUMN替代MODIFY。2023/7/29修改基本表[例3]將年齡的數(shù)據(jù)類(lèi)型改為2023/8/7修改基本表[例4]刪除員工姓名必須取唯一值的約束。ALTERTABLEStaffDROPUNIQUE(Sname);SQlServer中直接刪除約束的名稱(chēng)。如果建立約束時(shí)沒(méi)有命名,則系統(tǒng)自動(dòng)生成約束名。2023/7/29修改基本表[例4]刪除員工姓名必須取唯2023/8/73、刪除基本表DROPTABLE<表名>;[例5]刪除Staff表
DROPTABLEStaff;基本表定義一旦刪除,表中的數(shù)據(jù)、此表上建立的索引和視圖都將自動(dòng)被刪除。因此執(zhí)行刪除基本表操作一定要小心。2023/7/293、刪除基本表DROPTABLE<表名2023/8/7課堂練習(xí)1.小組合作,分別創(chuàng)建一下三個(gè)基本表a.員工信息表b.商品信息表c.庫(kù)存信息表2023/7/29課堂練習(xí)1.小組合作,分別創(chuàng)建一下三個(gè)基本2023/8/71.員工信息表1員工編號(hào)Stuffnochar(10)唯一標(biāo)識(shí)2員工姓名Stuffnamechar(20)
3性別Stuffsexchar(5)
4聯(lián)系方式Stufftelphonechar(20)5所在部門(mén)Stuffapparmentchar(20)
6密碼Stuffpasswardchar(20)2023/7/291.員工信息表1員工編號(hào)Stuffnoch2023/8/72.商品信息表編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)字段名數(shù)據(jù)類(lèi)型數(shù)據(jù)項(xiàng)含義1商品編號(hào)Goodsnochar(10)唯一標(biāo)識(shí)2商品名稱(chēng)Goodsnamechar(20)
3商品規(guī)格Goodscalechar(10)
5供應(yīng)商Supplyerchar(20)
6庫(kù)存量Sumint
7商品價(jià)格GoodspriceMoney2023/7/292.商品信息表編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)字段名數(shù)據(jù)類(lèi)2023/8/73.庫(kù)存信息表編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)別名數(shù)據(jù)類(lèi)型數(shù)據(jù)項(xiàng)含義1商品編號(hào)Goodsnochar(10)唯一標(biāo)識(shí),外碼2商品名稱(chēng)Goodsnamechar(20)唯一標(biāo)識(shí),外碼3商品規(guī)格GoodsscaleChar(10)
4供應(yīng)商SupplyerChar(20)
5剩余總量SumremainInt2023/7/293.庫(kù)存信息表編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)別名數(shù)據(jù)類(lèi)型2023/8/7數(shù)據(jù)更新1、插入數(shù)據(jù)2、刪除數(shù)據(jù)3、修改數(shù)據(jù)2023/7/29數(shù)據(jù)更新1、插入數(shù)據(jù)2023/8/71、插入數(shù)據(jù)兩種插入數(shù)據(jù)方式插入單個(gè)元組插入子查詢(xún)結(jié)果2023/7/291、插入數(shù)據(jù)兩種插入數(shù)據(jù)方式2023/8/7(1)插入單個(gè)元組語(yǔ)句格式INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]VALUES(<常量1>[,<常量2>]…)功能將新元組插入指定表中。2023/7/29(1)插入單個(gè)元組語(yǔ)句格式2023/8/7插入單個(gè)元組INTO子句指定要插入數(shù)據(jù)的表名及屬性列屬性列的順序可與表定義中的順序不一致沒(méi)有指定屬性列:表示要插入的是一條完整的元組,且屬性列屬性與表定義中的順序一致指定部分屬性列:插入的元組在其余屬性列上取空值
VALUES子句
提供的值(個(gè)數(shù)和類(lèi)型)必須與INTO子句相匹配。2023/7/29插入單個(gè)元組INTO子句2023/8/7插入單個(gè)元組[例1]
將一個(gè)新員工記錄(工號(hào):95027;姓名:陳學(xué)冬;性別:男;所在部門(mén):sales;年齡:18歲)插入到Staff表中。
INSERTINTOStaffVALUES('95027','陳學(xué)冬','男',18,'sales');2023/7/29插入單個(gè)元組[例1]將一個(gè)新員工記錄(2023/8/7執(zhí)行插入操作首先檢查實(shí)體完整性規(guī)則插入行主碼屬性上的值是否存在再檢查參照完整性規(guī)則如果向被參照關(guān)系插入,不檢查如果向參照關(guān)系插入,則檢查插入行在外碼屬性上的值是否存在最后檢查用戶(hù)定義的完整性規(guī)則如果定義了用戶(hù)定義的完整性規(guī)則,則檢查插入行相應(yīng)屬性上的值是否遵守用戶(hù)定義的完整性規(guī)則2023/7/29執(zhí)行插入操作首先檢查實(shí)體完整性規(guī)則2023/8/7數(shù)據(jù)更新1、插入數(shù)據(jù)2、刪除數(shù)據(jù)3、修改數(shù)據(jù)2023/7/29數(shù)據(jù)更新1、插入數(shù)據(jù)2023/8/72、刪除數(shù)據(jù)語(yǔ)句格式:DELETEFROM<表名>[WHERE<條件>];功能刪除指定表中滿(mǎn)足WHERE子句條件的元組(注意Delete語(yǔ)句與Drop語(yǔ)句的區(qū)別)WHERE子句指定要?jiǎng)h除的元組缺省表示要?jiǎng)h除表中的所有元組2023/7/292、刪除數(shù)據(jù)語(yǔ)句格式:2023/8/7刪除數(shù)據(jù)三種刪除方式刪除某一個(gè)元組的值刪除多個(gè)元組的值帶子查詢(xún)的刪除語(yǔ)句2023/7/29刪除數(shù)據(jù)三種刪除方式2023/8/7(1)刪除某一個(gè)元組的值[例8]刪除工號(hào)號(hào)為95019的員工記錄。
DELETEFROMStaffWHERESno='95019';2023/7/29(1)刪除某一個(gè)元組的值[例8]刪除工2023/8/7(2)刪除多個(gè)元組的值[例9]刪除95025號(hào)員工的所有記錄。
DELETEFROMStaffWHERESno='2';[例10]刪除所有的員工記錄。DELETEFROMStaff;2023/7/29(2)刪除多個(gè)元組的值[例9]刪除952023/8/7執(zhí)行刪除操作一般只需檢查參照完整性規(guī)則如果刪除被參照關(guān)系中的行,則檢查被刪除行在主碼屬性上的值是否正在被相應(yīng)的參照關(guān)系的外碼引用:如果不被引用,則執(zhí)行刪除操作如果被引用,則有三種可能的做法:拒絕刪除空值刪除級(jí)聯(lián)刪除2023/7/29執(zhí)行刪除操作一般只需檢查參照完整性規(guī)則2023/8/7數(shù)據(jù)更新1、插入數(shù)據(jù)2、刪除數(shù)據(jù)3、修改數(shù)據(jù)2023/7/29數(shù)據(jù)更新1、插入數(shù)據(jù)2023/8/73、修改數(shù)據(jù)語(yǔ)句格式UPDATE<表名>SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]…[WHERE<條件>];功能修改指定表中滿(mǎn)足WHERE子句條件的元組。2023/7/293、修改數(shù)據(jù)語(yǔ)句格式2023/8/7修改數(shù)據(jù)SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元組缺省表示要修改表中的所有元組2023/7/29修改數(shù)據(jù)SET子句2023/8/7修改數(shù)據(jù)三種修改方式修改某一個(gè)元組的值修改多個(gè)元組的值帶子查詢(xún)的修改語(yǔ)句2023/7/29修改數(shù)據(jù)三種修改方式2023/8/7(1)修改某一個(gè)元組的值[例4]將員工95020的年齡改為22歲。UPDATEStaffSETSage=22WHERESno='95020';2023/7/29(1)修改某一個(gè)元組的值[例4]將員工2023/8/7(2)修改多個(gè)元組的值[例5]將所有員工的年齡增加1歲。UPDATEStaffSETSage=Sage+1;[例6]將銷(xiāo)售部所有員工的年齡增加1歲。
UPDATEStaffSETSage=Sage+1WHERESdept='sales';2023/7/29(2)修改多個(gè)元組的值[例5]將所有員2023/8/7執(zhí)行修改操作將修改操作看成先執(zhí)行刪除操作,再執(zhí)行插入操作,因此是刪除和插入兩種情況的綜合。2023/7/29執(zhí)行修改操作將修改操作看成先執(zhí)行刪除操作,2023/8/7更新數(shù)據(jù)與數(shù)據(jù)一致性DBMS在執(zhí)行插入、刪除、更新語(yǔ)句時(shí)必須保證數(shù)據(jù)庫(kù)一致性必須有事務(wù)的概念和原子性完整性檢查和保證2023/7/29更新數(shù)據(jù)與數(shù)據(jù)一致性DBMS在執(zhí)行插入、刪2023/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加氣混凝土配料澆注工安全理論考核試卷含答案
- 光伏砷化鎵組件制造工班組建設(shè)模擬考核試卷含答案
- 加濕軟麻工安全行為考核試卷含答案
- 鉆井架安裝工復(fù)試知識(shí)考核試卷含答案
- 高頻等離子工崗前履職考核試卷含答案
- 2025年加氣柱合作協(xié)議書(shū)
- 2025年電氣、電子設(shè)備用玻璃部件相關(guān)工業(yè)品用玻璃部件項(xiàng)目發(fā)展計(jì)劃
- 2025年照明器具生產(chǎn)專(zhuān)用設(shè)備合作協(xié)議書(shū)
- 2026年上海市黃浦區(qū)初三上學(xué)期語(yǔ)文一模試卷及答案
- 犬類(lèi)介紹課件
- 2025年全國(guó)職業(yè)院校技能大賽中職組(母嬰照護(hù)賽項(xiàng))考試題庫(kù)(含答案)
- 2026江蘇鹽城市阜寧縣科技成果轉(zhuǎn)化服務(wù)中心選調(diào)10人考試參考題庫(kù)及答案解析
- 托管機(jī)構(gòu)客戶(hù)投訴處理流程規(guī)范
- 2026年及未來(lái)5年中國(guó)建筑用腳手架行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 銀行客戶(hù)信息安全課件
- 2026年四川單招單招考前沖刺測(cè)試題卷及答案
- 2026年全國(guó)公務(wù)員考試行測(cè)真題解析及答案
- 2026元旦主題班會(huì):馬年猜猜樂(lè)馬年成語(yǔ)教學(xué)課件
- 架桿租賃合同
- 汽車(chē)美容裝潢工(四級(jí))職業(yè)資格考試題庫(kù)-下(判斷題匯總)
- 哈工大歷年電機(jī)學(xué)試卷及答案詳解
評(píng)論
0/150
提交評(píng)論