vb第八講數(shù)據(jù)庫基礎(chǔ)_第1頁
vb第八講數(shù)據(jù)庫基礎(chǔ)_第2頁
vb第八講數(shù)據(jù)庫基礎(chǔ)_第3頁
vb第八講數(shù)據(jù)庫基礎(chǔ)_第4頁
vb第八講數(shù)據(jù)庫基礎(chǔ)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論