




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章數據庫概述
2課前引言
一、大數據時代大數據(BigData)定義:“無法用現有的軟件工具提取、存儲、搜索、共享、分析和處理的海量的、復雜的數據集合。到底多大的數據能夠稱之為“大數據”?1Byte=8bit1KB=1,024Bytes=8192bit1MB=1,024KB=1,048,576Bytes1GB=1,024MB=1,048,576KB1TB=1,024GB=1,048,576MB1PB=1,024TB=1,048,576GB1EB=1,024PB=1,048,576TB1ZB=1,024EB=1,048,576PB1YB=1,024ZB=1,048,576EB1BB=1,024YB=1,048,576ZB按照定義,數據量達TB級別以上才能算大數據,因為傳統數據庫已無法處理,需借助云計算技術分布式處理。3課前引言
二、數據的價值亞馬遜前任首席科學家AndreasWeigend:“數據是新的石油。”哈佛大學社會學教授加里·金說:“這是一場革命,龐大的數據資源使得各個領域開始了量化進程,無論學術界、商界還是政府,所有領域都將開始這種進程。”阿里巴巴創始人馬云:“未來30年”,數據將成為最強大的能源。數據的價值體現在哪些方面?技術價值、商業價值、行業價值、社會價值。4課前引言
數據=>規律/知識:提升民生服務水平;為企業減少成本,提高利潤數據驅動醫療交通金融電商政務零售疾病智能診斷與預測醫保詐騙行為檢測客流量預測銀行客戶聚類消費者行為習慣分析商品銷售規律分析5課程目的加深對數據庫基礎知識的理解和掌握培養學生利用數據庫技術對信息進行管理、加工和數據表達的能力培養學生使用數據庫管理系統產品和數據庫應用開發工具的能力培養學生對事物數據化、數據交叉復用價值的理解能力6課程考核平時成績(30%)+期中測試(10%)+期末考試(60%)7第1章數據庫概述1.1相關概念1.2數據模型1.3數據庫設計基礎1.4Access簡介81.1數據庫中的相關概念
數據描述事物的符號記錄。廣義的理解認為數據的種類很多,除數字外,還包括文本、圖像、音視頻等數據庫長期存儲在計算機內的、有組織的、可共享的數據集合。通俗地理解為“數據倉庫”9數據庫中的相關概念
數據庫管理系統(DatabaseManagementSystem,DBMS)為建立、使用和維護數據庫而開發的管理軟件。它是一種系統軟件,負責對數據庫進行統一管理和控制.如:SYBASE、DB2、ORACLE、MySQL、ACCESS……數據庫系統數據庫系統是由數據庫、數據庫管理系統、應用程序、硬件系統、數據庫管理員和普通用戶組成的集合體。是實現有組織地、動態地存儲大量相關數據、提供數據處理和信息資源共享的便利手段數據庫系統的層次關系111.2數據管理技術的發展歷程1人工管理階段文件系統階段數據庫系統階段20世紀50年代以前20世紀50年代后期至60年代中期20世紀60年代后期至今2312人工管理階段當時計算機主要用于科學計算,對于數據保存的需求尚不迫切一、數據不保存數據通過應用程序計算和處理,不僅要對數據的邏輯結構進行定義,還要設計數據的物理結構,包括存儲結構、存取方法、輸入方式等二、沒有專門的數據管理軟件數據是面向程序的,一組數據只能對應一個程序三、數據不共享程序依賴于數據,如果數據的類型、格式或輸入/輸出方式等邏輯結構或物理結構發生變化,則必須對應用程序做出相應的修改四、數據不具有獨立性13文件系統階段將數據組織成相互獨立的數據文件,利用“按文件名訪問,按記錄存取”的管理技術一、數據能夠長期保存數據文件仍是面向程序的,一組數據文件仍對應一個程二、數據不共享,獨立性差14數據庫系統階段一、數據結構化二、數據高共享與低冗余三、數據獨立性四、數據統一管理和控制151.2數據模型
正如飛機、汽車模型一樣,數據模型就是對現實世界中事物的模擬、描述和表示,使現實世界的數據能夠在數據庫系統中存儲和操作。現實世界信息世界機器世界構建數據模型,從事物的客觀特性到計算機中的具體表示包括了現實世界、信息世界和機器世界3個層面。現實世界的事物要在計算機中描述并存儲,需要進過信息世界的建模,再轉換為機器世界可存儲的數據格式。16數據模型的三要素數據在數據庫中的存儲結構,是數據模型的核心,是描述一個數據模型性質最重要的要素,其描述了數據庫對象的靜態特征數據結構數據庫主要包含檢索和更新(包括新增、刪除和修改)兩大類操作,描述了數據庫對象的動態行為。數據操作具體的應用數據必須遵循特定的約束條件,以保證數據的正確、有效和相容數據約束17數據模型的類型其著重于數據在計算機系統中的表示方式和存取方法的實現,物理模型的實現由數據庫管理系統完成物理數據模型概念模型著重于準確、簡潔地描述現實世界的事物以及事物間的內在聯系,主要用于數據庫設計。目前最常用的概念數據模型為實體聯系模型(E-R模型)概念數據模型其著重于在數據庫系統中的實現,現有的邏輯數據模型層次模型、網狀模型、關系模型和面向對象模型等,其中關系模型是目前廣泛使用的一種邏輯數據模型邏輯數據模型18實體聯系模型實體聯系模型(EntityRelationshipModel,簡稱E-R模型)通過實體及實體之間的聯系現實世界抽象描述現實世界中客觀存在的事物稱為實體。實體不僅是具體的人、事、物,也可以是抽象的概念和聯系。例如一個學生、一門課程、一條醫囑。同一類型的實體的集合稱之為實體集。例如全體學生就是一個實體集。實體19實體聯系模型實體所具有的特性稱為屬性,屬性反映了實體的特征。一個實體由若干個屬性刻畫。例如病人實體由編號、姓名、性別、出生日期、家庭住址、所屬科室、主管醫生等屬性構成,這些屬性的組合反映了一個病人的特征。屬性現實世界的事物通常是存在聯系的,這種聯系在E-R模型中表現為實體之間的聯系。例如學生和老師,通過“教學”建立聯系,病人和醫生通過“看病”建立聯系。實體集之間的聯系通常分為一對一、一對多和多對多三種類型聯系20實體間聯系的類型聯系
概念說明
例子
圖例
一對一(1:1)
實體集A中的每一個實體與實體集B中的一個實體相聯系,反之亦然,這種關系稱之為一對一聯系
一個醫院只有一個院長,且一個院長不能在多個醫院兼任院長
一對多(1:n)
如果實體集A中的每一個實體,在實體集中有多個實體與之對應;實體集B中的每一個實體,在實體集A中只有一個實體與之對應,這種關系稱之為一對多聯系
一個住院醫生通常需要管理多名住院病人,而一個住院病人對應一個主管醫生
多對多(n:m)
如果實體集A中的每一個實體,在實體集B中都有多個實體與之對應,反之亦然,這種關系稱之為多對多聯系
一個學生可以修多門課程,一門課程也可以被多名學生選修
醫院
院長
醫生
病人1
病人2
病人3
學生1
課程1
課程2
課程3
學生2
學生3
實體聯系模型的表示方法概念圖形表示方法實體集矩形屬性橢圓形聯系菱形學生課程學號課程名稱選課在E-R圖中用三種不同的圖形來表示E-R模型中的三個概念。其對應關系如下表所示。21練習例1:請畫出“學生”,“課程”及其聯系的實體聯系模型圖22關系模型關系模型是由美國IBM公司的研究員E.F.Cold提出,正因如此,E.F.Cold于1981年獲得了ACM(AssociationforComputingMachinery)圖靈獎在關系模型中,現實世界的事物及事物間的聯系均采用關系(二維表)來表示。采用關系模型作為數據組織方式的數據庫也稱之為關系型數據庫。23關系模型中的相關概念關系模型中,有以下幾個概念需要掌握:1.關系:2.元組:3.屬性:4.碼:也稱之為鍵。5.域:域是一組具有相同數據類型的值的集合。6.分量:元組中的一個屬性值,可視為關系表中的一個單元格的值7.關系模式:對關系的描述,一般表示為:關系名(屬性1,屬性2…,屬性n)。例如上述學生關系可描述為:學生信息表(學號,姓名,年級,性別,專業,學院)24關系模型中的相關概念學號姓名性別學院2018001張三男信息科學與工程學院2018002李四男醫學院2018003李紅女中醫學院…………1.關系行2.屬性列5.分量唯一標識的列(列組合)4.碼(主鍵)二維表6.域:屬性的取值范圍“性別”的域為{男,女}
3.元組單元格257.關系模式:學生信息表(學號、姓名、性別、學院)關系模型的數據操作261.3數據庫設計基礎27例2:以醫院信息系統中住院管理功能為例,設計住院管理業務數據庫模型1.3數據庫設計基礎1、一個關系表僅表示一個實體或一個聯系在設計數據庫時,首先要分離實體,每個實體盡量獨立,然后確定實體之間的聯系,每個關系表僅描述一個實體或實體間的一個聯系,避免設計大而雜的表,這樣才能簡化數據的組織和維護工作,保證應用程序的運行效率2、避免在關系表之間出現重復字段除了保證關系表中有反映與其他表之間存在聯系的外鍵之外,應盡量避免在表之間出現重復字段,目的在于減少數據冗余,節省存儲空間,保證數據的一致性3、關系表中的字段必須為原始數據關系表中不應該出現可以通過計算得到的“二次數據”。例如在住院病人信息表中有一個出生日期的字段,那么不應該再出現年齡字段,因為年齡可以通過出身日期計算得出設計數據庫時通常要遵循以下原則:281.3數據庫設計基礎實體集屬性病人編碼、姓名、性別、出生日期、家庭住址、入院時間等醫師編碼、姓名、性別、職稱、類別、電話號碼等醫囑編碼、醫囑內容、開囑時間、數量、單位、規格、用法等費用編碼、項目名稱、登記時間、規格、單位、劑量、金額等科室編碼、名稱聯系(類型)屬性醫師-病人(1:n)醫師編碼、病人編碼科室-病人(1:n)科室編碼、病人編碼醫囑-病人(n:1)醫囑編碼、病人編碼費用-醫囑(n:1)病人編碼、費用編碼
住院管理業務包含的實體集住院管理業務包含的實體集之間的聯系第一步:確定實體集和實體集之間的聯系291.3數據庫設計基礎第二步:概念結構設—E-R圖301.3數據庫設計基礎屬性數據類型長度備注編碼整數1-10位數字主鍵/候選主鍵姓名文本不超過20個字符
性別文本2個字符
出生日期文本10個字符也可使用日期型家庭住址文本不超過100個字符
入院時間本文10個字符也可使用日期型出院時間文本10個字符也可使用日期型科室編碼整數1-10位數字外鍵醫師編碼整數1-10位數字外鍵住院病人信息表第三步:邏輯結構設計—將E-R圖轉換為二維關系表311.3數據庫設計基礎屬性數據類型長度備注編碼整數1-10位數字主鍵/候選主鍵醫囑內容文本不限
開囑時間文本20個字符也可使用日期型數量小數型1-10位數字
劑量整數1-10位數字
單位文本不超過20個字符
規格文本不超過20個字符
用法文本不超過20個字符
病人編碼整數1-10位數字外鍵醫生編碼整數1-10位數字外鍵醫囑信息表321.3數據庫設計基礎屬性數據類型長度備注編碼整數1-10位數字主鍵/候選主鍵科室名稱文本不超過20個字符
科室信息表屬性數據類型長度備注編碼整數1-10位數字主鍵/候選主鍵姓名文本不超過20個字符
性別文本2個字符
類型文本4個字符
職稱文本不超過10個字符
醫師信息表331.3數據庫設計基礎屬性數據類型長度備注編碼整數1-10位數字主鍵/候選主鍵登記時間文本20個字符也可使用日期型項目名稱文本不超過200個字符
數量小數型1-10位數字
劑量整數1-10位數字
單價小數型1-10位數字
規格文本不超過20個字符
廠家文本不超過50個字符
金額小數型1-10位數字
醫囑編碼整數1-10位數字外鍵病人編碼整數1-10位數字外鍵醫師編碼整數1-10位數字外鍵費用信息表341.4Access簡介35Access是一種簡便易用的關系型數據庫管理系統,能夠快速地創建數據庫文件。1.4.1Access的發展歷程
美國微軟公司于1992年11月發布了Access1.0版本,該版本是基于windows3.0操作系統下的獨立的關系型數據庫管理系統,1993年升級為2.0版本,并成為office軟件的一部分。隨著技術的發展,先后出現了多個版本:Access7.0/95、8.0/97、9.0/2000、10.0/2002,Access2003、Access2007、Access2010、Access2016。其中MicrosoftAccess2010不僅功能完善,界面美觀,且使用簡便,是目前廣泛使用的一個版本。本教材選用Access2010作為教學版本。
與其他數據庫管理系統相比,Access具有輕便易用的優勢。用戶可通過可視化的界面管理數據,甚至設計和開發出功能強大,具有一定專業水平的數據庫應用系統。1.4Access簡介361.4.2Access數據庫的系統結構
Access2010共有6種對象,分別是表、查詢、窗體、報表、宏和模塊,不同的對象在數據管理中有不同的作用。表為Access的基礎與核心,存儲數據庫的全部數據。查詢、窗體及報表都是從表中獲得數據信息,以實現數據查詢、編輯、計算、統計、打印等需求。窗體為用戶提供了可視化操作界面,通過窗體可以調用宏或模塊實現更多的功能。1.4Access簡介37表表是關系模型在數據庫管理系統中的實現。所有的數據均存放在二維形式的表中。Access的一個數據庫文件中可以包含多個表,表可以由用戶創建也可以從外部導入。1.4Access簡介38查詢查詢是Access最常用的功能之一。用戶根據一定的條件從一個或多個表中查詢出所需要的數據,形成一個二維表形式的動態數據集,并顯示在數據表窗口中。1.4Access簡介39Access提供報表實現數據的統計、打印和輸出。利用報表可以將數據庫中需要的數據提取出來進行分析和計算,并以格式化方式發送到打印機。報表的數據源為表或查詢,用戶可以按需求創建形式各樣的報表。窗體窗體是數據庫和用戶聯系的界面。在窗體中,不僅可以包含普通的數據,還可以包含圖形、圖片和音視頻等類型的數據。報表1.4Access簡介40宏模塊模塊的功能比宏更全面,通過VBA(VisualBasicforApplication)程序能夠完成更加復雜的功能。通過將模塊與窗體、報表等對象建立聯系,可以實現完整的數據庫應用系統宏是一系列操作的集合,能實現不同的功能。例如修改數據、創建報表、打開窗體等。宏的作用在于簡化重復的操作,讓其自動完成,從而使管理和維護Access數據庫更加簡單。1.4Access簡介41功能區導航窗格Access主界面1.4Access簡介42打開Access軟件,在“新建”界面,選擇“樣本模板”->“學生”,創建示例數據庫1.4Access簡介43在“導航窗格”中選擇“對象類型”可查看該示例數據庫中包含的對象。可見該學生示例數據庫中已包含:表、查詢、窗體
和報表四種對象。點擊“創建”選項卡->“宏”,可創建宏,實現相應的功能。ThankYou!第2章數據庫和表主講人:羅鐵清46第2章數據庫和表
微軟公司出品的Access是一個功能強大的關系型數據庫管理系統,它可以組織和存儲文本、數字、圖片、動畫和聲音等多種類型的數據,進而便捷地對這些數據進行維護、査詢、統計、打印和發布等管理操作。472.1數據庫的創建和操作
在使用Access組織、存儲和管理數據時,首先應該創建數據庫,然后才能在該數據庫中創建所需的數據庫對象。482.1創建數據庫
1.創建空數據庫一般情況下,用戶都是先新建一個空數據庫,接著再根據需要向其中添加表、查詢、窗體和報表等對象,這種方法可以靈活地創建出滿足實際需求的數據庫。創建空數據庫的實質是創建數據庫的外殼,數據庫中沒有對象數據。創建空數據庫后,可以根據需要,添加表、查詢、窗體、報表、宏和模塊等對象。方法:單擊“文件”
“新建”
“空數據庫”。操作實例:例2.1創建“住院管理信息”數據庫,并將數據庫保存到D盤下的“HISAccess”文件夾中。2.1.1創建數據庫492.1創建數據庫
2.使用模板創建數據庫為了簡化數據庫的創建過程,Access提供了豐富的數據庫模板,如“學生”、“教職員”、“營銷項目”、“銷售渠道”、“聯系人Web數據庫”和“資產Web數據庫”等。使用數據庫模板,只需要一些簡單操作,就可以創建包含表、查詢、窗體和報表等對象的數據庫。樣本模板是最常用的模板,它包括12個。方法:單擊“文件”
“新建”
“樣本模板”。2.1.1創建數據庫圖2.5
使用樣本模板創建數據庫例2.250圖2.6
使用樣本模板創建教職員數據庫例2.251圖2.7
教職員數據庫創建成功后默認打開表“教職員列表”例2.252圖2.8
教職員數據庫中包含的各類對象例2.253542.1創建數據庫
1.打開數據庫方法1:單擊“文件”
“打開”2.1.2打開和關閉數據庫操作實例:例2.3使用“打開”命令,打開D盤下的“HISAccess”文件夾中的“住院管理信息”數據庫。方法2:單擊“文件”
“最近所用文件”圖2.9
使用“最近所用文件”命令來打開數據庫例2.455562.1創建數據庫
2.關閉數據庫方法1:單擊Access窗口右上角“關閉”按鈕
方法2:雙擊Access窗口左上角“控制”菜單圖標方法3:單擊“控制”
“關閉”方法4:單擊“文件”
“關閉數據庫”2.1.2打開和關閉數據庫572.2表的建立
Access是關系數據庫管理系統,其中表是Access數據庫的基礎,是存儲數據的基本單位,是存儲和管理數據的對象,也是數據庫中其它對象的數據來源。當用戶創建好空數據庫之后,需要先建立表和各表之間的關系,并向表中輸入數據,然后再根據需要逐步創建其它數據庫對象,最終形成完整的數據庫。582.2表的建立
592.2表的建立
表是數據記錄的集合,是數據庫最基本的組成部分2.2.1表的組成表由表結構和數據兩部分構成設計的是結構使用的是數據字段名稱數據類型字段屬性表結構:表的框架,主要包括字段名稱、數據類型和字段屬性等602.2表的建立表是數據記錄的集合,是數據庫最基本的組成部分2.2.1表的組成表由表結構和數據兩部分構成設計的是結構使用的是數據表數據:表的具體內容612.2表的建立1.字段名稱字段名稱:每個字段均具有唯一的名字2.2.1表的組成命名規則:長度為1~64個字符包含字母、漢字、數字、空格和其他字符,不能以空格開頭不能包含句號(.)、驚嘆號(!)、方括號([])和重音符號(’)不能使用ASCII為0~32的字符622.2表的建立2.數據類型文本:可存儲字符或數字,最多為255個字符。備注:可保存較長的字符和數字,最多可存儲65535個字符。數字:用來存儲進行算術運算的數字數據,數字類型的種類及其取值范圍:2.2.1表的組成632.2表的建立2.數據類型日期/時間:用于存儲日期、時間或日期時間組合,字段長度固定為8個字節。貨幣:等價于具有雙精度屬性的數字類型,字段長度為8個字節。自動編號:自動編號字段中數值唯一,字段長度為4個字節。是/否:只有兩種不同取值,字段長度為1個字節。2.2.1表的組成642.2表的建立2.數據類型OLE對象:用于存儲鏈接或嵌入的對象,這些對象以文件形式存在,其類型可以是Word文檔、Excel電子表格、圖像、聲音或其他二進制數據,字段最大容量為1GB。超鏈接:以文本形式保存超鏈接的地址,用來鏈接到文件、Web頁、電子郵件地址、本數據庫對象、書簽或該地址所指向的Excel單元格范圍。附件:用于存儲所有種類的文檔和二進制文件,字段最大容量為2G。計算:用于顯示計算結果,計算時必須引用同一表中的其他字段,字段長度為8字節。2.2.1表的組成652.2表的建立3.字段屬性字段屬性即表的組織形式,包括表中字段的個數,各字段的大小、格式、輸入掩碼、有效性規則等不同的數據類型字段屬性有所不同定義字段屬性可以對輸入的數據進行限制或驗證,也可以控制數據在數據表視圖中的顯示格式2.2.1表的組成662.2表的建立設置內容字段名稱數據類型和字段大小主鍵建立方法使用數據表視圖來建立表使用設計視圖來建立表2.2.2建立表672.2表的建立1.使用數據表視圖來建立表數據表視圖:按行和列顯示表中數據的視圖在數據表視圖中,可以進行字段的添加、編輯和刪除,也可以完成記錄的添加、編輯和刪除,還可以實現數據的查找和篩選等操作是/否。方法:單擊“創建”
“表”在數據表視圖中設置每個字段的字段名稱、字段大小和字段屬性。操作實例:例2.5在例2.1創建的“住院管理信息”數據庫中建立“住院病人信息表”。2.2.2建立表682.2表的建立2.使用設計視圖來建立表設計視圖:分為上下兩部分。上半部分是字段輸入區,下半部分是字段屬性區。2.2.2建立表
表設計視圖是創建表結構以及修改表結構最方便、最有效的工具。方法:單擊“創建”
“表設計”在設計視圖中設置每個字段的字段名稱、字段大小和字段屬性操作實例:例2.6在“住院管理信息”數據庫中建立“住院醫生護士信息表”。692.2表的建立3.定義主鍵主鍵:是唯一標識表中每一條記錄的一個字段或多個字段的組合(主鍵不能為空,不能重復)主鍵類型:單字段主鍵和多字段主鍵。單字段主鍵是以某一個字段作為主鍵來唯一標識表中的記錄。多字段主鍵是由兩個或更多字段組合在一起來唯一標識表中的記錄主鍵的作用:實施實體完整性控制、加快查詢速度、排序、用于建立表之間的關系2.2.2建立表702.2表的建立3.定義主鍵操作步驟:在設計視圖中打開相應表選擇要定義主鍵的字段單擊“設計”選項卡下“工具”組中的“主鍵”按鈕
2.2.2建立表操作實例:例2.7將“住院管理信息”數據庫的“住院醫生護士信息表”的“用戶編碼”字段設置為主鍵。712.2表的建立1.字段大小用于限制輸入到該字段的最大長度,當輸入的數據超過該字段設置的字段大小時,系統將拒絕接收只適用于“文本”、“數字”或“自動編號”類型的字段有些類型的字段大小屬性既可在數據表視圖中設置,也可在設計視圖中設置,如文本類型。有些只能在設計視圖中設置,如數字類型。2.2.3設置字段屬性圖2.19
設置“數量”字段的“字段大小”屬性例2.972732.2表的建立2.格式可確定數字、貨幣、日期等字段格式只影響數據的顯示格式在設計視圖的字段屬性框的字段格式屬性中選擇字段格式的類型2.2.3設置字段屬性圖2.20“出生日期”字段的“格式”屬性設置結果例2.1074752.2表的建立3.輸入掩碼可將格式中相對固定的符號固定成格式的一部分,減化輸入控制數據的輸入格式文本、數字、日期/時間、貨幣等類型字段可定義輸入掩碼在顯示數據時,格式屬性優先于輸入掩碼2.2.3設置字段屬性圖2.21“輸入掩碼向導”的第1個對話框圖2.22“輸入掩碼向導”的第2個對話框圖2.23“出生日期”字段“輸入掩碼”屬性設置結果例2.11762.2表的建立4.默認值可減少數據輸入量在設計視圖的字段屬性框的默認值屬性中輸入默認的值2.2.3設置字段屬性圖2.24“病人性別”字段的“默認值”屬性設置結果圖2.25插入新記錄時“病人性別”字段顯示了默認值例2.1277782.2表的建立5.有效性規則為防止數據的輸入錯誤而設置在設計視圖的字段屬性框的有效性規則屬性中該字段的有效性規則對文本類型字段,可設置輸入的字符個數不能超過某一個值;對數字類型字段,可使Access只接受一定范圍內的數據;對日期/時間類型字段,可將數值限制在一定的月份或年份以內
2.2.3設置字段屬性圖2.26
在“有效性規則”框中輸入有效性規則圖2.27
測試所設置的“有效性規則”例2.13792.2表的建立6.有效性文本當輸入的數據違反了有效性規則時,系統顯示的文本2.2.3設置字段屬性圖2.28
測試所設置的“有效性規則”和“有效性文本”例2.14802.2表的建立7.索引索引能根據鍵值加速在表中查找和排序的速度,能對表中記錄實施唯一性可建立單字段索引和多字段索引2.2.3設置字段屬性圖2.29
設置多字段索引例2.1681822.2表的建立2.2.4建立表間關系醫院院徽1.表間關系一對一關系:假設有表A和表B兩個表,如果表A中的1條記錄與表B中的1條記錄相匹配,反之亦然,則表A與表B是一對一關系832.2表的建立1.表間關系一對多關系:如果表A中的1條記錄與表B中的多條記錄相匹配,但表B中的1條記錄只與表A中的1條記錄相匹配,則表A與表B是一對多關系2.2.4建立表間關系醫生醫囑信息842.2表的建立1.表間關系多對多關系:如果表A中的多條記錄與表B中的多條記錄相匹配,且表B中的多條記錄也與表A中的多條記錄相匹配,則表A與表B是多對多關系2.2.4建立表間關系在Access中只有前兩種,多對多被轉換成兩個一對多聯系病人醫院852.2表的建立2.參照完整性參照完整性:是在輸入或刪除記錄時,為維持表之間已定義的關系而必須遵循的規則參照完整性規則要求通過定義的外關鍵字和主關鍵字之間的引用規則來約定兩個關系之間的聯系如果表中設置了參照完整性,那么主表中沒有相關記錄時,就不能將記錄添加到相關表中,也不能在相關表中存在匹配記錄時刪除主表中的記錄,更不能在相關表中有相關記錄時,更改主表中的主鍵值2.2.4建立表間關系2.2表的建立3.建立表間關系在定義表間關系之前,應關閉所有需要定義關系的表定義方法:“數據庫工具”“關系”2.2.4建立表間關系圖2.30“編輯關系”對話框例2.178687圖2.31
建立關系結果例2.17882.2表的建立4.編輯表間關系方法:在關系窗口中右擊關系連線
“編輯關系”2.2.4建立表間關系聯接類型:內部聯接、左邊外部聯結、右邊外部聯接
892.2表的建立1.使用“數據表視圖”輸入數據2.2.5向表中輸入數據操作實例:例2.18將表2.9所示的數據輸入到“住院管理信息”數據庫的“住院科室信息表”。表2.9“住院科室信息表”表部分內容科室編碼科室名稱215普外科216骨外科902.2表的建立2.使用查詢列表輸入數據通常情況下,Access表中的字段值大多來自于手工輸入的數據,或從其它數據源導入的數據。如果某個字段值是一組固定數據,例如“住院醫生護士信息表”中的“職稱”字段值為“醫師”、“主治醫師”、“副主任醫師”、“主任醫師”、“護士”、“護師”、“主管護師”、“副主任護師”和“主任護師”等,如果通過手工直接輸入則比較麻煩而且容易出錯。此時,可以將這組固定值設置為一個列表,從列表中選擇,不但可以大大提高輸入效率,而且還可以避免輸入錯誤。2.2.5向表中輸入數據912.2表的建立2.使用查詢列表輸入數據有兩種方法可以用來創建查閱列表,一種是使用向導創建,另一種是直接在“查閱”選項卡中設置。2.2.5向表中輸入數據操作實例:例2.19使用向導為“住院管理信息”數據庫的“住院醫生護士信息表”的“職稱”字段創建查閱列表,列表中顯示“醫師”、“主治醫師”、“副主任醫師”、“主任醫師”、“護士”、“護師”、“主管護師”、“副主任護師”和“主任護師”9個值。2.2表的建立2.使用查詢列表輸入數據有兩種方法可以用來創建查閱列表,一種是使用向導創建,另一種是直接在“查閱”選項卡中設置。2.2.5向表中輸入數據圖2.37
查閱列表參數設置結果圖2.38
查閱列表字段設置效果例2.2092932.2表的建立3.獲取外部數據在Access中,可以通過導入操作將外部數據添加到當前的數據庫中。導入數據時,將從外部獲取數據并形成數據庫中的數據表對象,此后將與外部數據源斷絕連接,不論外部數據源是否發生變化,都不會影響已經導入的數據。Access支持導入Excel工作表、XML文件、SharePoint列表和其它Access數據庫等外部數據。2.2.5向表中輸入數據94圖2.39
在“獲取外部數據-Excel電子表格”窗口上選擇數據源和目標例2.2195圖2.40“導入數據向導”的第1個對話框例2.2196圖2.41“導入數據向導”的第2個對話框例2.2197圖2.42“住院科室信息表”中導入了“住院科室信息表.xlsx”中的數據例2.21982.3表的維護用戶最初創建的數據表有可能不夠完善、無法充分滿足實際需求,用戶可以在后期跟進實際需要對數據表進行維護,包括修改表結構、編輯表內容和調整表格式等。992.3表的維護在表的設計視圖中修改可對字段實施的修改操作添加字段、修改字段、刪除字段、重新定義主鍵2.3.1修改表結構2.3.2編輯表內容在數據表視圖中修改可對數據實施修改操作定位記錄、選擇記錄、添加記錄刪除記錄、修改數據、復制數據1002.3表的維護1.定位記錄向數據表中輸入數據之后,如果要對數據進行修改,則首先要定位記錄并選中記錄。定位記錄主要有3種方法:使用“記錄導航”條定位、使用快捷鍵定位和使用“轉至”按鈕定位。2.3.2編輯表內容例2.221012.3表的維護2.選擇記錄選擇記錄可以使用鼠標或鍵盤來進行,因用戶主要使用鼠標來操作,故重點介紹使用鼠標的操作方法,詳見表2.11。2.3.2編輯表內容1022.3表的維護3.添加記錄:要往數據表中添加記錄時,需要先使用數據表視圖打開要添加記錄的表,接著單擊記錄導航條上的新空白記錄按鈕,即可輸入要添加的數據,這是最快捷的方法。2.3.2編輯表內容4.刪除記錄:要從數據表中刪除記錄時,需要先使用數據表視圖打開要刪除記錄的表,接著單擊要刪除的記錄的記錄選定器,再按下鍵盤的Delete鍵,最后在彈出的刪除記錄提示框中單擊“是”按鈕即可,這是最快捷的方法。5.修改數據:要修改數據表中的數據,需要先使用數據表視圖打開要修改數據的表,接著將光標移動到要修改數據的相應字段直接修改即可。1032.3表的維護6.復制數據:當輸入或編輯數據時,有些數據可能相同或相似,此時可以通過復制和粘貼操作將某個字段中的一部分或全部數據快速復制到另一個字段中。操作方法是使用“(2)選擇記錄”中介紹的方法選擇要復制的數據,接著按下Ctrl+C鍵,再將鼠標指針移動到目標字段,最后按下Ctrl+V鍵完成復制。2.3.2編輯表內容1042.3表的維護1.改變字段顯示次序默認情況下,Access數據表中字段的顯示次序與它們在表或查詢中創建的次序一致,但是有時需要改變字段的顯示次序以滿足查看數據的需要。2.3.3調整表格式圖2.44改變字段顯示次序前圖2.45改變字段顯示次序后例2.231052.3表的維護2.調整字段顯示高度:可以使用鼠標調整,也可以使用命令調整。3.調整字段顯示寬度:可以使用鼠標調整,也可以使用命令調整。4.隱藏列:在數據表視圖中,為了方便查看主要數據,有時可以將不需要的字段列暫時隱藏起來,當需要的時候再重新顯示出來。5.顯示隱藏的列:在需要的時候,可以將隱藏的列重新顯示出來。2.3.3調整表格式1062.3表的維護6.凍結列:當所建的表包含很多字段時,查看時有些字段就必須通過滾動條才能看到。如果希望始終都能看到某些字段,可以將其凍結,那么當水平滾動數據表時,這些字段將在窗口中固定不動。操作實例:例2.26將“住院管理信息”數據庫的“住院費用信息表”的“費用編碼”字段列凍結。7.設置數據表格式:默認情況下,在數據表視圖中的水平和垂直方向顯示網格線,并且網格線顏色、背景色和替代背景色都采用系統默認的顏色。用戶可以根據需要對數據表格式進行設置。2.3.3調整表格式1072.3表的維護8.改變字體為了更加美觀醒目地顯示數據,用戶可以根據需要改變數據表中的字體、字形、字號和顏色。2.3.3調整表格式圖2.49改變字體后的效果例2.271082.4表的使用
數據表創建好之后,可以根據需要對表中的數據進行排序或篩選。1092.4表的使用
2.4.1排序記錄概念:根據當前表中的一個或多個字段的值來對整個表中的所有記錄進行重新排列1.排序規則英文按字母順序排序,大、小寫視為相同中文按拼音字母的順序排序數字按數字的大小排序日期按日期的先后順序排2.按一個字段排序使用“升序”或“降序”按鈕操作實例:例2.28在“住院管理信息”數據庫的“住院病人信息表”中,按“出生日期”字段進行升序排序。1102.4表的使用2.4.1排序記錄3.按多個字段排序
如果要按多個字段對數據進行排序,Access將先根據第一個字段按照指定的順序進行排序,當不同記錄的第一個字段具有相同值時,再根據第二個字段按照指定的順序進行排序,依次類推,直到全部排序完畢。使用“升序”或“降序”按鈕使用“高級篩選/排序”命令1112.4表的使用2.4.1排序記錄3.按多個字段排序使用“升序”或“降序”按鈕圖2.50使用“升序”按鈕按兩個字段排序例2.291122.4表的使用2.4.1排序記錄3.按多個字段排序使用“高級篩選/排序”命令圖2.51在“篩選”窗口設置排序次序圖2.52排序結果例2.301132.4表的使用2.4.2篩選記錄1.按選定內容篩選篩選符合單值的記錄,使用“選擇”按鈕。圖2.53篩選選項圖2.54按選定內容篩選的結果例2.311142.4表的使用2.4.2篩選記錄2.使用篩選器篩選篩選器將選定的字段列中所有不重復的值以列表形式顯示出來,按單字段的值進行篩選,篩選器中顯示的篩選項取決于所選字段的數據類型和字段值。圖2.55設置篩選選項圖2.56篩選出職稱為“主任醫師”的醫生記錄例2.321152.4表的使用2.4.2篩選記錄3.按窗體篩選按窗體篩選記錄時,需要在“按窗體篩選”窗口中設置篩選條件,每個字段都有一個對應的下拉列表,可以從每個下拉列表中選取一個值作為篩選內容。如果需要選擇兩個或兩個以上的值,可以使用窗體底部的“或”標簽來確定兩個字段值之間的關系。圖2.58在“按窗體篩選”窗口中選擇篩選字段值圖2.59篩選出職稱為“主任醫師”的男性醫生記錄例2.331162.4表的使用2.4.2篩選記錄4.高級篩選當需要設置比較復雜的篩選條件時,可以使用“篩選”窗口,“篩選”窗口還支持對篩選結果進行排序。操作實例:例2.34在“住院管理信息”數據庫的“住院病人信息表”中篩選出2000年以后出生的的男性病人記錄,并按“入院時間”升序排序。1172.4表的使用2.4.2篩選記錄5.清除篩選進行篩選之后,如果不再需要篩選的結果,可以將其清除,以恢復到篩選前的狀態。可以從單個字段中清除單個篩選,也可以從所有字段中清除所有篩選。清除所有篩選最快捷的方法是:在“開始”選項卡的“排序和篩選”組中,單擊“高級”按鈕,從彈出的下拉菜單中選擇“清除所有篩選器”即可。ThankYou!第3章查詢3.1查詢概述3.2利用向導創建查詢3.3
查詢條件(重點)3.4選擇查詢(重點)3.5
交叉表查詢3.6操作查詢3.7SQL查詢病人編碼病人姓名科室編碼醫生編碼P1001萬慶伏4381173用戶編碼用戶姓名職稱1173昌文婷主任醫生科室編碼科室名稱438血透室住院病人信息表住院醫生護士信息表住院科室信息表病人姓名用戶姓名科室名稱萬慶伏昌文婷
血透室………………查詢結果3.1查詢概述1)選擇字段和記錄選擇字段:在查詢的結果中可以只含有表中的部分字段。選擇記錄:在查詢的結果中,只含有符合指定條件的記錄。2)編輯記錄即利用查詢添加、修改和刪除表中的記錄。3)統計和計算即在查詢中進行各種統計計算,也可以建立一個計算字段來保存計算的結果。4)為其他數據庫對象提供數據源即以查詢的結果作為查詢、窗體或報表的數據源查詢的功能:
3.1.1查詢的類型用結構化的語言實現查詢重組數據結構并實現統計對表中的記錄做更改SQL查詢交叉表查詢操作查詢選擇字段、記錄并作統計選擇查詢3.1.2查詢視圖查詢的數據瀏覽器,用于查看查詢運行的結果數據表視圖查詢設計器,通過該視圖可以創建除SQL查詢之外的各種查詢數據源查詢設計區設計視圖查看和編輯SQL語句的窗口SQL視圖3.2利用向導創建查詢Access2010提供了4種類型的查詢向導:
簡單查詢向導
交叉表查詢向導
查找重復項查詢向導
查找不匹配項查詢向導使用查詢向導創建查詢幾點說明:
不能對記錄進行篩選和排序
不能改變查詢中字段的順序
允許對數值字段進行匯總統計
匯總查詢必須包含且只能包含匯總統計的數值型字段和用于匯總依據的分組字段。其它字段的添加將無法得到期望的匯總效果。3.2.1簡單查詢向導【例3.1】利用查詢向導查找并顯示“住院醫生護士信息表”中的“用戶姓名”和“職稱”2個字段。3.2.1簡單查詢向導【例3.2】查詢每位住院病人的總費用,顯示“病人編號”、“病人姓名”和“總費用”3個字段。3.2.2交叉表查詢向導用戶的查詢需求需要對數據進行分類統計。交又表查詢顯示來源于表中某個字段的統計值,并將它們分組放置在查詢表中。左側列顯示的字段是行標題,上側列顯示的字段是列標題。3.3查詢條件在Access2010中,查詢條件是一個表達式,常量、字段名、函數等運算對象用運算符連接起來的式子就是表達式,計算結果為一個邏輯值。運算符說明運算符說明+、—、*、/、Mod、^算術運算符Not、And、Or邏輯運算符=,>,<,>=,<=,<>關系運算符&、+連接運算符Between…And、Like、In、IsNull和IsNotnull特殊運算符查詢條件中使用的各種運算符3.3.2查詢條件中使用的函數
1、字符函數2、日期時間函數求字串長度:Len(C)取子串:Left(C,N)Right(C,N)Mid(C,n1[,n2])Len([姓名])=2Left([姓名],1)=“張”Right([姓名],1)=“中”Mid([姓名],2,1)=“平”Year(date)Month(date)Ddy(date)Year([出生日期])=1995Between#1980-1-1#and#1980-12-31#Year(date())-Year([出生日期])<4
3、統計函數Sum(表達式)Avg(表達式)Count(表達式)Max(表達式)Min(表達式)返回表達式中值的總和返回表達式中值的平均值返回表達式中值的計數返回表達式中值的最大值返回表達式中值的最小值由運算符、常量、字段值、函數以及字段名等連接起來的式子都是表達式。表、查詢、窗體、報表和宏都接受表達式的屬性3.4選擇查詢
選擇查詢是最常用的查詢類型,根據用戶所指定的查詢條件,從一個或多個數據源表中獲取數據并顯示結果。
選擇查詢可以對記錄進行分組,并進行各種統計,如:求和、計數、求平均值等。
建立查詢的方法有:查詢向導和查詢設計3.4.1在設計視圖中創建查詢創建不帶條件的查詢創建帶條件的查詢創建要求用戶輸入條件值的查詢可以基于單數據源或者多數據源的查詢。如基于多數據源,則表間已建立關系可以基于單數據源或者多數據源的查詢。查詢條件是關系表達式,表達式的運算結果是一個邏輯值可以創建要求用戶輸入條件值的查詢,也稱為參數查詢查詢的設計視圖分為上下兩部分:
上半部分用于顯示查詢的數據源(包括它們之間的關系)
下半部分是查詢設計區,用來定義查詢的表格,表格的列對應查詢中的一個字段;行對應字段的屬性或要求。☆字段 查詢結果中所顯示的字段☆表
查詢數據源,即字段的來源☆排序 查詢結果中相應字段的排序方式☆顯示 設置在數據表視圖中是否顯示該字段☆條件
查詢條件(同行之間為“與”關系)☆或
查詢條件(不同行之間為“或”關系)一、創建不帶條件的查詢一、創建不帶條件的查詢使用查詢設計視圖創建查詢首先要打開查詢的設計視圖窗口,然后根據需要進行查詢的定義。★操作步驟:①打開數據庫②在【創建】選項卡的【查詢】組中單擊【查詢設計】按鈕,打開查詢設計器窗口③在查詢設計器窗口中定義查詢④保存查詢一、創建不帶條件的查詢【例3.3】查詢每位病人的住院情況,需要了解每位病人的住院醫生以及病人所在科室。并顯示“病人編碼”、“病人姓名”、“用戶(醫生)姓名”、“科室名稱”等字段信息。所建查詢名為“病人的住院醫生和所在科室情況”。
分析:這些信息分別來自于住院病人信息表、住院醫生護士信息表、住院科室信息表,且三張表間應已建立關系。二、創建帶條件的查詢在實際的查詢中,經常需要查詢滿足某個條件的記錄。帶條件的查詢需要通過設置查詢條件來實現。查詢條件是運算符、常量、字段值、函數以及字段名等任意組合的關系表達式,其運算結果是一個邏輯值。查詢條件
在查詢的設計視圖中,查詢條件應使用查詢定義窗口中的條件選項來設置,即在相應的字段的【條件】文本框中輸入條件。▲條件表達式中通常省略字段名。▲有多個條件,且涉及不同的字段時,則分別設置相應字段的條件。▲同行的條件之間是“與”關系;不同行的條件之間是“或”關系二、創建帶條件的查詢【例3.4】查找1980年至1989年出生的男病人,并顯示“病人姓名”、“病人性別”、“家庭住址”。【思考題】查找1990年以后出生的女病人和1960年以前出生的男病人,顯示“病人姓名”、“病人性別”、“出生日期”。三、創建用戶輸入條件值的查詢如果希望根據某個或某些字段不同的值來查找記錄。可以創建要求用戶輸入條件值的查詢,也稱為參數查詢。在這種查詢方式中,用戶以交互方式輸入一個或多個條件值。【例3.6】按照病人姓名查詢某病人的的住院醫生以及病人所在科室。并顯示“病人編碼”、“病人姓名”、“用戶(醫生)姓名”、“科室名稱”等字段信息。
【思考題】在已建查詢【例3.3】上建立一個查詢,能查詢某科室某醫生診治的病人,并顯示“病人姓名”。3.4.2使用查詢進行統計計算▲預定義計算利用設計視圖網格的【總計】行進行各種統計▲自定義計算創建計算字段進行任意類型的計算1、預定義計算預定義計算,即“總計”計算。利用設計視圖網格的中【總計】行進行統計。
【總計】行的打開方式:單擊【查詢工具/設計】選項卡【顯示/隱藏】組中的【匯總】按鈕。【例3.8】統計各個科室住院人數。查詢結果按住院人數降序排列。【總計】下拉列表框中含以下各選項:
分組(GroupBy)
合計
平均值
最小值
最大值
計數(Count)
條件(Where)【思考題】創建查詢顯示住院總費用前5的病人,查詢結果中顯示“住院病人編碼”、“病人姓名”和“總金額”。【思考題】統計所有姓“田”病人的住院總費用。2、自定義計算
當需要統計的數據在表中沒有相應的字段,或者用于計算的數據值來源于多個字段時,應在查詢中使用計算字段。
計算字段是指根據一個或多個字段使用表達式建立的新字段(查詢中的顯示字段)。
創建計算字段是在查詢設計視圖的【字段】行中直接輸入計算表達式。【例3.11】創建查詢計算每位病人年齡,結果中顯示“病人編碼”、“病人姓名”、“年齡”。其中“年齡”為計算字段。3.5交叉表查詢設計交叉表查詢需要字義3種字段:
處于數據表最左端的行標題字段把某一字段或相關數據放入指定的一行中。
處于數據表最上邊的列標題字段對每一列指定的字段進行統計,并將統計結果放在該列。
處于行和列交叉位置的值字段可以為該字段指定總計項。交叉表查詢是一種常用的統計表格,它顯示來自于表中某個字段的計算值(包括總計、平均值、計數或其他類型的計算)。可將它們分組,一組為行標題,顯示在數據表左側,另一組為列標題,顯示在數據表的頂端,在表格行和列的交叉位置處顯示表中某個字段的各種計算。【思考題】用交叉表查詢實現統計各科室男女病人人數。在交叉表查詢中:
只能指定一個列字段和一個總計類型的字段。
可以通過設置一個或多個行標題,創建多級交叉表查詢。3.6操作查詢操作查詢既需要檢索記錄,也需要更新記錄。而且操作查詢可能對數據源中的數據進行大量的修改或刪除。文生成表查詢追加查詢更新查詢刪除查詢一、生成表查詢生成表查詢利用一張或多張表中的全部或部分數據創建新表。創建生成表查詢時,關鍵是要在查詢設計視圖中設計好將要生成表的字段和條件。【例3.12】將主任醫師的信息生成一張獨立的數據表。表中包含“用戶編碼”、“用戶姓名”。創建操作查詢之前,先要對操作的表進行備份二、追加查詢追加查詢可將查詢的結果追加到其他表(可以有數據,也可以是空白表)中,追加的數據用查詢條件加以限制。【例3.13】創建一個追加查詢,將副主任醫師追加到已經建立的“例3-12主任醫師信息表”中。三、更新查詢更新查詢能實現成批更新數據。能對一張或多張表中的一組記錄的某字段值進行全部更新。【例3.14】創建一個更新查詢,將“住院醫生護士信息表的副本”中所有“醫師“改成“醫生”。四、刪除查詢刪除查詢能夠從一張或多張表中刪除指定的記錄。如果刪除的記錄來自多張表,則必須滿足以下幾點要求:
(1)在“關系”窗口中已經定義相關表之間的關系。
(2)在“編輯關系”對話框中選中“實施參照完整性”復選框。
(3)在“編輯關系”對話框中選中“級聯刪除相關記錄”復選框。【例3.15】創建一個刪除查詢,刪除“住院醫生護士信息表的副本”中所有的主任醫生和副主任醫生。3.7SQL查詢語句格式:
SELECT<目標列表達式>[,<目標列表達式>]…FROM<表名>[,<表名>]…[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];
查詢僅涉及一張表:
簡單查詢
選擇表中的若干元組
ORDERBY子句
聚集函數
GROUPBY子句【例3.16】查詢所有住院病人的信息。用SQL語句實現。Select*from住院病人信息表一、簡單查詢【例3.17】查詢前5個病人的姓名和年齡。用SQL語句實現。SELECTTOP5住院病人信息表.病人姓名,Year(Date())-Year([出生日期])AS年齡FROM住院病人信息表求年齡最大的五位SELECTTOP5住院病人信息表.病人姓名,Year(Date())-Year([出生日期])AS年齡FROM住院病人信息表ORDERBYYear(Date())-Year([出生日期])DESC;【例3.19】查詢出年齡在60歲以上的病人。用SQL語句實現。SELECT*FROM住院病人信息表WHERE((Year(Date())-Year([出生日期])>"60"));【例3.20】查詢出年齡在60歲到70歲的病人。用SQL語句。SELECT*FROM住院病人信息表WHERE((Year(Date())-Year([出生日期])>"60")and(Year(Date())-Year([出生日期])<"70"));【例3.21】查詢出所有姓“田”的病人的編碼和姓名。SQL語句實現。SELECT病人編碼,病人姓名FROM住院病人信息表WHERE((Left([病人姓名],1)="田"));二、選擇元組SELECT…FROM…WHERE結構【例3.22】查詢出所有出院日期為“空值”的病人的編碼和姓名。SQL語句實現。SELECT*FROM住院病人信息表WHERE(出院時間IsNull);【例3.23】查詢出所有住院病人的病人編碼、病人姓名、家庭地址,并按性別順序輸出,性別相同再按年齡由大到小排列。SQL語句實現。三、ORDER
BY子句ORDERBY子句可以按一個或多個屬性列排序升序:ASC;降序:DESC;缺省值為升序當排序列含空值時ASC:排序列為空值的元組最后顯示DESC:排序列為空值的元組最先顯示五、GROUPBY子句四、聚集函數【例3.18】求出住院病人的總人數。用SQL語句實現。159五、GROUPBY子句GROUPBY子句分組:細化聚集函數的作用對象未對查詢結果分組,聚集函數將作用于整個查詢結果對查詢結果分組后,聚集函數將分別作用于每個組作用對象是查詢的中間結果表按指定的列值分組,值相等的為一組160五、GROUPBY子句【例3.25】統計出住院醫生所負責的病人總數大于等于5的醫生。SQL語句實現SELECT住院醫生護士信息表.用戶姓名,Count(住院病人信息表.病人編碼)AS病人總數FROM住院醫生護士信息表INNERJOIN住院病人信息表ON住院醫生護士信息表.用戶編碼=住院病人信息表.醫生編碼GROUPBY住院醫生護士信息表.用戶姓名HAVING(((Count(住院病人信息表.病人編碼))>5))ORDERBYCount(住院病人信息表.病人編碼)DESC;本章小結
查詢的主要目的就是通過某些條件的設置,從表中選擇所需要的數據。Access支持5種查詢方式:選擇查詢、參數查詢、交叉表查詢、操作查詢和SQL查詢。使用查詢向導創建選擇查詢和交叉表查詢方便快捷,但缺乏靈活性。查詢的設計視圖可以實現復雜條件和需求的查詢設計,也是本章掌握的重點。感謝聆聽第四章窗體主講人:羅鐵清查詢總結
164查詢條件:數字處理在100到200之間Between100and200>=100and<=200大于100且(同時)小于200>100and<200Between100and200成績不及格和90分以上(含90)的同學<60or>=90查詢總結
165查詢條件:文本處理姓“李”的病人Like“李*”Left([姓名],1)=“李”inStr([姓名],“李”)=1名字包含“軒”字的病人InStr([姓名],"軒")>"0"InStr([姓名],"軒")<>"0"Like“*軒*”找出第3到第5個字符mid([字段名],3,3)查詢總結
166根據數據的形式定條件表達式1.找出沒有“書法”愛好的學生信息2.找出冠心病和糖尿病兩種疾病的病人信息查詢條件:文本處理查詢總結
167查詢條件:日期/時間處理70年代Between#1970-01-01#and#1979-12-31#Year([出生日期])
between1970and1979Year([出生日期])>=1970andYear([出生日期])
<=197910天前的日期Date()-10
,返回日期相隔多少天
Datediff(“d”,[前時間],[后時間]),返回數字年齡找出年齡最大病人的(信息/生日),或者按年齡排序查詢總結
168分析題意:
select..From..where..orderby..groupby…1.找字段已有字段新字段表達式計算字段統計字段先熟悉表結構********查詢總結
169分析題意2.找表:單表,多表3.找條件:where條件,分組篩選條件(having)【實例】:找出成績優秀(“成績”大于等于85分且“選擇”大于等于30分)的學生信息,字段顯示標題為“院系名稱”、“學號”和“姓名”【實例】:找出人數在6人以上(不含6人)的院系,字段顯示標題為“院系號”和“人數”根據數據的形式定條件表達式1.找出沒有“書法”愛好的學生信息2.找出冠心病和糖尿病兩種疾病的病人信息3.找出同時患有冠心病和糖尿病兩種疾病的病人信息查詢總結
170分析題意4.是否排序:1.找出(前)5位學生的信息,不需要排序2.找出年齡排前5的學生信息,需要排序5.是否需要分組?哪個字段分組?聚集函數,80%以上需要分組查詢總結
171關鍵詞:“各”,“每”,“不同”;統計各個科室住院人數統計各醫生主治的病人數量查詢各院系成績優秀人數列出某字段值的全集或子集:統計男女病人數量【續】哪個字段分組?基于“院系”、“學生”、“成績”表,查詢各院系成績優秀(“成績”大于等于85分且“選擇”大于等于30分)的學生人數,要求輸出“院系代碼”、“院系名稱”和“優秀人數”查詢總結
基于“院系”、“學生”、“成績”表,查詢院系名稱為“地科院”與”文學院”的院系成績優秀(“成績”大于等于85分且“選擇”大于等于30分)的學生人數,要求輸出“院系代碼”、“院系名稱”和“優秀人數”172目錄
DIRECTORY認識窗體1234創建窗體窗體控件應用舉例4.1認識窗體窗體是在Access數據庫中是一種數據庫對象,主要用來輸入或顯示數據庫中的數據,在程序運行時用戶通過該窗口實現與系統的交互,實現數據庫管理。每個窗體都是一個操作界面,其中包含稱為控件的圖形對象,可建立窗體及其記錄來源之間的連接。根據不同的應用目的,可以設計具有不同風格的窗體。本章將詳細介紹窗體的概念和作用、窗體的組成和結構、窗體的設計和創建等。
4.1認識窗體窗體是表的操作界面,是數據庫的用戶接口。在Access中,以窗體作為輸入界面時,它可以接受用戶的輸入,判定其有效性、合理性,并響應消息、執行一定的功能。以窗體作為輸出界面時,它可以輸出數據表中的各種字段內容,如文字、圖形圖像,還可以播放聲音、視頻動畫、實現數據庫中多媒體數據處理。窗體還可以作為控制驅動界面等。窗體的功能輸入和編輯數據。可以為數據庫中的數據表設計相應的窗體作為輸入或編輯數據的界面,實現數據的輸入和編輯。顯示和打印數據。在窗體中可以顯示或打印來自一個或多個數據表或查詢中的數據,可以顯示警告或解釋信息。窗體中的數據顯示和格式更靈活,包括數據透視圖窗體和數據透視表窗體,可以讓數據以直觀的方式表達出來,數據的可分析性更強。控制應用程序執行流程。窗體能夠與函數、過程相結合,通過編寫宏或VBA代碼完成各種復雜的處理功能,控制程序的執行。比如,窗體作為導航面板,提供程序的導航功能。窗體的類型窗體有多種分類方法,根據數據的顯示方式窗體可分為:單頁窗體、多頁窗體、連續窗體、彈出式窗體、主/子窗體、圖表窗體等。窗體類型功
能單頁窗體也稱縱欄式窗體,在窗體中每頁只顯示表和查詢的一條記錄,記錄中的字段縱向排列于窗體之中多頁窗體在窗體中每頁顯示記錄的部分信息。可以通過切換按鈕,在不同分頁中切換連續窗體也稱表格式窗體,可以一次只顯示多條記錄,它是以數據表的方式顯示已經格式化的數據彈出式窗體用來顯示信息或提示用戶輸入數據主/子窗體用來顯示具有一對多關系的表中的數據圖表窗體是將數據經過一定的處理,以圖表形式直觀顯示出來,清晰地展示數據的變化狀態以及發展趨勢窗體設計工具選項卡“設計”選項卡主要用于設計窗體,利用其提供的控件可以向窗體中添加各種控件對象,設置窗體的主題、頁眉和頁腳,以及切換窗體視圖等。“排列”選項卡主要用于設置窗體的布局,包括設置表的布局、插入對象、合并和拆分對象、移動對象、設置對象的位置和外觀等。“格式”選項卡如圖4-3所示,主要用于設置窗體的格式,包括選定對象、設置對象的字體、背景、顏色,設置數字格式等。窗體的視圖(1)從不同的角度和層面來設計、查看和使用窗體,Access2010提供了6種窗體視圖模式窗體視圖窗體的視圖(2)數據表視圖窗體的視圖(3)數據透視表視圖窗體的視圖(4)數據透視圖視圖窗體的視圖(5)設計視圖窗體的視圖(6)布局視圖4.2創建窗體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省義烏市2024-2025學年物理高二下期末經典模擬試題含解析
- 重慶市江津區高2024-2025學年高二物理第二學期期末統考模擬試題含解析
- 新疆博爾塔拉蒙古自治州第五師中學2024-2025學年高二下數學期末質量檢測模擬試題含解析
- 浙江省杭十四中2025年生物高二第二學期期末教學質量檢測試題含解析
- 重慶市萬州龍駒中學2024-2025學年數學高二第二學期期末質量檢測模擬試題含解析
- 班主任學生德育與行為規范合同
- 成都房產交易風險防范合同
- 進步之星評選方案范文(18篇)
- 護理年終考試復習試題(一)
- 2025社團迎新活動策劃方案(7篇)
- DB32/T 4220-2022消防設施物聯網系統技術規范
- 車位轉讓合同協議書
- 合伙經營貨車輛協議書
- 2025年農村個人果園承包合同
- 湖北省武漢市2025屆高三年級五月模擬訓練試題數學試題及答案(武漢五調)
- 企業管理流程數字化轉型計劃
- 2025年數控技術專業畢業考試試題及答案
- MOOC 地下鐵道-中南大學 中國大學慕課答案
- 六西格瑪DMAIC案例(ppt-85頁)課件
- T∕CAGHP 070-2019 地質災害群測群防監測規范(試行)
- 年產50000噸檸檬酸發酵車間設計
評論
0/150
提交評論