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

下載本文檔

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

文檔簡介

十天掌握VB.NET程序設計基礎

—第八講數(shù)據(jù)庫基礎潘志紅ITCAST簽約講師本講內容數(shù)據(jù)庫的基礎知識關系型數(shù)據(jù)庫關系型數(shù)據(jù)庫的分類Access數(shù)據(jù)庫簡介SQLServer數(shù)據(jù)庫簡介SQL結構化查詢語句1.數(shù)據(jù)庫基礎知識1.數(shù)據(jù)庫:所謂數(shù)據(jù)庫(Database)是指一組排列成易于處理或讀取的相關信息,它是由一個或多個表對象組成的集合。這有些類似于Excel的工作簿和工作表。

2.數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是指在操作系統(tǒng)支持下為數(shù)據(jù)庫建立、使用和維護而配置的系統(tǒng)軟件。有關數(shù)據(jù)庫的概念3.數(shù)據(jù)庫應用程序:數(shù)據(jù)庫應用程序是指用VB、FoxPro等開發(fā)工具設計的、實現(xiàn)某種特定功能的應用程序。如學生成績管理系統(tǒng)、工資管理系統(tǒng)、物資管理系統(tǒng)等等。它利用數(shù)據(jù)庫管理系統(tǒng)提供的各種手段訪問一個或多個數(shù)據(jù)庫,實現(xiàn)其特定的功能。4.數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是由計算機硬件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及在其他對象支持下建立起來的數(shù)據(jù)庫、數(shù)據(jù)庫應用程序、用戶和維護人員等組成的一個整體。2.

關系型數(shù)據(jù)庫關系型數(shù)據(jù)庫是根據(jù)表、記錄和字段之間的關系進行數(shù)據(jù)組織和訪問的一種數(shù)據(jù)庫,它通過若干個表(Table)來存儲數(shù)據(jù),并通過關系(Relation)將這些表聯(lián)系在一起。近幾年來,關系型數(shù)據(jù)庫已成為數(shù)據(jù)庫設計事實上的標準,這不僅因為關系模型本省具有強大的功能,而且還由于它提供了稱為結構化查詢語言StructureQueryLanguage(SQL)的標準接口,該接口允許以一致的和可以理解的方法來一起使用多種數(shù)據(jù)庫工具和產(chǎn)品。在一個關系型數(shù)據(jù)庫中可以包含若干張表,每張表又由若干記錄組成,記錄由若干字段組成。表與表之間通過關系連接。關系醫(yī)生編號姓名職稱科室編號專長01104李博主任醫(yī)師01牙科01106劉曉副主任醫(yī)師0101020王林副主任醫(yī)師0102100李顰醫(yī)師0203002王西平主任醫(yī)師0304005吳星智副主任醫(yī)師0406007李可茹主任醫(yī)師06患者病例號姓名性別年齡200212002李小青男36200306007羨平女28200307003王東男12200307006劉戈女40

序號日期患者病例號醫(yī)生編號診斷結果12001-10-120021200201104牙齦炎22002-1-920030600701104智齒32002-11-320030700601020牙周炎42003-6-320021200202100皮炎52003-10-720030600701020牙齦炎關聯(lián)常用術語一關系一個關系就是一張二維表,每個關系有一個關系名。在計算機里,一個關系可以存儲為一個數(shù)據(jù)庫文件的表,例如,醫(yī)生表或患者表。元組表中的行稱為元組。一行是一個元組,對應表中的一個記錄屬性表中的列稱為屬性,每一列有一個屬性名,對應數(shù)據(jù)表中的一個字段,例如醫(yī)生編號、姓名、職稱等字段。域屬性的取值范圍,即不同元組對同一個屬性的取值所限定的范圍。例如,在“患者”表“女”或“男”是性別的取值范圍,對應“性別”字段的一個域常用術語二關鍵字(主鍵)屬性或屬性組合,其值能夠唯一地標識一個元組。比如,“醫(yī)生”表中的“醫(yī)生編號”字段,“患者”表中的“患者病歷號”都唯一地表示一名醫(yī)生、一名患者,那么它們都可以作為記錄的關鍵字。外鍵在關系A中存在一個屬性,不是關系的主屬性,但與另一個關系B的主鍵對應,則稱其為關系A的外鍵。比如學生關系中院系代碼屬性,與院系關系的主鍵“院系代碼”對應,所以是學生關系的外鍵。索引為了更快地訪問數(shù)據(jù),大多數(shù)數(shù)據(jù)庫都是用關鍵字對表進行索引。也就是按關鍵字對數(shù)據(jù)庫進行排序,并建立一張索引表,每個索引輸入項指向該記錄在數(shù)據(jù)庫中的行。類似于書籍的目錄,章節(jié)內容指向所在的頁碼,而并不直接在目錄中放置內容。

