數(shù)據(jù)庫入門教程初級編_第1頁
數(shù)據(jù)庫入門教程初級編_第2頁
數(shù)據(jù)庫入門教程初級編_第3頁
數(shù)據(jù)庫入門教程初級編_第4頁
數(shù)據(jù)庫入門教程初級編_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫入門教程初級編第一頁,共二十五頁,編輯于2023年,星期三內(nèi)容數(shù)據(jù)庫的相關概念實用SQL語言第二頁,共二十五頁,編輯于2023年,星期三關系模型由實體和聯(lián)系構成,即通常所說的E-R圖。實體通常以表的形式表現(xiàn),表的每一行描述實體的一個實例,表的每一列描述實體的一個特征或?qū)傩浴B?lián)系指實體間的對應關系,聯(lián)系分為三種:一對一的聯(lián)系一對多的聯(lián)系多對一的聯(lián)系第三頁,共二十五頁,編輯于2023年,星期三關系模型一對一的聯(lián)系。如:一個人只有一種性別,一個人→性別為一對一的聯(lián)系;一對多的聯(lián)系。如:相同性別的人有許多個,性別→人為一對多的聯(lián)系;多對一的聯(lián)系。如:很多人有同一個性別,人→性別為多對一的聯(lián)系。通過聯(lián)系就可以用一個實體的信息來查找另一個實體的信息。第四頁,共二十五頁,編輯于2023年,星期三關系數(shù)據(jù)庫基于關系模型的數(shù)據(jù)庫。關系數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構是關系,關系是指由行與列構成的二維表。在關系模型中,實體和實體間的聯(lián)系都是用關系表示的。關系不但可以表示實體間一對多的聯(lián)系,通過建立關系間的關聯(lián),也可以表示多對多的聯(lián)系。第五頁,共二十五頁,編輯于2023年,星期三主關鍵字(PrimaryKey)主關鍵字是被挑選出來,作表的行的惟一標識的侯選關鍵字。一個表通常只有一個主關鍵字。主關鍵字又可以稱為主鍵。

第六頁,共二十五頁,編輯于2023年,星期三外關鍵字(ForeignKey)外關鍵字表示了兩個關系之間的聯(lián)系。以另一個關系的外關鍵字作主關鍵字的表被稱為主表,具有此外關鍵字的表被稱為主表的從表。外關鍵字又稱作外鍵。外鍵的選擇體現(xiàn)了表(實體)之間的聯(lián)系。第七頁,共二十五頁,編輯于2023年,星期三表(Table)數(shù)據(jù)庫中主要的對象。指關系數(shù)據(jù)庫系統(tǒng)的二維表,也即關系。一般來說,關系數(shù)據(jù)庫表的結(jié)構包含三個基本組成元素:字段名、數(shù)據(jù)類型和長度。第八頁,共二十五頁,編輯于2023年,星期三表(Table)CREATETABLEEmployee(Employee_Idvarchar(20),Employee_Namevarchar(50),Employee_Departvarchar(100),Job_Idvarchar(20),Employee_Salarydecimal(18,2))第九頁,共二十五頁,編輯于2023年,星期三索引(Index)和視圖(View)索引(Index):是根據(jù)指定的數(shù)據(jù)庫表列建立起來的順序,它提供了快速訪問數(shù)據(jù)的途徑。視圖(View):視圖看上去同表似乎一模一樣,具有一組命名的、不重復的字段和數(shù)據(jù)項,但它其實是一個虛擬的表,在數(shù)據(jù)庫中并不實際存在。它是數(shù)據(jù)庫預編譯好的一段查詢語句。第十頁,共二十五頁,編輯于2023年,星期三存儲過程(Procedure)存儲過程是為完成特定的功能而匯集在一起的一組SQL程序語句,經(jīng)編譯后存儲在數(shù)據(jù)庫中的SQL程序。CREATEPROCEDUREP_GET_EMPLOYEE_INFO_BY_ID( @employee_idINT)ASBEGIN SELECT*FROMEmployeeWHEREEmployee_Id=@employee_idENDGO第十一頁,共二十五頁,編輯于2023年,星期三函數(shù)(Function)與存儲過程相比,函數(shù)必須具有返回值,并且使用的SQL語句也有諸多限制--創(chuàng)建函數(shù)(返回varchar類型的值)

