版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
十天掌握VB.NET程序設(shè)計基礎(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ù)庫建立、使用和維護而配置的系統(tǒng)軟件。有關(guān)數(shù)據(jù)庫的概念3.數(shù)據(jù)庫應(yīng)用程序:數(shù)據(jù)庫應(yīng)用程序是指用VB、FoxPro等開發(fā)工具設(shè)計的、實現(xiàn)某種特定功能的應(yīng)用程序。如學生成績管理系統(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ù)庫應(yīng)用程序、用戶和維護人員等組成的一個整體。2.
關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫是根據(jù)表、記錄和字段之間的關(guān)系進行數(shù)據(jù)組織和訪問的一種數(shù)據(jù)庫,它通過若干個表(Table)來存儲數(shù)據(jù),并通過關(guān)系(Relation)將這些表聯(lián)系在一起。近幾年來,關(guān)系型數(shù)據(jù)庫已成為數(shù)據(jù)庫設(shè)計事實上的標準,這不僅因為關(guān)系模型本省具有強大的功能,而且還由于它提供了稱為結(jié)構(gòu)化查詢語言StructureQueryLanguage(SQL)的標準接口,該接口允許以一致的和可以理解的方法來一起使用多種數(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)系名。在計算機里,一個關(guān)系可以存儲為一個數(shù)據(jù)庫文件的表,例如,醫(yī)生表或患者表。元組表中的行稱為元組。一行是一個元組,對應(yīng)表中的一個記錄屬性表中的列稱為屬性,每一列有一個屬性名,對應(yīng)數(shù)據(jù)表中的一個字段,例如醫(yī)生編號、姓名、職稱等字段。域?qū)傩缘娜≈捣秶?,即不同元組對同一個屬性的取值所限定的范圍。例如,在“患者”表“女”或“男”是性別的取值范圍,對應(yīng)“性別”字段的一個域常用術(shù)語二關(guān)鍵字(主鍵)屬性或?qū)傩越M合,其值能夠唯一地標識一個元組。比如,“醫(yī)生”表中的“醫(yī)生編號”字段,“患者”表中的“患者病歷號”都唯一地表示一名醫(yī)生、一名患者,那么它們都可以作為記錄的關(guān)鍵字。外鍵在關(guān)系A(chǔ)中存在一個屬性,不是關(guān)系的主屬性,但與另一個關(guān)系B的主鍵對應(yīng),則稱其為關(guān)系A(chǔ)的外鍵。比如學生關(guān)系中院系代碼屬性,與院系關(guān)系的主鍵“院系代碼”對應(yīng),所以是學生關(guān)系的外鍵。索引為了更快地訪問數(shù)據(jù),大多數(shù)數(shù)據(jù)庫都是用關(guān)鍵字對表進行索引。也就是按關(guān)鍵字對數(shù)據(jù)庫進行排序,并建立一張索引表,每個索引輸入項指向該記錄在數(shù)據(jù)庫中的行。類似于書籍的目錄,章節(jié)內(nèi)容指向所在的頁碼,而并不直接在目錄中放置內(nèi)容。
3.關(guān)系型數(shù)據(jù)庫的分類關(guān)系型數(shù)據(jù)庫一般可分為兩類:一類是桌面數(shù)據(jù)庫,如Access、Paradox、FoxPro和dBase等桌面數(shù)據(jù)庫主要用于小型的、單機的數(shù)據(jù)庫應(yīng)用程序,不需要網(wǎng)絡(luò)和服務(wù)器,實現(xiàn)起來比較方便,是初學者常用的數(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)用程序分為兩部分:一部分駐留在客戶機上,用于向用戶提供信息及操作界面。另一部分駐留在服務(wù)器中,主要用來實現(xiàn)對數(shù)據(jù)庫的操作、進行具體的計算,并將結(jié)果發(fā)送回客戶機。這對客戶機檔次較低的情況尤為適合。關(guān)系型數(shù)據(jù)的設(shè)計規(guī)則數(shù)據(jù)庫表的特征表中不能再包含表在同一個關(guān)系中不能出現(xiàn)相同的屬性名。關(guān)系中不允許有完全相同的元組。在一個關(guān)系中元組的次序無關(guān)緊要。在一個關(guān)系中列的次序無關(guān)緊要。課程名學時數(shù)講課上機計算機基礎(chǔ)6515C語言7020課程名講課學時上機學時計算機基礎(chǔ)6515C語言7020數(shù)據(jù)完整性約束實體完整性表中的主鍵不能為空參照完整性若一個表中含有外鍵,則外鍵要么為空,要么為另一個表的主鍵,不能自創(chuàng)外鍵。用戶定義完整性反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。4.ACCESS數(shù)據(jù)庫簡介Access數(shù)據(jù)庫管理系統(tǒng)是MicrosoftOffice套件的重要組成部分,Access2008是最新版本,可在Windows環(huán)境下運行。Access適用于小型商務(wù)活動,用以存貯和管理商務(wù)活動所需要的數(shù)據(jù)。Access數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。
表(Table)查詢(Query)窗體(Form)報表(Report)宏(Macro)模塊(Module)5.SQLServer數(shù)據(jù)庫簡介SQLServer2000C/S設(shè)計處理示意圖
SQLServer數(shù)據(jù)庫概述SQLServer2000的版本企業(yè)版(EnterpriseEdition)標準版(StandardEdition)個人版(PersonalEdition)開發(fā)者版(DeveloperEdition)
SQLServer2000工具和實用程序企業(yè)管理器服務(wù)管理器查詢分析器事件探查器
SQL是StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,具體“怎么做”是無需使用者考慮的。SQL功能強大、簡單易學、使用方便,已經(jīng)成為數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。6.SQL結(jié)構(gòu)化查詢語句SQL基本語句1.SELECT語句(使用最頻繁)一般格式:SELECT[ALL/DISTINCT]*|<字段列表>FROM<表名>[WHERE<條件表達式>][GROUPBY<字段>][HAVING<條件表達式>][ORDERBY<列名>{[ASC|DESC]}];其中:<>:表示在實際的語句中要采用實際的內(nèi)容進行替代[]:表示可以根據(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)常需要對結(jié)果集進行統(tǒng)計,例如求和、平均值、最大值、最小值、個數(shù)等,這些統(tǒng)計可以通過集合函數(shù)、COMPUTE子句、GROUPBY子句來實現(xiàn)。查詢“教師”表中教師總數(shù)SELECTCOUNT(*)AS教師總數(shù)FROM教師對結(jié)果進行分組查詢“課程注冊”表中課程選課人數(shù)4人以上的各個課程號和相應(yīng)的選課人數(shù)。SELECT課程號,COUNT(*)AS選課人數(shù)FROM課程注冊GROUPBY課程號HAVINGCOUNT(*)>=4用查詢結(jié)果生成新表在實際的應(yīng)用系統(tǒng)中,用戶有時需要將查詢結(jié)果保存成一個表,這個功能可以通過SELECT語句中的INTO子句實現(xiàn)。INTO子句語法格式如:
INTO新表名創(chuàng)建“課程注冊”表的一個副本。SELECT*INTO課程注冊副本FROM課程注冊SELECT*FROM課程注冊副本帶有比較運算符的子查詢使用“教師”表,查詢與“王鋼”同在一個系的教師基本信息。SELECT教師編號,姓名,性別,學歷,職務(wù),職稱FROM教師WHERE系部代碼=(SELECT系部代碼FROM教師WHERE姓名=’王鋼’)插入語句INSERT語法格式:INSERT[INTO]table_name[column_list]VALUES(data_values)最簡單的INSERT語句在結(jié)構(gòu)如右圖所示的“專業(yè)”表中添加一行記錄:在計算機系部中添加一個電子商務(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,學分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)系上傳者。文件的所有權(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化供應(yīng)鏈風險管理體系構(gòu)建的制造企業(yè)風險管理實踐與優(yōu)化路徑教學研究課題報告
- 2025年丹麥風電產(chǎn)業(yè)鏈供應(yīng)鏈報告
- 2025年互聯(lián)網(wǎng)家裝五年透明報價與客戶忠誠度報告
- 餐飲場所消防安全應(yīng)急演練總結(jié)報告
- 社區(qū)志愿服務(wù)對初中生志愿服務(wù)精神塑造的實踐探索教學研究課題報告
- 2025年保健品行業(yè)渠道創(chuàng)新報告
- 量子光學在成像技術(shù)中的應(yīng)用-洞察及研究
- 建筑工程施工現(xiàn)場測量規(guī)范與安全
- 高校課程設(shè)計項目管理實操指南
- 2023秋季開學家庭致家長信范文
- 飛機機務(wù)維修工程師航空業(yè)機務(wù)維修績效表
- 2026屆四川省德陽市2023級高三一診英語試題(含答案和音頻)
- 2025年遵守工作紀律財經(jīng)紀律心得體會
- 第11課《我們都是熱心人》第一課時(課件)
- 7.2《走向未來》課件- 2024-2025學年統(tǒng)編版道德與法治九年級下冊
- 市場銷售費用管理制度(3篇)
- 透水磚施工工藝及技術(shù)交底文檔
- 雷達截面與隱身技術(shù)課件
- 長期護理保險技能比賽理論試題庫300題(含各題型)
- IATF-I6949SPC統(tǒng)計過程控制管理程序
- GB/T 4458.2-2003機械制圖裝配圖中零、部件序號及其編排方法
評論
0/150
提交評論