3.關系型數(shù)據(jù)庫的分類關系型數(shù)據(jù)庫一般可分為兩類:一類是桌面數(shù)據(jù)庫,如Access、Paradox、FoxPro和dBase等桌面數(shù)據(jù)庫主要用于小型的、單機的數(shù)據(jù)庫應用程序,不需要網(wǎng)絡和服務器,實現(xiàn)起來比較方便,是初學者常用的數(shù)據(jù)庫類型。另一類是客戶/服務器(Client/Server)數(shù)據(jù)庫,如SQLServer、Oracle、Sybase等??蛻?服務器數(shù)據(jù)庫(C/S)主要應用于大型的、多用戶的數(shù)據(jù)庫管理系統(tǒng)。其數(shù)據(jù)庫應用程序分為兩部分:一部分駐留在客戶機上,用于向用戶提供信息及操作界面。另一部分駐留在服務器中,主要用來實現(xiàn)對數(shù)據(jù)庫的操作、進行具體的計算,并將結果發(fā)送回客戶機。這對客戶機檔次較低的情況尤為適合。關系型數(shù)據(jù)的設計規(guī)則數(shù)據(jù)庫表的特征表中不能再包含表在同一個關系中不能出現(xiàn)相同的屬性名。關系中不允許有完全相同的元組。在一個關系中元組的次序無關緊要。在一個關系中列的次序無關緊要。課程名學時數(shù)講課上機計算機基礎6515C語言7020課程名講課學時上機學時計算機基礎6515C語言7020數(shù)據(jù)完整性約束實體完整性表中的主鍵不能為空參照完整性若一個表中含有外鍵,則外鍵要么為空,要么為另一個表的主鍵,不能自創(chuàng)外鍵。用戶定義完整性反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。4.ACCESS數(shù)據(jù)庫簡介Access數(shù)據(jù)庫管理系統(tǒng)是MicrosoftOffice套件的重要組成部分,Access2008是最新版本,可在Windows環(huán)境下運行。Access適用于小型商務活動,用以存貯和管理商務活動所需要的數(shù)據(jù)。Access數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。

表(Table)查詢(Query)窗體(Form)報表(Report)宏(Macro)模塊(Module)5.SQLServer數(shù)據(jù)庫簡介SQLServer2000C/S設計處理示意圖

SQLServer數(shù)據(jù)庫概述SQLServer2000的版本企業(yè)版(EnterpriseEdition)標準版(StandardEdition)個人版(PersonalEdition)開發(fā)者版(DeveloperEdition)

SQLServer2000工具和實用程序企業(yè)管理器服務管理器查詢分析器事件探查器

