Access數(shù)據(jù)庫入門教學(xué)案例分析下_第1頁
Access數(shù)據(jù)庫入門教學(xué)案例分析下_第2頁
Access數(shù)據(jù)庫入門教學(xué)案例分析下_第3頁
Access數(shù)據(jù)庫入門教學(xué)案例分析下_第4頁
Access數(shù)據(jù)庫入門教學(xué)案例分析下_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

引言在上篇中,我們介紹了Access數(shù)據(jù)庫的基礎(chǔ)概念(表、字段、記錄)、表結(jié)構(gòu)設(shè)計(jì)(數(shù)據(jù)類型選擇、主鍵設(shè)置)及數(shù)據(jù)錄入方法(手動(dòng)錄入、外部數(shù)據(jù)導(dǎo)入)。本篇將聚焦數(shù)據(jù)庫的核心功能與實(shí)戰(zhàn)技巧,通過“學(xué)生-課程-選課”案例(貫穿下篇始終),講解表關(guān)系建立、查詢高級應(yīng)用、窗體交互設(shè)計(jì)、報(bào)表制作及數(shù)據(jù)庫優(yōu)化維護(hù),幫助讀者掌握Access的實(shí)用技能,實(shí)現(xiàn)從“數(shù)據(jù)存儲”到“數(shù)據(jù)利用”的跨越。一、表關(guān)系與數(shù)據(jù)完整性:構(gòu)建數(shù)據(jù)庫的“骨架”表是數(shù)據(jù)庫的基礎(chǔ),但孤立的表無法發(fā)揮數(shù)據(jù)庫的優(yōu)勢。表關(guān)系是連接表的“橋梁”,其核心目標(biāo)是消除數(shù)據(jù)冗余、保證數(shù)據(jù)一致性。1.1為什么需要表關(guān)系?假設(shè)我們不建立表關(guān)系,直接將學(xué)生信息、課程信息與選課信息存放在一張表中(比如“學(xué)生課程表”),字段包括:學(xué)號、姓名、班級、課程號、課程名、學(xué)分、成績。此時(shí)會出現(xiàn)數(shù)據(jù)冗余問題:同一學(xué)生的“姓名、班級”會重復(fù)存儲(每選一門課就存一次);同一課程的“課程名、學(xué)分”會重復(fù)存儲(每有一個(gè)學(xué)生選就存一次)。冗余會導(dǎo)致數(shù)據(jù)不一致:比如修改某學(xué)生的班級時(shí),需要修改該學(xué)生所有選課記錄中的“班級”字段,若遺漏則會出現(xiàn)同一學(xué)生班級不一致的情況。通過建立表關(guān)系,我們可以將數(shù)據(jù)拆分為主表(存儲核心信息)和從表(存儲依賴信息):主表1:學(xué)生表(學(xué)號、姓名、班級)→存儲學(xué)生核心信息;主表2:課程表(課程號、課程名、學(xué)分)→存儲課程核心信息;從表:選課表(學(xué)號、課程號、成績)→存儲學(xué)生與課程的關(guān)聯(lián)信息(中間表)。這樣,“姓名、班級”僅在學(xué)生表中存儲一次,“課程名、學(xué)分”僅在課程表中存儲一次,選課表通過“學(xué)號”和“課程號”關(guān)聯(lián)學(xué)生表與課程表,消除了冗余。1.2表關(guān)系的類型與案例說明Access支持三種表關(guān)系:一對一、一對多、多對多,其中“一對多”和“多對多”是最常用的。(1)一對多關(guān)系(One-to-Many)定義:主表中的一條記錄可以對應(yīng)從表中的多條記錄,從表中的一條記錄僅對應(yīng)主表中的一條記錄。案例:學(xué)生表(主表)與選課表(從表)→一個(gè)學(xué)生可以選多門課(學(xué)生表一條記錄對應(yīng)選課表多條記錄),一門課的一條選課記錄僅對應(yīng)一個(gè)學(xué)生(選課表一條記錄對應(yīng)學(xué)生表一條記錄)。(2)多對多關(guān)系(Many-to-Many)定義:兩個(gè)表中的記錄可以互相對應(yīng)多條記錄。案例:學(xué)生表與課程表→一個(gè)學(xué)生可以選多門課,一門課可以被多個(gè)學(xué)生選,因此需要中間表(選課表)將多對多關(guān)系拆分為兩個(gè)一對多關(guān)系:學(xué)生表(主表)→選課表(從表):一對多;課程表(主表)→選課表(從表):一對多。(3)一對一關(guān)系(One-to-One)定義:兩個(gè)表中的記錄一一對應(yīng)。案例:學(xué)生表(主表)與學(xué)生證表(從表)→一個(gè)學(xué)生僅對應(yīng)一個(gè)學(xué)生證(學(xué)生證表一條記錄對應(yīng)學(xué)生表一條記錄),一個(gè)學(xué)生證僅屬于一個(gè)學(xué)生(學(xué)生表一條記錄對應(yīng)學(xué)生證表一條記錄)。這種關(guān)系通常用于拆分大型表(將不常用的字段放在從表中,提高查詢效率)。1.3建立表關(guān)系的實(shí)操步驟(以“學(xué)生-課程-選課”案例為例)目標(biāo):建立學(xué)生表與選課表、課程表與選課表的一對多關(guān)系,并實(shí)施參照完整性。步驟1:打開關(guān)系窗口打開數(shù)據(jù)庫→點(diǎn)擊頂部“數(shù)據(jù)庫工具”選項(xiàng)卡→點(diǎn)擊“關(guān)系”按鈕(若未添加過表,會彈出“顯示表”對話框)。步驟2:添加關(guān)聯(lián)表在“顯示表”對話框中,選中“學(xué)生表”“課程表”“選課表”→點(diǎn)擊“添加”→點(diǎn)擊“關(guān)閉”。步驟3:創(chuàng)建一對多關(guān)系學(xué)生表與選課表:拖動(dòng)學(xué)生表的“學(xué)號”字段(主鍵)到選課表的“學(xué)號”字段(外鍵)→彈出“編輯關(guān)系”對話框。課程表與選課表:同理,拖動(dòng)課程表的“課程號”字段(主鍵)到選課表的“課程號”字段(外鍵)→彈出“編輯關(guān)系”對話框。步驟4:設(shè)置參照完整性在“編輯關(guān)系”對話框中,必須勾選“實(shí)施參照完整性”(確保從表中的外鍵值必須存在于主表的主鍵中,避免孤兒記錄)。可選勾選:級聯(lián)更新相關(guān)字段:當(dāng)主表中的主鍵值修改時(shí),從表中的對應(yīng)外鍵值自動(dòng)修改(比如學(xué)生表學(xué)號從“STU001”改為“STU002”,選課表中的“STU001”自動(dòng)改為“STU002”);級聯(lián)刪除相關(guān)記錄:當(dāng)主表中的記錄刪除時(shí),從表中的對應(yīng)記錄自動(dòng)刪除(比如刪除學(xué)生表中的“STU001”記錄,選課表中所有“STU001”的記錄也會刪除)。點(diǎn)擊“創(chuàng)建”→完成表關(guān)系建立(關(guān)系窗口中會顯示表之間的關(guān)聯(lián)線)。提示:參照完整性是數(shù)據(jù)庫數(shù)據(jù)一致性的保障,建議在建立表關(guān)系時(shí)必選“實(shí)施參照完整性”,并根據(jù)需求選擇“級聯(lián)更新”和“級聯(lián)刪除”。二、查詢高級應(yīng)用:從數(shù)據(jù)中提取有價(jià)值的信息查詢是Access的核心功能,用于從表中提取滿足條件的數(shù)據(jù)。上篇介紹了簡單查詢(選擇查詢),本篇將講解參數(shù)查詢、交叉表查詢、操作查詢(更新、刪除、追加、生成表)的實(shí)戰(zhàn)應(yīng)用。2.1參數(shù)查詢:讓用戶動(dòng)態(tài)輸入條件定義:參數(shù)查詢是一種靈活的查詢,運(yùn)行時(shí)會彈出輸入框,讓用戶輸入查詢條件(如學(xué)號、課程名)。案例:查詢指定學(xué)生的選課記錄(顯示學(xué)生姓名、課程名、成績)。步驟1:打開查詢設(shè)計(jì)視圖點(diǎn)擊頂部“創(chuàng)建”選項(xiàng)卡→點(diǎn)擊“查詢設(shè)計(jì)”→添加“學(xué)生表”“選課表”“課程表”(通過“顯示表”對話框)。步驟2:添加查詢字段從“學(xué)生表”中添加“姓名”字段→從“課程表”中添加“課程名”字段→從“選課表”中添加“成績”字段(勾選“顯示”行,確保字段顯示在查詢結(jié)果中)。步驟3:設(shè)置參數(shù)條件在“學(xué)生表”的“學(xué)號”字段的“條件”行輸入:`[請輸入學(xué)生學(xué)號:]`(方括號表示參數(shù),運(yùn)行時(shí)會彈出輸入框)。步驟4:運(yùn)行查詢點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“運(yùn)行”→彈出“請輸入學(xué)生學(xué)號:”輸入框→輸入“STU001”→點(diǎn)擊“確定”→顯示該學(xué)生的選課記錄(姓名、課程名、成績)。提示:參數(shù)查詢可根據(jù)用戶輸入動(dòng)態(tài)調(diào)整查詢結(jié)果,適用于需要頻繁改變條件的場景(如查詢不同學(xué)生的成績、不同課程的選課情況)。2.2交叉表查詢:將數(shù)據(jù)轉(zhuǎn)化為“矩陣”定義:交叉表查詢用于將數(shù)據(jù)按行和列分組,顯示匯總結(jié)果(如平均值、求和、計(jì)數(shù)),類似于Excel的數(shù)據(jù)透視表。案例:統(tǒng)計(jì)每個(gè)學(xué)生每門課的成績(行:學(xué)生姓名;列:課程名;值:成績)。步驟1:打開查詢設(shè)計(jì)視圖并選擇交叉表類型點(diǎn)擊“創(chuàng)建”→“查詢設(shè)計(jì)”→添加“學(xué)生表”“選課表”“課程表”→點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“查詢類型”→選擇“交叉表查詢”。步驟2:設(shè)置交叉表字段從“學(xué)生表”中添加“姓名”字段→在“交叉表”行選擇“行標(biāo)題”(作為矩陣的行);從“課程表”中添加“課程名”字段→在“交叉表”行選擇“列標(biāo)題”(作為矩陣的列);從“選課表”中添加“成績”字段→在“交叉表”行選擇“值”(作為矩陣的單元格值)→在“匯總”行選擇“平均值”(或“求和”“計(jì)數(shù)”,根據(jù)需求)。步驟3:運(yùn)行查詢點(diǎn)擊“運(yùn)行”→顯示交叉表結(jié)果(行:學(xué)生姓名;列:課程名;值:該學(xué)生該課程的平均成績)。示例結(jié)果:姓名數(shù)據(jù)庫原理高等數(shù)學(xué)英語張三859088李四788275提示:交叉表查詢適合用于統(tǒng)計(jì)數(shù)據(jù)的分布情況(如每個(gè)學(xué)生每門課的成績、每個(gè)部門每月的銷售額),使數(shù)據(jù)更直觀。2.3操作查詢:批量修改數(shù)據(jù)定義:操作查詢用于批量修改數(shù)據(jù)(如更新、刪除、追加、生成表),而非僅顯示數(shù)據(jù)。操作查詢運(yùn)行后會修改表中的數(shù)據(jù),因此需謹(jǐn)慎使用(建議先備份數(shù)據(jù))。(1)追加查詢:將外部數(shù)據(jù)添加到現(xiàn)有表案例:將Excel中的新學(xué)生數(shù)據(jù)(學(xué)號、姓名、班級)追加到學(xué)生表中。步驟:點(diǎn)擊“創(chuàng)建”→“查詢設(shè)計(jì)”→點(diǎn)擊“查詢類型”→選擇“追加查詢”→選擇要追加到的表(“學(xué)生表”)→點(diǎn)擊“確定”;點(diǎn)擊頂部“外部數(shù)據(jù)”選項(xiàng)卡→點(diǎn)擊“Excel”→導(dǎo)入包含新學(xué)生數(shù)據(jù)的Excel文件(選擇“將源數(shù)據(jù)導(dǎo)入當(dāng)前數(shù)據(jù)庫的新表或查詢”→選擇“查詢”);在查詢設(shè)計(jì)視圖中,添加Excel表中的“學(xué)號”“姓名”“班級”字段(與學(xué)生表的字段對應(yīng));點(diǎn)擊“運(yùn)行”→彈出“您將追加X條記錄到表中”的提示→點(diǎn)擊“是”→完成追加。(2)更新查詢:批量修改現(xiàn)有數(shù)據(jù)案例:將所有學(xué)生的班級從“2023級1班”改為“2023級A班”。步驟:點(diǎn)擊“創(chuàng)建”→“查詢設(shè)計(jì)”→添加“學(xué)生表”→點(diǎn)擊“查詢類型”→選擇“更新查詢”;添加“班級”字段→在“更新到”行輸入:`"2023級A班"`(雙引號表示文本值);在“班級”字段的“條件”行輸入:`"2023級1班"`(篩選出需要更新的記錄);點(diǎn)擊“運(yùn)行”→彈出“您將更新X條記錄”的提示→點(diǎn)擊“是”→完成更新。提示:操作查詢運(yùn)行前,建議先點(diǎn)擊“設(shè)計(jì)”→“視圖”→“datasheet視圖”查看要修改的記錄(即查詢結(jié)果),確認(rèn)無誤后再運(yùn)行。三、窗體設(shè)計(jì):打造用戶友好的交互界面窗體是Access的用戶界面,用于數(shù)據(jù)錄入、查詢結(jié)果展示、導(dǎo)航(如點(diǎn)擊按鈕觸發(fā)查詢)。通過窗體,用戶可以無需直接操作表,即可完成數(shù)據(jù)操作。3.1窗體的類型與作用Access支持多種窗體類型,其中最常用的是:單表窗體:用于顯示或修改單張表的數(shù)據(jù)(如學(xué)生信息錄入窗體);主窗體/子窗體:用于顯示關(guān)聯(lián)表的數(shù)據(jù)(如主窗體顯示學(xué)生信息,子窗體顯示該學(xué)生的選課記錄);導(dǎo)航窗體:用于創(chuàng)建數(shù)據(jù)庫的導(dǎo)航菜單(如點(diǎn)擊“學(xué)生管理”按鈕打開學(xué)生窗體,點(diǎn)擊“課程管理”按鈕打開課程窗體)。3.2主窗體/子窗體實(shí)戰(zhàn):顯示學(xué)生與選課關(guān)聯(lián)信息案例:創(chuàng)建主窗體(顯示學(xué)生信息:學(xué)號、姓名、班級)和子窗體(顯示該學(xué)生的選課記錄:課程名、成績)。步驟1:創(chuàng)建主窗體點(diǎn)擊“創(chuàng)建”選項(xiàng)卡→點(diǎn)擊“窗體設(shè)計(jì)”→在設(shè)計(jì)視圖中,添加“學(xué)生表”的“學(xué)號”“姓名”“班級”字段(通過“字段列表”窗口:點(diǎn)擊頂部“設(shè)計(jì)”→“添加現(xiàn)有字段”);調(diào)整控件位置(如“學(xué)號”放在左上角,“姓名”放在“學(xué)號”右側(cè),“班級”放在“姓名”右側(cè))→設(shè)置控件屬性(如“學(xué)號”的“Enabled”屬性設(shè)為“否”,避免修改)。步驟2:添加子窗體點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“子窗體/子報(bào)表”→在主窗體的下方拖動(dòng)鼠標(biāo),繪制子窗體區(qū)域→彈出“子窗體向?qū)А睂υ捒?;選擇“使用現(xiàn)有的表和查詢”→選擇“選課表”和“課程表”(添加“課程名”“成績”字段)→點(diǎn)擊“下一步”;選擇“從主窗體獲取值”→關(guān)聯(lián)字段(主窗體:“學(xué)號”;子窗體:“學(xué)號”)→點(diǎn)擊“下一步”;輸入子窗體名稱(如“選課子窗體”)→點(diǎn)擊“完成”。步驟3:測試窗體點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“視圖”→選擇“窗體視圖”→主窗體顯示第一個(gè)學(xué)生的信息(學(xué)號、姓名、班級),子窗體顯示該學(xué)生的選課記錄(課程名、成績);點(diǎn)擊主窗體底部的導(dǎo)航按鈕(“下一條”“上一條”)→主窗體顯示不同學(xué)生的信息,子窗體自動(dòng)更新為該學(xué)生的選課記錄。提示:主窗體/子窗體是顯示關(guān)聯(lián)數(shù)據(jù)的有效方式,適用于需要同時(shí)查看主表和從表數(shù)據(jù)的場景(如學(xué)生信息與選課記錄、訂單信息與訂單明細(xì))。四、報(bào)表制作:將數(shù)據(jù)轉(zhuǎn)化為可打印的文檔報(bào)表用于展示和打印數(shù)據(jù)(如成績表、報(bào)表總結(jié)、統(tǒng)計(jì)圖表),是數(shù)據(jù)庫數(shù)據(jù)的最終輸出形式。Access的報(bào)表支持分組、匯總、排序等功能,使數(shù)據(jù)更清晰。4.1報(bào)表的結(jié)構(gòu)報(bào)表的結(jié)構(gòu)分為三部分:報(bào)表頁眉:顯示報(bào)表標(biāo)題(如“2023級學(xué)生成績報(bào)表”)、日期、頁碼(如“第1頁,共X頁”);主體:顯示具體數(shù)據(jù)(如每個(gè)學(xué)生的成績);報(bào)表頁腳:顯示匯總信息(如總?cè)藬?shù)、平均分)。4.2報(bào)表實(shí)戰(zhàn):創(chuàng)建班級成績總結(jié)報(bào)表案例:創(chuàng)建班級成績總結(jié)報(bào)表(按班級分組,顯示每個(gè)班級的學(xué)生人數(shù)、平均分、最高分、最低分)。步驟1:打開報(bào)表設(shè)計(jì)視圖點(diǎn)擊“創(chuàng)建”選項(xiàng)卡→點(diǎn)擊“報(bào)表設(shè)計(jì)”→添加“學(xué)生表”“選課表”“課程表”(通過“添加現(xiàn)有字段”)。步驟2:添加分組字段點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“分組和排序”→彈出“分組和排序”窗格→點(diǎn)擊“添加分組”→選擇“學(xué)生表”的“班級”字段→設(shè)置分組級別(如“升序”)。步驟3:添加報(bào)表字段在“報(bào)表頁眉”添加“標(biāo)簽”控件(輸入報(bào)表標(biāo)題:“2023級班級成績總結(jié)報(bào)表”)→設(shè)置字體為“加粗”“14號”;在“班級分組頁眉”添加“班級”字段→設(shè)置字體為“加粗”;在“主體”部分添加“姓名”“課程名”“成績”字段(顯示每個(gè)學(xué)生的每門課成績);在“班級分組頁腳”添加匯總字段(如“學(xué)生人數(shù)”:`=Count([姓名])`;“平均分”:`=Avg([成績])`;“最高分”:`=Max([成績])`;“最低分”:`=Min([成績])`);在“報(bào)表頁腳”添加“文本框”控件(輸入“報(bào)表生成日期:[Date()]”→顯示報(bào)表生成日期)。步驟4:設(shè)置報(bào)表格式點(diǎn)擊頂部“設(shè)計(jì)”選項(xiàng)卡→點(diǎn)擊“報(bào)表布局”→選擇“對齊”→使控件對齊;點(diǎn)擊“報(bào)表格式”→選擇“主題”(如“Office”主題,使報(bào)表更美觀);設(shè)置頁腳頁碼(如在報(bào)表頁腳添加“文本框”,輸入“第[Page]頁,共[Pages]頁”)。步驟5:運(yùn)行報(bào)表點(diǎn)擊“視圖”→選擇“報(bào)表視圖”→顯示班級成績總結(jié)報(bào)表(按班級分組,顯示每個(gè)班級的學(xué)生成績及匯總信息)。提示:報(bào)表可以導(dǎo)出為PDF或Excel文件(點(diǎn)擊“文件”→“導(dǎo)出”→選擇格式),方便分享。五、數(shù)據(jù)庫優(yōu)化與維護(hù):確保系統(tǒng)高效運(yùn)行數(shù)據(jù)庫使用一段時(shí)間后,可能會出現(xiàn)性能下降(如查詢變慢)或數(shù)據(jù)損壞(如突然斷電導(dǎo)致表無法打開),因此需要定期優(yōu)化與維護(hù)。5.1壓縮與修復(fù)數(shù)據(jù)庫:釋放空間并修復(fù)損壞作用:壓縮數(shù)據(jù)庫可以刪除未使用的空間(如刪除記錄后留下的空隙),減小數(shù)據(jù)庫文件大??;修復(fù)數(shù)據(jù)庫可以修復(fù)損壞的表或查詢。步驟:關(guān)閉要壓縮的數(shù)據(jù)庫→打開Access→點(diǎn)擊“文件”→“打開”→選中要壓縮的數(shù)據(jù)庫→點(diǎn)擊“打開”右側(cè)的下拉箭頭→選擇“打開并修復(fù)”;或打開數(shù)據(jù)庫→點(diǎn)擊“文件”→“信息”→點(diǎn)擊“壓縮和修復(fù)數(shù)據(jù)庫”→Access會自動(dòng)壓縮并修復(fù)數(shù)據(jù)庫。提示:建議每周壓縮一次數(shù)據(jù)庫(若數(shù)據(jù)庫使用頻繁,可每天壓縮)。5.2創(chuàng)建索引:提高查詢速度定義:索引是一種數(shù)據(jù)結(jié)構(gòu),用于快速定位表中的記錄(類似于書籍的目錄)。創(chuàng)建索引后,Access查詢時(shí)會通過索引快速找到記錄,而非掃描整個(gè)表。案例:為學(xué)生表的“學(xué)號”字段創(chuàng)建索引(“學(xué)號”是主鍵,通常會自動(dòng)創(chuàng)建索引,但非主鍵字段需要手動(dòng)創(chuàng)建)。步驟:打開學(xué)生表的設(shè)計(jì)視圖→選中“學(xué)號”字段→在底部“字段屬性”的“索引”下拉菜單中選擇“有(無重復(fù))”→保存表→索引創(chuàng)建完成。

溫馨提示

  • 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

提交評論