版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
十天掌握VB.NET程序設(shè)計(jì)基礎(chǔ)
—第八講數(shù)據(jù)庫基礎(chǔ)潘志紅ITCAST簽約講師本講內(nèi)容數(shù)據(jù)庫的基礎(chǔ)知識關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫的分類Access數(shù)據(jù)庫簡介SQLServer數(shù)據(jù)庫簡介SQL結(jié)構(gòu)化查詢語句1.數(shù)據(jù)庫基礎(chǔ)知識1.數(shù)據(jù)庫:所謂數(shù)據(jù)庫(Database)是指一組排列成易于處理或讀取的相關(guān)信息,它是由一個或多個表對象組成的集合。這有些類似于Excel的工作簿和工作表。
2.數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是指在操作系統(tǒng)支持下為數(shù)據(jù)庫建立、使用和維護(hù)而配置的系統(tǒng)軟件。有關(guān)數(shù)據(jù)庫的概念3.數(shù)據(jù)庫應(yīng)用程序:數(shù)據(jù)庫應(yīng)用程序是指用VB、FoxPro等開發(fā)工具設(shè)計(jì)的、實(shí)現(xiàn)某種特定功能的應(yīng)用程序。如學(xué)生成績管理系統(tǒng)、工資管理系統(tǒng)、物資管理系統(tǒng)等等。它利用數(shù)據(jù)庫管理系統(tǒng)提供的各種手段訪問一個或多個數(shù)據(jù)庫,實(shí)現(xiàn)其特定的功能。4.數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是由計(jì)算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及在其他對象支持下建立起來的數(shù)據(jù)庫、數(shù)據(jù)庫應(yīng)用程序、用戶和維護(hù)人員等組成的一個整體。2.
關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫是根據(jù)表、記錄和字段之間的關(guān)系進(jìn)行數(shù)據(jù)組織和訪問的一種數(shù)據(jù)庫,它通過若干個表(Table)來存儲數(shù)據(jù),并通過關(guān)系(Relation)將這些表聯(lián)系在一起。近幾年來,關(guān)系型數(shù)據(jù)庫已成為數(shù)據(jù)庫設(shè)計(jì)事實(shí)上的標(biāo)準(zhǔn),這不僅因?yàn)殛P(guān)系模型本省具有強(qiáng)大的功能,而且還由于它提供了稱為結(jié)構(gòu)化查詢語言StructureQueryLanguage(SQL)的標(biāo)準(zhǔn)接口,該接口允許以一致的和可以理解的方法來一起使用多種數(shù)據(jù)庫工具和產(chǎn)品。在一個關(guān)系型數(shù)據(jù)庫中可以包含若干張表,每張表又由若干記錄組成,記錄由若干字段組成。表與表之間通過關(guān)系連接。關(guān)系醫(yī)生編號姓名職稱科室編號專長01104李博主任醫(yī)師01牙科01106劉曉副主任醫(yī)師0101020王林副主任醫(yī)師0102100李顰醫(yī)師0203002王西平主任醫(yī)師0304005吳星智副主任醫(yī)師0406007李可茹主任醫(yī)師06患者病例號姓名性別年齡200212002李小青男36200306007羨平女28200307003王東男12200307006劉戈女40
序號日期患者病例號醫(yī)生編號診斷結(jié)果12001-10-120021200201104牙齦炎22002-1-920030600701104智齒32002-11-320030700601020牙周炎42003-6-320021200202100皮炎52003-10-720030600701020牙齦炎關(guān)聯(lián)常用術(shù)語一關(guān)系一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。在計(jì)算機(jī)里,一個關(guān)系可以存儲為一個數(shù)據(jù)庫文件的表,例如,醫(yī)生表或患者表。元組表中的行稱為元組。一行是一個元組,對應(yīng)表中的一個記錄屬性表中的列稱為屬性,每一列有一個屬性名,對應(yīng)數(shù)據(jù)表中的一個字段,例如醫(yī)生編號、姓名、職稱等字段。域?qū)傩缘娜≈捣秶?,即不同元組對同一個屬性的取值所限定的范圍。例如,在“患者”表“女”或“男”是性別的取值范圍,對應(yīng)“性別”字段的一個域常用術(shù)語二關(guān)鍵字(主鍵)屬性或?qū)傩越M合,其值能夠唯一地標(biāo)識一個元組。比如,“醫(yī)生”表中的“醫(yī)生編號”字段,“患者”表中的“患者病歷號”都唯一地表示一名醫(yī)生、一名患者,那么它們都可以作為記錄的關(guān)鍵字。外鍵在關(guān)系A(chǔ)中存在一個屬性,不是關(guān)系的主屬性,但與另一個關(guān)系B的主鍵對應(yīng),則稱其為關(guān)系A(chǔ)的外鍵。比如學(xué)生關(guān)系中院系代碼屬性,與院系關(guān)系的主鍵“院系代碼”對應(yīng),所以是學(xué)生關(guān)系的外鍵。索引為了更快地訪問數(shù)據(jù),大多數(shù)數(shù)據(jù)庫都是用關(guān)鍵字對表進(jìn)行索引。也就是按關(guān)鍵字對數(shù)據(jù)庫進(jìn)行排序,并建立一張索引表,每個索引輸入項(xiàng)指向該記錄在數(shù)據(jù)庫中的行。類似于書籍的目錄,章節(jié)內(nèi)容指向所在的頁碼,而并不直接在目錄中放置內(nèi)容。
3.關(guān)系型數(shù)據(jù)庫的分類關(guān)系型數(shù)據(jù)庫一般可分為兩類:一類是桌面數(shù)據(jù)庫,如Access、Paradox、FoxPro和dBase等桌面數(shù)據(jù)庫主要用于小型的、單機(jī)的數(shù)據(jù)庫應(yīng)用程序,不需要網(wǎng)絡(luò)和服務(wù)器,實(shí)現(xiàn)起來比較方便,是初學(xué)者常用的數(shù)據(jù)庫類型。另一類是客戶/服務(wù)器(Client/Server)數(shù)據(jù)庫,如SQLServer、Oracle、Sybase等??蛻?服務(wù)器數(shù)據(jù)庫(C/S)主要應(yīng)用于大型的、多用戶的數(shù)據(jù)庫管理系統(tǒng)。其數(shù)據(jù)庫應(yīng)用程序分為兩部分:一部分駐留在客戶機(jī)上,用于向用戶提供信息及操作界面。另一部分駐留在服務(wù)器中,主要用來實(shí)現(xiàn)對數(shù)據(jù)庫的操作、進(jìn)行具體的計(jì)算,并將結(jié)果發(fā)送回客戶機(jī)。這對客戶機(jī)檔次較低的情況尤為適合。關(guān)系型數(shù)據(jù)的設(shè)計(jì)規(guī)則數(shù)據(jù)庫表的特征表中不能再包含表在同一個關(guān)系中不能出現(xiàn)相同的屬性名。關(guān)系中不允許有完全相同的元組。在一個關(guān)系中元組的次序無關(guān)緊要。在一個關(guān)系中列的次序無關(guān)緊要。課程名學(xué)時(shí)數(shù)講課上機(jī)計(jì)算機(jī)基礎(chǔ)6515C語言7020課程名講課學(xué)時(shí)上機(jī)學(xué)時(shí)計(jì)算機(jī)基礎(chǔ)6515C語言7020數(shù)據(jù)完整性約束實(shí)體完整性表中的主鍵不能為空參照完整性若一個表中含有外鍵,則外鍵要么為空,要么為另一個表的主鍵,不能自創(chuàng)外鍵。用戶定義完整性反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。4.ACCESS數(shù)據(jù)庫簡介Access數(shù)據(jù)庫管理系統(tǒng)是MicrosoftOffice套件的重要組成部分,Access2008是最新版本,可在Windows環(huán)境下運(yùn)行。Access適用于小型商務(wù)活動,用以存貯和管理商務(wù)活動所需要的數(shù)據(jù)。Access數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報(bào)表、宏和模塊。
表(Table)查詢(Query)窗體(Form)報(bào)表(Report)宏(Macro)模塊(Module)5.SQLServer數(shù)據(jù)庫簡介SQLServer2000C/S設(shè)計(jì)處理示意圖
SQLServer數(shù)據(jù)庫概述SQLServer2000的版本企業(yè)版(EnterpriseEdition)標(biāo)準(zhǔn)版(StandardEdition)個人版(PersonalEdition)開發(fā)者版(DeveloperEdition)
SQLServer2000工具和實(shí)用程序企業(yè)管理器服務(wù)管理器查詢分析器事件探查器
SQL是StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時(shí),只需要發(fā)出“做什么”的命令,具體“怎么做”是無需使用者考慮的。SQL功能強(qiáng)大、簡單易學(xué)、使用方便,已經(jīng)成為數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。6.SQL結(jié)構(gòu)化查詢語句SQL基本語句1.SELECT語句(使用最頻繁)一般格式:SELECT[ALL/DISTINCT]*|<字段列表>FROM<表名>[WHERE<條件表達(dá)式>][GROUPBY<字段>][HAVING<條件表達(dá)式>][ORDERBY<列名>{[ASC|DESC]}];其中:<>:表示在實(shí)際的語句中要采用實(shí)際的內(nèi)容進(jìn)行替代[]:表示可以根據(jù)需要進(jìn)行選擇,也可以不選|:表示多項(xiàng)選項(xiàng)只能選其中之一{}:表示必選項(xiàng)SELECT語句輸出表中的所有列查詢“學(xué)生”表中全體學(xué)生的記錄。SELECT*FROM學(xué)生
輸出表中的部分列查詢所有教師的教師編號,姓名和職稱SELECT教師編號,姓名,職稱FROM教師查詢滿足條件的元組查詢“課程注冊”表成績大于50分的記錄。SELECT*FROM課程注冊WHERE成績>=50排序
子句ORDERBY{列名[ASC|DESC]}[,…n]查詢選修了“0001”號課程的同學(xué)的學(xué)號,并按成績的降序排列SELECT學(xué)號,成績FROM課程注冊
WHERE課程號=’0001’ORDERBY成績DESC對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)用戶經(jīng)常需要對結(jié)果集進(jìn)行統(tǒng)計(jì),例如求和、平均值、最大值、最小值、個數(shù)等,這些統(tǒng)計(jì)可以通過集合函數(shù)、COMPUTE子句、GROUPBY子句來實(shí)現(xiàn)。查詢“教師”表中教師總數(shù)SELECTCOUNT(*)AS教師總數(shù)FROM教師對結(jié)果進(jìn)行分組查詢“課程注冊”表中課程選課人數(shù)4人以上的各個課程號和相應(yīng)的選課人數(shù)。SELECT課程號,COUNT(*)AS選課人數(shù)FROM課程注冊GROUPBY課程號HAVINGCOUNT(*)>=4用查詢結(jié)果生成新表在實(shí)際的應(yīng)用系統(tǒng)中,用戶有時(shí)需要將查詢結(jié)果保存成一個表,這個功能可以通過SELECT語句中的INTO子句實(shí)現(xiàn)。INTO子句語法格式如:
INTO新表名創(chuàng)建“課程注冊”表的一個副本。SELECT*INTO課程注冊副本FROM課程注冊SELECT*FROM課程注冊副本帶有比較運(yùn)算符的子查詢使用“教師”表,查詢與“王鋼”同在一個系的教師基本信息。SELECT教師編號,姓名,性別,學(xué)歷,職務(wù),職稱FROM教師WHERE系部代碼=(SELECT系部代碼FROM教師WHERE姓名=’王鋼’)插入語句INSERT語法格式:INSERT[INTO]table_name[column_list]VALUES(data_values)最簡單的INSERT語句在結(jié)構(gòu)如右圖所示的“專業(yè)”表中添加一行記錄:在計(jì)算機(jī)系部中添加一個電子商務(wù)專業(yè)INSERT專業(yè)
(專業(yè)代碼,專業(yè)名稱,系部代碼)VALUES('0103','電子商務(wù)','01')省略清單的INSERT語句在結(jié)構(gòu)如圖所示的“班級”表中添加2004級電子商務(wù)班INSERT班級VALUES('20041521','2004電子商務(wù)班','0103','01','<null>')省略VALUES清單的INSERT語句創(chuàng)建“課程”表的一個副本“課程l”表,將“課程”表的全部數(shù)據(jù)添加到“課程l”表中。USEstudentGOCREATEtable課程1(課程號char(4)notnull,課程名char(20)notnull,學(xué)分smallintnull)GOINSERTINTO課程1(課程號,課程名,學(xué)分)SELECT課程號,課程名,學(xué)分FROM課程GO數(shù)據(jù)的修改UPDATE語法格式:UPDATEtable_nameSET{column_name={expression|DEFAULT|NULL]}[,…n][FROM{<table_source>}[,…n]][WHERE<search_condition>]實(shí)例:將“教學(xué)計(jì)劃”表中專業(yè)代碼為“0101”的“開課學(xué)期”的值改為第2學(xué)期UPDATE教學(xué)計(jì)劃SET開課學(xué)期=2WHERE專業(yè)代碼=’0101’將“課程注冊”表中所有記錄的成績值改為(“注冊號”-10000415)表達(dá)式的值,學(xué)分為3分UPDATE課程注冊SET成績=(注冊號-10000415),學(xué)分=3數(shù)據(jù)的刪除DELETE語法格式:DELETE
table_name[FROM{<table_sourc
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 磴口縣三完小三年級手工教案
- 北師大版二年級語文上冊教案(高效課堂模式)
- 火力發(fā)電電焊施工協(xié)議
- 西師版五年級語文下冊教案
- 社會組織復(fù)印機(jī)租賃協(xié)議
- 農(nóng)村家庭農(nóng)場土地租賃合同
- 物流中心租賃協(xié)議范本
- 旅游景點(diǎn)維護(hù)合同
- 學(xué)校足球場租賃合同樣本
- 建筑工程臨時(shí)設(shè)施建設(shè)合同范本
- 集成電路關(guān)鍵材料及設(shè)備工作方案
- 防雷檢測技術(shù)規(guī)范考試題庫(匯總版)
- 高血壓病例分析-課件
- 招商銀行智慧營銷體系規(guī)劃方案((2022年-2023年)-2022)
- 口腔科住院醫(yī)師考試:2022牙周病學(xué)真題模擬及答案
- 慢性傷口的綜合處理課件
- 《人民幣硬幣和普通紀(jì)念幣》理論考試題庫(含答案)
- 盧卡奇教學(xué)講解課件
- 二年級珍惜時(shí)間發(fā)奮學(xué)習(xí)主題班會課件
- 平行與垂直(公開課)課件
- 城市軌道交通牽引供電及電力技術(shù)分析
評論
0/150
提交評論