SQL是StructuredQueryLanguage(結構化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,具體“怎么做”是無需使用者考慮的。SQL功能強大、簡單易學、使用方便,已經(jīng)成為數(shù)據(jù)庫操作的基礎,并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。6.SQL結構化查詢語句SQL基本語句1.SELECT語句(使用最頻繁)一般格式:SELECT[ALL/DISTINCT]*|<字段列表>FROM<表名>[WHERE<條件表達式>][GROUPBY<字段>][HAVING<條件表達式>][ORDERBY<列名>{[ASC|DESC]}];其中:<>:表示在實際的語句中要采用實際的內容進行替代[]:表示可以根據(jù)需要進行選擇,也可以不選|:表示多項選項只能選其中之一{}:表示必選項SELECT語句輸出表中的所有列查詢“學生”表中全體學生的記錄。SELECT*FROM學生

輸出表中的部分列查詢所有教師的教師編號,姓名和職稱SELECT教師編號,姓名,職稱FROM教師查詢滿足條件的元組查詢“課程注冊”表成績大于50分的記錄。SELECT*FROM課程注冊WHERE成績>=50排序

子句ORDERBY{列名[ASC|DESC]}[,…n]查詢選修了“0001”號課程的同學的學號,并按成績的降序排列SELECT學號,成績FROM課程注冊

WHERE課程號=’0001’ORDERBY成績DESC對數(shù)據(jù)進行統(tǒng)計用戶經(jīng)常需要對結果集進行統(tǒng)計,例如求和、平均值、最大值、最小值、個數(shù)等,這些統(tǒng)計可以通過集合函數(shù)、COMPUTE子句、GROUPBY子句來實現(xiàn)。查詢“教師”表中教師總數(shù)SELECTCOUNT(*)AS教師總數(shù)FROM教師對結果進行分組查詢“課程注冊”表中課程選課人數(shù)4人以上的各個課程號和相應的選課人數(shù)。SELECT課程號,COUNT(*)AS選課人數(shù)FROM課程注冊GROUPBY課程號HAVINGCOUNT(*)>=4用查詢結果生成新表在實際的應用系統(tǒng)中,用戶有時需要將查詢結果保存成一個表,這個功能可以通過SELECT語句中的INTO子句實現(xiàn)。INTO子句語法格式如:

INTO新表名創(chuàng)建“課程注冊”表的一個副本。SELECT*INTO課程注冊副本FROM課程注冊SELECT*FROM課程注冊副本帶有比較運算符的子查詢使用“教師”表,查詢與“王鋼”同在一個系的教師基本信息。SELECT教師編號,姓名,性別,學歷,職務,職稱FROM教師WHERE系部代碼=(SELECT系部代碼FROM教師WHERE姓名=’王鋼’)插入語句INSERT語法格式:INSERT[INTO]table_name[column_list]VALUES(data_values)最簡單的INSERT語句在結構如右圖所示的“專業(yè)”表中添加一行記錄:在計算機系部中添加一個電子商務專業(yè)INSERT專業(yè)

(專業(yè)代碼,專業(yè)名稱,系部代碼)VALUES('0103','電子商務','01')省略清單的INSERT語句在結構如圖所示的“班級”表中添加2004級電子商務班INSERT班級VALUES('20041521','2004電子商務班','0103','01','<null>')省略VALUES清單的INSERT語句創(chuàng)建“課程”表的一個副本“課程l”表,將“課程”表的全部數(shù)據(jù)添加到“課程l”表中。USEstudentGOCREATEtable課程1(課程號char(4)notnull,課程名char(20)notnull,學分smallintnull)GOINSERTINTO課程1(課程號,課程名,學分)SELECT課程號,課程名,學分FROM課程GO數(shù)據(jù)的修改UPDATE語法格式:UPDATEtable_nameSET{column_name={expression|DEFAULT|NULL]}[,…n][FROM{<table_source>}[,…n]][WHERE<search_condition>]實例:將“教學計劃”表中專業(yè)代碼為“0101”的“開課學期”的值改為第2學期UPDATE教學計劃SET開課學期=2WHERE專業(yè)代碼=’0101’將“課程注冊”表中所有記錄的成績值改為(“注冊號”-10000415)表達式的值,學分為3分UPDATE課程注冊SET成績=(注冊號-10000415),學分=3數(shù)據(jù)的刪除DELETE語法格式:DELETE

table_name[FROM{<table_sourc

溫馨提示

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

評論

0/150

提交評論