數(shù)據(jù)庫原理與應(yīng)用SQL-server的簡單操作教課件_第1頁
數(shù)據(jù)庫原理與應(yīng)用SQL-server的簡單操作教課件_第2頁
數(shù)據(jù)庫原理與應(yīng)用SQL-server的簡單操作教課件_第3頁
數(shù)據(jù)庫原理與應(yīng)用SQL-server的簡單操作教課件_第4頁
數(shù)據(jù)庫原理與應(yīng)用SQL-server的簡單操作教課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理與應(yīng)用

南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院信息技術(shù)系數(shù)據(jù)庫原理與應(yīng)用

南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院信息技術(shù)系2023/8/7小組匯報各小組匯報基于SQLserver建立的基本表,需要注意的地方有哪幾點2023/7/29小組匯報各小組匯報基于SQLserver2023/8/7數(shù)據(jù)定義2023/7/29數(shù)據(jù)定義2023/8/71、定義基本表

CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[<列級完整性約束條件>][,<列名><數(shù)據(jù)類型>[<列級完整性約束條件>]]…[,<表級完整性約束條件>]);<表名>:所要定義的基本表的名稱<列名>:組成該表的各個屬性(列)名稱<列級完整性約束條件>:涉及相應(yīng)屬性列的完整性約束條件<表級完整性約束條件>:涉及一個或多個屬性列的完整性約束條件注意:SQL語句的結(jié)束符為分號2023/7/291、定義基本表CREATETABLE2023/8/7定義基本表[例1]建立一個“員工”表Staff,它由工號號Sno、姓名Sname、性別Ssex、年齡Sage、所在部門Sdept五個屬性組成。其中工號不能為空,值是唯一的,并且姓名取值也唯一。CREATETABLEStaff(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageINT,SdeptCHAR(15));2023/7/29定義基本表[例1]建立一個“員工”表S2023/8/7SQLServer主要支持的數(shù)據(jù)類型二進制數(shù)據(jù)字符數(shù)據(jù)Unicode數(shù)據(jù)日期和時間數(shù)據(jù)數(shù)字數(shù)據(jù)貨幣數(shù)據(jù)特殊數(shù)據(jù)2023/7/29SQLServer主要支持的數(shù)據(jù)類型二進2023/8/7SQLServer常用數(shù)據(jù)類型binary定長二進制數(shù)型char定長字符串型datetime日期時間型int全字長整數(shù)型decimal小數(shù)型float浮點型money貨幣型2023/7/29SQLServer常用數(shù)據(jù)類型binar2023/8/7定義基本表常用完整性約束主碼約束:PRIMARYKEY唯一性約束:UNIQUE非空值約束:NOTNULL參照完整性約束:FOREIGNKEY2023/7/29定義基本表常用完整性約束2023/8/72、修改基本表ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類型>];<表名>:要修改的基本表ADD子句:增加新列和新的完整性約束條件DROP子句:刪除指定的完整性約束條件MODIFY子句:用于修改列名和數(shù)據(jù)類型2023/7/292、修改基本表ALTERTABLE<表2023/8/7修改基本表[例2]向Staff表增加“入職時間”列,其數(shù)據(jù)類型為日期型。

ALTERTABLEStaffADDScomeDATE;不論基本表中原來是否已有數(shù)據(jù),新增加的列一律為空值。SQLServer中只有日期時間類型(datetime或smalldatetime)2023/7/29修改基本表[例2]向Staff表增加“2023/8/7修改基本表[例3]將年齡的數(shù)據(jù)類型改為半字長整數(shù)。

ALTERTABLEStaffMODIFYSageSMALLINT;注:修改原有的列定義有可能會破壞已有的數(shù)據(jù)。SQLServer中用ALTERCOLUMN替代MODIFY。2023/7/29修改基本表[例3]將年齡的數(shù)據(jù)類型改為2023/8/7修改基本表[例4]刪除員工姓名必須取唯一值的約束。ALTERTABLEStaffDROPUNIQUE(Sname);SQlServer中直接刪除約束的名稱。如果建立約束時沒有命名,則系統(tǒng)自動生成約束名。2023/7/29修改基本表[例4]刪除員工姓名必須取唯2023/8/73、刪除基本表DROPTABLE<表名>;[例5]刪除Staff表

DROPTABLEStaff;基本表定義一旦刪除,表中的數(shù)據(jù)、此表上建立的索引和視圖都將自動被刪除。因此執(zhí)行刪除基本表操作一定要小心。2023/7/293、刪除基本表DROPTABLE<表名2023/8/7課堂練習(xí)1.小組合作,分別創(chuàng)建一下三個基本表a.員工信息表b.商品信息表c.庫存信息表2023/7/29課堂練習(xí)1.小組合作,分別創(chuàng)建一下三個基本2023/8/71.員工信息表1員工編號Stuffnochar(10)唯一標識2員工姓名Stuffnamechar(20)

3性別Stuffsexchar(5)

4聯(lián)系方式Stufftelphonechar(20)5所在部門Stuffapparmentchar(20)

6密碼Stuffpasswardchar(20)2023/7/291.員工信息表1員工編號Stuffnoch2023/8/72.商品信息表編號數(shù)據(jù)項數(shù)據(jù)項字段名數(shù)據(jù)類型數(shù)據(jù)項含義1商品編號Goodsnochar(10)唯一標識2商品名稱Goodsnamechar(20)

3商品規(guī)格Goodscalechar(10)

5供應(yīng)商Supplyerchar(20)

6庫存量Sumint