createfunctiontest(@Numvarchar(20))--@Num參數(shù)returnsvarchar(50)--返回值類型asbegindeclare@MSGvarchar(20)if(@Num=1)select@MSG='正確'elseselect@MSG='錯誤'return@MSGend--調(diào)用函數(shù)selectdbo.test(2)--傳遞參數(shù)2返回結(jié)果:錯誤第十二頁,共二十五頁,編輯于2023年,星期三聚合函數(shù)COUNTSELECTCOUNT(*)FROMEmployeeWHEREJob_Id=‘0001’SUMAVGMAXMIN第十三頁,共二十五頁,編輯于2023年,星期三簡單的SELECT簡單的SELECT語句的語法如下:SELECT[DISTINCT]<目標表達式>[,<目標表達式>]... FROM<表或視圖名>[,<表或視圖名>]... [WHERE<條件表達式>] [GROUPBY<列名1>[HAVING<條件表達式>]] [ORDERBY<列名2>[ASC|DESC]] Select*fromemployeewherefname='Paolo'第十四頁,共二十五頁,編輯于2023年,星期三使用函數(shù)Selectconvert(char(10),getdate(),121);Selectupper(lname)fromemployeewherefname='Paolo';SelectdateDiff(DAY,’2008-12-12’,’2008-12-25’)第十五頁,共二十五頁,編輯于2023年,星期三判斷分支selectcasewhenfname='Anabela'then'1'whenfname='Ann'then'2'else'name'endfromemployeeorderbyfname第十六頁,共二十五頁,編輯于2023年,星期三select嵌套Select*fromemployeewherejob_idin(selectjob_idfromjobswheremin_lvlbetween0and10)第十七頁,共二十五頁,編輯于2023年,星期三表合并(union)select'1'xunionallselect'1'看看這個結(jié)果:select'1'xunionallselect'1'unionselect'1'第十八頁,共二十五頁,編輯于2023年,星期三別名定義Selectupper(lname)Unamefromemployeeawherefname='Paolo';第十九頁,共二十五頁,編輯于2023年,星期三表連接(多表查詢)select*fromemployeea,jobsbwherea.job_id=b.job_id以a表為主表:select*fromemployeea,jobsbwherea.job_id*=b.job_id以b表為主表:select*fromemployeea,jobsbwherea.job_id=*b.job_idOracle的寫法是不同的:以a表為主表:select*fromemployeea,jobsbwherea.job_id=b.job_id(+)以b表為主表:select*fromemployeea,jobsbwherea.job_id(+)=b.job_id通用的寫法:select*fromemployeeainnerjoinjobsbona.job_id=b.job_idselect*fromemployeealeftjoinjobsbona.job_id=b.job_idselect*fromemployeearightjoinjobsbona.job_id=b.job_id第二十頁,共二十五頁,編輯于2023年,星期三In條件轉(zhuǎn)換成existsSelect*fromemployeeawherea.job_idin(selectjob_idfromjobsbwhereb.min_lvlbetween20and100)Select*fromemployeeawhereexists(selectjob_idfromjobsbwherea.job_id=b.job_idandb.min_lvlbetween20and100)第二十一頁,共二十五頁,編輯于2023年,星期三簡單的update語句UPDATEStudentSETStudent_Name=‘保羅’WHEREStudent_Id=‘0001’第二十二頁,共二十五頁,編輯于2023年,星期三表聯(lián)合更新UpdateBsetB.字段=A.字段fromA,BwhereB.條件字段=A.條件字段第二十三頁,共二十五頁,編輯于2023年,星期三insert語句insertintojobs(job_desc,min_lvl,max_lvl)values('lh',99,99);不推薦下面的寫法:insertintojobsvalues('lh',99,99);在sqlserver中,IDENTITY類型的數(shù)據(jù)字段不能應用于insert第二十四頁,共二十五頁,編輯

溫馨提示

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

評論

0/150

提交評論