查看書中的實際表示例之前,最好牢固掌握在使用數(shù)據(jù)庫(特別是Access數(shù)據(jù)庫〉過程中遇到的術(shù)語。Microso位Access 遵從了傳統(tǒng)的數(shù)據(jù)庫術(shù)語。數(shù)據(jù)庫、表、記錄、字段和 值等術(shù)語表明了從最大到最小的層次結(jié)構(gòu)。
數(shù)據(jù)庫
1.1.1
一般來說,若數(shù)據(jù)庫一詞是-個計算機術(shù)語,表示關(guān)于某個話題或者業(yè)務(wù)應(yīng)用程序的信息集合。數(shù)據(jù)庫可以幫助您以邏輯的方式將這些相關(guān)信息組織在一起,便于進(jìn)行訪問和檢索。
數(shù)據(jù)庫并非僅限于計算機。還有人工數(shù)據(jù)庫,我們把它們稱之為人工文件編排系統(tǒng)或者人工數(shù)據(jù)庫系統(tǒng)。這些文件編排系統(tǒng)通常由人、文件、文件夾和文件柜組成,其中文件是人工數(shù)據(jù)庫系統(tǒng)的關(guān)鍵。在真實的人工數(shù)據(jù)庫系統(tǒng)中,可能正在使用輸入/輸出柜和某些類型的正式文件編排方法。可以通過打開文件柜、取出文件夾和找出需要的文件來進(jìn)行人工信息訪問。用文件形式進(jìn)行輸入,也許使用打字機。可以通過人工分類文件或者通過從多個文件向-個文件復(fù)制不同信息來人工獲取信息(甚至是復(fù)制到Excel電子表格中〉。還可以使用電子表格或者計算器來分析數(shù)據(jù),或者是以新奇的方式將數(shù)據(jù)顯示出來。
Access 數(shù)據(jù)庫只是紙制文件編排系統(tǒng)中文件編排功能和檢索功能的自動化版本。Access 數(shù)據(jù)庫將信息存儲在一個仔細(xì)字義的結(jié)構(gòu)中。Access 表可以用各種形式存儲數(shù)據(jù),從簡單文本行(例如姓名和地址)到諸如圖片、聲音和視頻圖像等復(fù)雜的數(shù)據(jù)格式。以一個精確并且已知的格式來存儲文件可以使像Access 這樣的數(shù)據(jù)庫管理系統(tǒng)(database management system, DBMS) 將數(shù)據(jù)轉(zhuǎn)變?yōu)橛杏眯畔ⅰ?/p>
在Access 數(shù)據(jù)庫中,表的作用相當(dāng)于主要的數(shù)據(jù)存儲庫。查詢、窗體和報表提供了數(shù)據(jù)的訪問途徑,使用戶可以添加或提取數(shù)據(jù),并通過有效的方法呈現(xiàn)數(shù)據(jù)。大多數(shù)開發(fā)人員都向窗體或者報表添加宏或者Visual Basicfor Applications (VBA) 代碼,使其應(yīng)用程序更易于使用。
像Access 這樣的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(relational database management system, RDBMS)可以在相關(guān)表中存儲數(shù)據(jù)。例如,一個包含員工數(shù)據(jù)(姓名和地址〉的表有可能會與-個包含工資單數(shù)據(jù)(發(fā)放日期、發(fā)放數(shù)量和校驗數(shù))的表存在關(guān)系。查詢允許用戶提出有關(guān)這些相關(guān)表的復(fù)雜問題(例如" 2007 年發(fā)給Jane Doe 的工資總額是多少?"),查詢結(jié)果可以通過屏幕上的窗體或打印報表顯示出來。
在Access 中,盤好F言是用于數(shù)據(jù)和相關(guān)對象的總體容器。但是它絕不僅僅是表的集合,數(shù)據(jù)庫中包含了很多對象,包括查詢、窗體、報表、宏和代碼模塊。
Access 一次運行一個單獨的數(shù)據(jù)庫。打開Access 時,一個單獨的數(shù)據(jù)庫就會展現(xiàn)出來并可使用它。可以同時打開幾個Access 副本來使用多個數(shù)據(jù)庫。
很多Access 數(shù)據(jù)庫包含兒百個甚至幾千個表、窗體、查詢、報表、宏和模塊。除一些特殊情況外, Access 2007 數(shù)據(jù)庫中的所有對象都存在于一個擴(kuò)展名為accdb , . accde 或.adp 的單獨文件中。
.adp 文件格式是→種特殊的數(shù)據(jù)庫格式, Access 將其用作前端來處理sql server數(shù)據(jù)。
表
1.1.2
一個表就是一個用于原始信息(稱為挺好)的容器,這與人工文件編排系統(tǒng)中的文件夾非常類似。Access 數(shù)據(jù)庫中的每個表都包含了關(guān)于單個實體的信息,例如-個人或者一種產(chǎn)品,并將數(shù)據(jù)組織到行和列中。
在本章后面的"5步驟設(shè)計方法"中,會了解到規(guī)劃Access 表的成功技巧。在第2 章和第3章中,將了解到管理關(guān)系型表設(shè)計的重要規(guī)則,以及如何將這些規(guī)則加入到Access 數(shù)據(jù)庫中。這些規(guī)則和指導(dǎo)原則可以確保應(yīng)用程序?qū)崿F(xiàn)最佳的性能,同時也會保護(hù)表中所含數(shù)據(jù)的完整性。
事實上,以抽象的方式考慮自應(yīng)用程序所管理的對象是非常重要的。由于每個Access 表都定義了一個實體,所以必須把表當(dāng)做實體。設(shè)計和構(gòu)建Access 數(shù)據(jù)庫時,或者是在使用一個現(xiàn)有應(yīng)用程序時,都必須考慮到表和其他數(shù)據(jù)庫對象是如何表示由數(shù)據(jù)庫管理的物理實體的。
創(chuàng)建表后,就可以用類似電子表格的形式查看表,即聾'ttf!衰- ,其中包含了行和列(分別稱為記錄和字段, 參見下一小節(jié)"記錄和字段勺。圖1-1 顯示了Access Auto Auctions 應(yīng)用程序中Contacts表的數(shù)據(jù)表視圖。
圖1-1 以數(shù)據(jù)表形式顯示的表
Contacts 表表示了使用Auto Auction 的人員。注意表如何劃分為水平的數(shù)據(jù)行( 從左到右)和垂直的數(shù)據(jù)列( 從上到下)。每一行( 或者記錄〉都定義了一個單獨的聯(lián)系人,而每一列( 或者字段)代表著有關(guān)聯(lián)系人實體的一類信息。
例如, tblContacts 的頂行包含了描述John Jones 的數(shù)據(jù),包括他的名和姓、他的住址和他所在的公司。描述Mr. Jones 的每一部分信息都是一個字段(FirstName 、LastName 、Address 、Company , 等等〉。多個字段組合到一起后構(gòu)成了記錄,而記錄組合到一起后就構(gòu)成了表。
Access 表中的每個字段都包括很多屬性,它們指定了字段中所包含的數(shù)據(jù)類型,以及Access應(yīng)該如何處理該字段的數(shù)據(jù)。這些屬性包括字段名( LastName ) 和字段中的數(shù)據(jù)種類( text ) 。
字段也可能包括其他屬性。例如,"字段大小"屬性告知Access 可以為一個人的姓輸入多少字符(可以在第2 章了解到更多有關(guān)字段和字段屬性的內(nèi)容)。
記錄和字段
1.1.3
如圖1-1 所示,數(shù)據(jù)表分為行( 稱為記錄〉和列( 稱為字段),第一行(每一列頂端的標(biāo)題)包含了數(shù)據(jù)庫中的字段名。每一行都是一個包含字段的單獨記錄,而這些字段與記錄密切相關(guān)。
在人工系統(tǒng)中,行是很多單個的窗體( 紙張),而字段則與需要填寫的打印表中的空白區(qū)相似。
值
1.1.4
值位于行( 記錄) 和列( 字段〉的交叉點,即實際的數(shù)據(jù)元素。例如,第一個記錄中的名字John 代表著一個數(shù)據(jù)值。可能會提出一些問題,例如,是什么導(dǎo)致了該行與表中的其他行有所區(qū)別?在同一個表中是否有可以存在著另外一個John Jones?如果存在著多個John Jones ,數(shù)據(jù)庫如何區(qū)分它們?
新聞熱點
疑難解答
圖片精選