7商品價格GoodspriceMoney2023/7/292.商品信息表編號數(shù)據(jù)項數(shù)據(jù)項字段名數(shù)據(jù)類2023/8/73.庫存信息表編號數(shù)據(jù)項數(shù)據(jù)項別名數(shù)據(jù)類型數(shù)據(jù)項含義1商品編號Goodsnochar(10)唯一標識,外碼2商品名稱Goodsnamechar(20)唯一標識,外碼3商品規(guī)格GoodsscaleChar(10)

4供應(yīng)商SupplyerChar(20)

5剩余總量SumremainInt2023/7/293.庫存信息表編號數(shù)據(jù)項數(shù)據(jù)項別名數(shù)據(jù)類型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ù)方式插入單個元組插入子查詢結(jié)果2023/7/291、插入數(shù)據(jù)兩種插入數(shù)據(jù)方式2023/8/7(1)插入單個元組語句格式INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]VALUES(<常量1>[,<常量2>]…)功能將新元組插入指定表中。2023/7/29(1)插入單個元組語句格式2023/8/7插入單個元組INTO子句指定要插入數(shù)據(jù)的表名及屬性列屬性列的順序可與表定義中的順序不一致沒有指定屬性列:表示要插入的是一條完整的元組,且屬性列屬性與表定義中的順序一致指定部分屬性列:插入的元組在其余屬性列上取空值

VALUES子句

提供的值(個數(shù)和類型)必須與INTO子句相匹配。2023/7/29插入單個元組INTO子句2023/8/7插入單個元組[例1]

將一個新員工記錄(工號:95027;姓名:陳學(xué)冬;性別:男;所在部門:sales;年齡:18歲)插入到Staff表中。

INSERTINTOStaffVALUES('95027','陳學(xué)冬','男',18,'sales');2023/7/29插入單個元組[例1]將一個新員工記錄(2023/8/7執(zhí)行插入操作首先檢查實體完整性規(guī)則插入行主碼屬性上的值是否存在再檢查參照完整性規(guī)則如果向被參照關(guān)系插入,不檢查如果向參照關(guān)系插入,則檢查插入行在外碼屬性上的值是否存在最后檢查用戶定義的完整性規(guī)則如果定義了用戶定義的完整性規(guī)則,則檢查插入行相應(yīng)屬性上的值是否遵守用戶定義的完整性規(guī)則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/72、刪除數(shù)據(jù)語句格式:DELETEFROM<表名>[WHERE<條件>];功能刪除指定表中滿足WHERE子句條件的元組(注意Delete語句與Drop語句的區(qū)別)WHERE子句指定要刪除的元組缺省表示要刪除表中的所有元組2023/7/292、刪除數(shù)據(jù)語句格式:2023/8/7刪除數(shù)據(jù)三種刪除方式刪除某一個元組的值刪除多個元組的值帶子查詢的刪除語句2023/7/29刪除數(shù)據(jù)三種刪除方式2023/8/7(1)刪除某一個元組的值[例8]刪除工號號為95019的員工記錄。

DELETEFROMStaffWHERESno='95019';2023/7/29(1)刪除某一個元組的值[例8]刪除工2023/8/7(2)刪除多個元組的值[例9]刪除95025號員工的所有記錄。

DELETEFROMStaffWHERESno='2';[例10]刪除所有的員工記錄。DELETEFROMStaff;2023/7/29(2)刪除多個元組的值[例9]刪除952023/8/7執(zhí)行刪除操作一般只需檢查參照完整性規(guī)則如果刪除被參照關(guān)系中的行,則檢查被刪除行在主碼屬性上的值是否正在被相應(yīng)的參照關(guān)系的外碼引用:如果不被引用,則執(zhí)行刪除操作如果被引用,則有三種可能的做法:拒絕刪除空值刪除級聯(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ù)語句格式UPDATE<表名>SET<列名>=<表達式>[,<列名>=<表達式>]…[WHERE<條件>];功能修改指定表中滿足WHERE子句條件的元組。2023/7/293、修改數(shù)據(jù)語句格式2023/8/7修改數(shù)據(jù)SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元組缺省表示要修改表中的所有元組2023/7/29修改數(shù)據(jù)SET子句2023/8/7修改數(shù)據(jù)三種修改方式修改某一個元組的值修改多個元組的值帶子查詢的修改語句2023/7/29修改數(shù)據(jù)三種修改方式2023/8/7(1)修改某一個元組的值[例4]將員工95020的年齡改為22歲。UPDATEStaffSETSage=22WHERESno='95020';2023/7/29(1)修改某一個元組的值[例4]將員工2023/8/7(2)修改多個元組的值[例5]將所有員工的年齡增加1歲。UPDATEStaffSETSage=Sage+1;[例6]將銷售部所有員工的年齡增加1歲。

UPDATEStaffSETSage=Sage+1WHERESdept='sales';2023/7/29(2)修改多個元組的值[例5]將所有員2023/8/7執(zhí)行修改操作將修改操作看成先執(zhí)行刪除操作,再執(zhí)行插入操作,因此是刪除和插入兩種情況的綜合。2023/7/29執(zhí)行修改操作將修改操作看成先執(zhí)行刪除操作,2023/8/7更新數(shù)據(jù)與數(shù)據(jù)一致性DBMS在執(zhí)行插入、刪除、更新語句時必須保證數(shù)據(jù)庫一致性必須有事務(wù)的概念和原子性完整性檢查和保證2023/7/29更新數(shù)據(jù)與數(shù)據(jù)一致性DBMS在執(zhí)行插入、刪2023/

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論