數(shù)據(jù)庫原理課件_第1頁
數(shù)據(jù)庫原理課件_第2頁
數(shù)據(jù)庫原理課件_第3頁
數(shù)據(jù)庫原理課件_第4頁
數(shù)據(jù)庫原理課件_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)庫原理課件1數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem第三章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL2第三章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL31SQL概述32學(xué)生課程數(shù)據(jù)庫33數(shù)據(jù)定義34數(shù)據(jù)查詢35數(shù)據(jù)更新36視圖37小結(jié)331SQL概述311SQL的產(chǎn)生與進(jìn)展ChamberlinSEQUELSQL大型數(shù)據(jù)庫SybaseINIXSQLServerOracleDB2INGRES小型數(shù)據(jù)庫FoxProAccess31SQL概述SQL語言標(biāo)準(zhǔn)化標(biāo)準(zhǔn)大致頁數(shù)發(fā)布日期SQL86198610SQL89FIPS1271120頁1989年SQL92622頁1992年SQL991700頁1999年SQL2022360頁2022年5312SQL的特點(diǎn)1綜合統(tǒng)一SQL集數(shù)據(jù)定義語言DDL數(shù)據(jù)操縱DML數(shù)據(jù)操縱語言DCL的功能于一體語言風(fēng)格統(tǒng)一可獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動(dòng)非關(guān)系模型的數(shù)據(jù)語言一般分為模式數(shù)據(jù)定義語言模式DDL外模式數(shù)據(jù)定義語言外模式DDL數(shù)據(jù)存儲(chǔ)有關(guān)的描述語言DSDL數(shù)據(jù)操縱語言DML定義關(guān)系模式插入數(shù)據(jù)建立數(shù)據(jù)庫對(duì)數(shù)據(jù)庫中的數(shù)據(jù)舉行查詢和更新數(shù)據(jù)庫的重構(gòu)和維護(hù)數(shù)據(jù)庫安好性完整性操縱6312SQL的特點(diǎn)續(xù)2高度非過程化只要提出做什么而無須指明怎么做非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言面向過程務(wù)必制定存取路徑SQL只要提出做什么無須了解存取路徑存取路徑的選擇以及SQL的操作過程由系統(tǒng)自動(dòng)完成7312SQL的特點(diǎn)續(xù)3面向集合的操作方式采用集合操作方式操作對(duì)象和結(jié)果都是元組的集合非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式操作對(duì)象是一條記錄SQL采用集合操作方式操作對(duì)象查找結(jié)果可以是元組的集合插入刪除更新操作的對(duì)象可以是元組的集合8312SQL的特點(diǎn)續(xù)4以同一種語法布局供給兩種使用方法既是獨(dú)立的語言又是嵌入式語言SQL是獨(dú)立的語言能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式SQL又是嵌入式語言SQL能夠嵌入到高級(jí)語言例如CCJava程序中供程序員設(shè)計(jì)程序時(shí)使用9312SQL的特點(diǎn)續(xù)5語言干脆易學(xué)易用類似于英語的自然語言干脆易用核心功能只用9個(gè)動(dòng)詞10313SQL的根本概念SQL語言支持關(guān)系數(shù)據(jù)庫三級(jí)模式布局外模式對(duì)應(yīng)于視圖和片面根本表模式對(duì)應(yīng)于根本表內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件11SQL的根本概念續(xù)12根本表是獨(dú)立存在的表一個(gè)關(guān)系對(duì)應(yīng)一個(gè)表一個(gè)或多個(gè)根本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件一個(gè)表可帶若干個(gè)索引索引也存放在存儲(chǔ)文件中SQL的根本概念續(xù)返回存儲(chǔ)文件的規(guī)律布局組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式存儲(chǔ)文件的物理布局是任意的對(duì)用戶是通明的1332學(xué)生課程數(shù)據(jù)庫本章用到了三個(gè)表學(xué)生表StudentSnoSnameSsexSdept課程表CourseCnoCnameCpnoCcredit學(xué)生選課表SCSnoCnoGrade返回1433數(shù)據(jù)定義1533數(shù)據(jù)定義留神SQL的數(shù)據(jù)定義功能包括模式定義表定義視圖和索引的定義但只允許修改表定義而模式定義視圖定義和索引定義的修改需要先將它們刪除再重建16331模式的定義與刪除1定義模式CREATESCHEMAAUTHORIZATION在SQL中一個(gè)SQL模式定義為根本表的集合一個(gè)SQL模式由模式名和模式擁有者的用戶名或帳號(hào)來確定并包含模式中每一個(gè)元素根本表視圖索引等的定義創(chuàng)造SQL模式就是定義了一個(gè)存儲(chǔ)空間17定義模式續(xù)例1定義一個(gè)學(xué)生課程模式STCREATESCHEMASTAUTHORIZATIONWANG為用戶WANG定義了一個(gè)模式ST例2CREATESCHEMAAUTHORIZATIONWANG隱含為用戶名WANG如沒有指定那么隱含為18定義模式續(xù)定義模式實(shí)際上定義了一個(gè)命名空間在這個(gè)空間中可以定義該模式包含的數(shù)據(jù)庫對(duì)象例如根本表視圖索引等在CREATESCHEMA中可以采納CREATETABLECREATEVIEW和GRANT子句CREATESCHEMAAUTHORIZATION19定義模式續(xù)例3CREATESCHEMATESTAUTHORIZATIONZHANGCREATETABLETAB1COL1SMALLINTCOL2INTCOL3CHAR20COL4NUMERIC103COL5DECIMAL52為用戶ZHANG創(chuàng)造了一個(gè)模式TEST并在其中定義了一個(gè)表TAB120模式的定義與刪除續(xù)2刪除模式DROPSCHEMACASCADE和RESTIRCT兩者務(wù)必選一CASCADE級(jí)聯(lián)在刪除模式時(shí)連同其中的全體數(shù)據(jù)庫對(duì)象一起刪除RESTRICT限制假設(shè)該模式中已定義了下屬的數(shù)據(jù)庫對(duì)象那么拒絕執(zhí)行該刪除語句只有該模式下無任何下屬對(duì)象時(shí)才能執(zhí)行21刪除模式續(xù)例4DROPSCHEMAZHANGCASCADE刪除模式ZHANG同時(shí)該模式中定義的表TAB1也被刪除22332根本表的定義刪除與修改1定義根本表CREATETABLE所要定義的根本表的名字組成該表的各個(gè)屬性列相應(yīng)屬性列的完整性約束條件一或多個(gè)屬性列的完整性約束條件23例建立一個(gè)學(xué)生表Student由學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept屬性組成其中學(xué)號(hào)不能為空值是唯一的并且姓名取值也唯一CREATETABLEStudentSnoCHAR5NOTNULLUNIQUESnameCHAR20UNIQUESsexCHAR1SageINTSdeptCHAR1524學(xué)生表Student例5建立學(xué)生表Student學(xué)號(hào)是主碼姓名取值唯一CREATETABLEStudentSnoCHAR9PRIMARYKEY列級(jí)完整性約束條件SnameCHAR20UNIQUESname取唯一值SsexCHAR2SageSMALLINTSdeptCHAR20主碼25課程表Course例6建立一個(gè)課程表CourseCREATETABLECourseCnoCHAR4PRIMARYKEYCnameCHAR40CpnoCHAR4CcreditSMALLINTFOREIGNKEYCpnoREFERENCESCourseCno先修課Cpno是外碼被參照表是Course被參照列是Cno26學(xué)生選課表SC例7建立一個(gè)學(xué)生選課表SCCREATETABLESCSnoCHAR9CnoCHAR4GradeSMALLINTPRIMARYKEYSnoCno主碼由兩個(gè)屬性構(gòu)成務(wù)必作為表級(jí)完整性舉行定義FOREIGNKEYSnoREFERENCESStudentSno表級(jí)完整性約束條件Sno是外碼被參照表是StudentFOREIGNKEYCnoREFERENCESCourseCno表級(jí)完整性約束條件Cno是外碼被參照表是Course27定義根本表續(xù)常用完整性約束主碼約束PRIMARYKEY唯一性約束UNIQUE非空值約束NOTNULL參照完整性約束FOREIGNKEYREFERENCES28PRIMARYKEY與UNIQUE的識(shí)別可使用UNIQUE約束確保在非主鍵列中不輸入重復(fù)值一個(gè)表可以定義多個(gè)UNIQUE約束而只能定義一個(gè)PRIMARYKEY約束允許空值的列上可以定義UNIQUE約束而不能定義PRIMARYKEY約束292數(shù)據(jù)類型SQL中域的概念用數(shù)據(jù)類型來實(shí)現(xiàn)定義表的屬性時(shí)需要指明其數(shù)據(jù)類型及長(zhǎng)度選用哪種數(shù)據(jù)類型取值范圍要做哪些運(yùn)算30SQLServer數(shù)據(jù)類型整數(shù)數(shù)據(jù)精確數(shù)值近似浮點(diǎn)數(shù)值日期時(shí)間數(shù)據(jù)bigintintsmallinttinyintnumeric和decimalfloat和realdatetime與smalldatetime31SQLServer數(shù)據(jù)類型字符串?dāng)?shù)據(jù)Unicode字符串?dāng)?shù)據(jù)二進(jìn)制數(shù)據(jù)貨幣數(shù)據(jù)charvarchartextncharnvarchar與ntextbinaryvarbinaryimagemoney與smallmoney特殊數(shù)據(jù)timestamp和uniqueidentifier323修改根本表ALTERTABLEADD完整性約束DROPDROPCOLUMNALTERCOLUMN要修改的根本表ADD子句增加新列和新的完整性約束條件DROP子句刪除指定的完整性約束條件DROPCOLUMN子句刪除列ALTERCOLUMN子句用于修改原有的列定義33例題例8向Student表增加入學(xué)時(shí)間列其數(shù)據(jù)類型為日期型ALTERTABLEStudentADDSentranceDATE不管根本表中原來是否已有數(shù)據(jù)新增加列一律為空值34例題例9將年齡的數(shù)據(jù)類型改為整型ALTERTABLEStudentALTERCOLUMNSageINT修改原有的列定義有可能會(huì)破壞已有數(shù)據(jù)例10增加課程名稱務(wù)必取唯一值的約束條件ALTERTABLECourseADDUNIQUECname354刪除根本表DROPTABLERESTRICTCASCADECASCADE刪除根本表的同時(shí)相關(guān)的憑借對(duì)象如視圖等都被一起刪除RESTRICT若刪的根本表被其它表的約束引用有視圖存儲(chǔ)過程觸發(fā)器或函數(shù)時(shí)就不能被刪除否那么可以缺省值是RESTRICT36刪除根本表例5刪除Student表DROPTABLEStudentCASCADE根本表定義被刪除數(shù)據(jù)被刪除表上建立的索引視圖觸發(fā)器等一般也將被刪除37333索引的建立與刪除建立索引是加快查詢速度的有效手段索引的分類聚簇索引唯一索引非唯一索引索引是關(guān)系數(shù)據(jù)庫的內(nèi)部實(shí)現(xiàn)技術(shù)屬于內(nèi)模式的范疇CREATEINDEX語句定義索引時(shí)可以定義索引是唯一索引非唯一索引或聚簇索引非聚簇索引38索引的建立與刪除續(xù)誰可以建立索引DBA或表的屬主即建立表的人根據(jù)需要建立誰維護(hù)索引DBMS自動(dòng)完成如何使用索引DBMS自動(dòng)選擇是否使用索引以及使用哪些索引391建立索引CREATEUNIQUECLUSTERINDEXON用指定要建索引的根本表名字索引可建立在該表的一列或多列上各列名間用逗號(hào)分隔用指定索引值的排列次序升序ASC降序DESC缺省值A(chǔ)SCUNIQUE說明此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄CLUSTER表示要建立的索引是聚簇索引40例題例14為學(xué)生課程數(shù)據(jù)庫中的StudentCourseSC三個(gè)表建立索引其中Student表按學(xué)號(hào)升序建唯一索引Course表按課程號(hào)升序建唯一索引SC表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引CREATEUNIQUEINDEXStusnoONStudentSn

溫馨提示

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

評(píng)論

0/150

提交評(píng)論