等級(jí)考試二級(jí)Access考點(diǎn)分析之?dāng)?shù)據(jù)庫(kù)和表(1)

字號(hào):

2.l 創(chuàng)建數(shù)據(jù)庫(kù)
    在使用Access實(shí)際地建立構(gòu)成數(shù)據(jù)庫(kù)的表、窗體和其他對(duì)象之前,設(shè)計(jì)數(shù)據(jù)庫(kù)是很重要的。無(wú)論是使Access數(shù)據(jù)庫(kù)或是Access項(xiàng)目,合理的設(shè)計(jì)是創(chuàng)建數(shù)據(jù)庫(kù)的基礎(chǔ)。只有合理的設(shè)計(jì),數(shù)據(jù)庫(kù)才能有效地、正確地、及時(shí)地完成所需的功能。
    考點(diǎn)1 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟
    數(shù)據(jù)庫(kù)設(shè)計(jì)一般要經(jīng)過(guò):確定創(chuàng)建數(shù)據(jù)庫(kù)的目的、確定數(shù)據(jù)庫(kù)中需要的表、確定該表中需要的字段、確定主關(guān)鍵字和確定表之間的關(guān)系等步驟,如圖2-1所示。
    1確定創(chuàng)建數(shù)據(jù)庫(kù)的目的
    設(shè)計(jì)數(shù)據(jù)庫(kù)的第一個(gè)步驟是確定數(shù)據(jù)庫(kù)的目的及如何使用。用戶需要明確希望從數(shù)據(jù)庫(kù)得到什么信息,由此可以確定需要什么主題來(lái)保存有關(guān)事件(表)和需要什么事件來(lái)保存每一個(gè)主題(表中的字段)。
    與將使用數(shù)據(jù)庫(kù)的人員進(jìn)行交流。集體討論需要數(shù)據(jù)庫(kù)解決的問(wèn)題,并描述需要數(shù)據(jù)庫(kù)生成的報(bào)表;同時(shí)收集當(dāng)前用于記錄數(shù)據(jù)的表格,然后參考某個(gè)設(shè)計(jì)得很好且與當(dāng)前要設(shè)計(jì)的數(shù)據(jù)庫(kù)相似的數(shù)據(jù)庫(kù)。
    2確定該數(shù)據(jù)庫(kù)中看要的表
    確定表可能是數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中最難處理的步驟。因?yàn)閺臄?shù)據(jù)庫(kù)要獲得的結(jié)果、要打印的報(bào)表、要使用的格式和要解決的問(wèn)題中不一定能夠提供用于生成表的結(jié)構(gòu)線索。
    不必使用Access來(lái)設(shè)計(jì)表。實(shí)際上,先在紙上草擬并潤(rùn)色設(shè)計(jì)可能是較好的方法。在設(shè)計(jì)表時(shí),應(yīng)該按以下設(shè)計(jì)原則對(duì)信息進(jìn)行分類(lèi)。
     (1)表不應(yīng)包含備份信息,表間不應(yīng)有重復(fù)信息。因此,關(guān)系數(shù)據(jù)庫(kù)中的表與常規(guī)文件應(yīng)用程序中的表(例如,電子表格)有所不同。
     (2)如果每條信息只保存在一個(gè)表中,只需在一處進(jìn)行更新,這樣效率更高,同時(shí)也消除了包含不同信息的重復(fù)項(xiàng)的可能性。例如,要在一個(gè)表中只保存一次每一個(gè)客戶的地址和電話號(hào)碼。
     (3)每個(gè)表應(yīng)該只包含關(guān)于一個(gè)主題的信息。
     (4)如果每個(gè)表只包含關(guān)于一個(gè)主題的事件,則可以獨(dú)立于其他主題維護(hù)每個(gè)主題的信息。例如,將客戶的地址與客戶訂單存在不同表中,這樣就可以刪除某個(gè)訂單但仍然保留客戶的信息。
    3確定表中需要的字段
    每個(gè)表中都包含關(guān)于同一主題的信息,并且表中的每個(gè)字段包含關(guān)于該主題的各個(gè)事件。例如,客戶表可以包含公司的名稱、地址、城市、省和電話號(hào)碼的字段。在草擬每個(gè)表的字段時(shí),請(qǐng)注意下列提示:
     (l)每個(gè)字段直接與表的主題相關(guān)。
     (2)不包含推導(dǎo)或計(jì)算的數(shù)據(jù)(表達(dá)式的計(jì)算結(jié)果)。
     (3)包含所需的所有信息。
     (4)以最小的邏輯部分保存信息(例如,名字和姓氏而不是姓名)。
    4確定主關(guān)鍵字
    Access為了連接保存在不同表中的信息,例如將某個(gè)客戶與該客戶的所有訂單相連接,數(shù)據(jù)庫(kù)中的每個(gè)表必須包含表中確定每個(gè)記錄的字段或字段集。這種字段或字段集稱作主鍵(主關(guān)鍵字)。
    5確定表之間的關(guān)系
    因?yàn)橐呀?jīng)將信息分配到各個(gè)表中,并且已定義了主鍵字段,所以需要通過(guò)某種方式告知Access如何以有意義的方法將相關(guān)信息重新結(jié)合到一起。如果進(jìn)行上述操作,必須定義Access數(shù)據(jù)庫(kù)中的表之間的關(guān)系。
    6優(yōu)化設(shè)計(jì)
    在設(shè)計(jì)完需要的表、字段和關(guān)系后,就應(yīng)該檢查該設(shè)計(jì)并找出任何可能存在的不足。因?yàn)樵诂F(xiàn)在改變數(shù)據(jù)庫(kù)的設(shè)計(jì)要比更改已經(jīng)填滿數(shù)據(jù)的表容易得多。
    用Access創(chuàng)建表,指定表之間的關(guān)系,并且在每個(gè)表中輸入充足的示例數(shù)據(jù),以驗(yàn)證設(shè)計(jì)。可創(chuàng)建查詢,以是否得到所需結(jié)果來(lái)驗(yàn)證數(shù)據(jù)庫(kù)中的關(guān)系。創(chuàng)建窗體和報(bào)表的草稿,檢查顯示數(shù)據(jù)是否是所期望的。最后查找不需要的重復(fù)數(shù)據(jù),并將其刪除。如發(fā)現(xiàn)問(wèn)題,修改該設(shè)計(jì)。
    7輸入數(shù)據(jù)并創(chuàng)建其他數(shù)據(jù)庫(kù)對(duì)象
    如果認(rèn)為表的結(jié)構(gòu)已達(dá)到了設(shè)計(jì)規(guī)則,就應(yīng)該繼續(xù)進(jìn)行并且在表中添加所有已有的數(shù)據(jù),然后就可以創(chuàng)建所需的任何查詢、窗體、報(bào)表、數(shù)據(jù)訪問(wèn)頁(yè)、宏和模塊。
    考點(diǎn)2 創(chuàng)建數(shù)據(jù)庫(kù)
    創(chuàng)建數(shù)據(jù)庫(kù)有兩種方法,第一種是先建立一個(gè)空的數(shù)據(jù)庫(kù),然后向其中添加表、查詢、窗體和報(bào)表等對(duì)象;第二種是使用“數(shù)據(jù)庫(kù)向?qū)А?,利用系統(tǒng)提供的模板進(jìn)行一次操作來(lái)選擇數(shù)據(jù)庫(kù)類(lèi)型,并創(chuàng)建所需要的表、窗體和報(bào)表。
    第一種方法比較靈活,但是用戶必須分別定義數(shù)據(jù)庫(kù)的每一個(gè)對(duì)象;第二種方法僅一次操作就可以創(chuàng)建所需要的表、窗體和報(bào)表,這是創(chuàng)建數(shù)據(jù)庫(kù)最簡(jiǎn)單的方法。
    1創(chuàng)建空數(shù)據(jù)庫(kù)
     (1)在第一次啟動(dòng)Access時(shí),將自動(dòng)顯示對(duì)話框,上面有新建數(shù)據(jù)庫(kù)或打開(kāi)已有數(shù)據(jù)庫(kù)的選項(xiàng)。如果此對(duì)話框顯示,請(qǐng)單擊“空Access數(shù)據(jù)庫(kù)”選項(xiàng),然后單擊“確定”按鈕。
    如果已經(jīng)打開(kāi)了數(shù)據(jù)庫(kù)或當(dāng)Access打開(kāi)時(shí)顯示的對(duì)話框已經(jīng)關(guān)閉,請(qǐng)單擊工具欄上的“新建數(shù)據(jù)庫(kù)”按鈕 ,然后雙擊“常用”選項(xiàng)卡上的空數(shù)據(jù)庫(kù)圖標(biāo)。
     (2)指定數(shù)據(jù)庫(kù)的名稱及位置,并單擊“創(chuàng)建”按鈕。