Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
著作權所有 © 旗標出版股份有限公司
第 4 章
建立資料表
2
本章提要
4-1 資料的種類
4-2 使用設計檢視建立資料表
4-3 設定資料表的欄位內容
4-4 設定資料表的索引欄位
4-5 更改資料表結構
4-6 設定資料表的智慧標籤
3
4-1 資料的種類
在我們的周遭存在了許多不同型態的資料, 例如文字、圖形及數字...等等。
在資料庫中, 亦可儲存各種型態的資料, 我們必須針對這些資料訂定各種 "資料類型" (Data
Type)。
所謂 “資料類型” 就是資料在資料庫中儲存的格式。
Access 將資料類型分成下列 11 種, 我們可依據各資料的型態來選用適合的類型:
4
資料的種類
5
資料的種類
6
資料的種類
7
4-2 使用設計檢視建立資料表
在建立資料表前, 我們必須先了解使用者到底會用到哪些資料, 才能依據這些資料來建立資料表。
準備動作 -- 決定要存放的資料
建立資料表
定義欄位類型
8
準備動作 -- 決定要存放的資料
假設我們要在書籍資料庫中設計一個十分簡單的書籍訂單資料表, 依據訂單來分析, 如右圖所示:
9
準備動作 -- 決定要存放的資料
它包含了訂單編號、日期、客戶名稱、書籍名稱、單價、數量及是否付款等資料。
接著我們要將這份訂單轉換成資料表的欄位,
大致可規劃成如下的資料表格式:
10
準備動作 -- 決定要存放的資料
簡單吧!其實只要將訂單的資料整理一下, 然後對應到資料表的欄位, 最後再決定每個欄位的資料類型, 以及文字類型的欄位長度, 就算完成基本的規劃了。
11
建立資料表
首先我們開啟上一章建立的書籍資料庫 (或開啟書附光碟 "Ch04 範例資料 .accdb"), 然後依下面的步驟, 進入資料表的設計畫面:
12
建立資料表
若想要關閉資料表設計視窗,
則按下視窗右上角的關閉鈕即可。
13
直覺式 vs 專業式規劃
我們以上所做的規劃方式只是簡單的直覺式規劃, 真正專業的資料庫系統要考慮的當然不只這些。
為了讓讀者能在較為單純的環境下, 輕鬆地學習基本操作, 所以我們暫時以這個簡單的資料表做為範例。
等到第 9 章以後, 基礎已經打穩了, 我們再告訴您如何設計一個較好的資料庫系統。
14
定義欄位類型
接下來, 我們開始依照前述分析的欄位來建立書籍訂單資料表:
15
定義欄位類型
16
定義欄位類型
17
定義欄位類型
18
如何移動輸入焦點?
滑鼠操作:直接在欲輸入文字的地方按一下滑鼠左鈕, 輸入焦點即會出現在按鈕的地方。
19
如何移動輸入焦點?
鍵盤操作:您可用下表所列的按鍵來移動輸入焦點:
20
4-3 設定資料表的欄位內容
完成資料表欄位的類型後, 接下來要設定欄位的內容, 規範在欄位中輸入或顯示資料時的特性。
例如:日期資料要以 “96/01/01” 或 “96 年01 月 01 日” 的方式顯示;貨幣類型的資料前面是否要加 “NT$” 符號。
當我們要設定某欄位的內容時, 可在資料表設計視窗中的該欄位上按鈕, 則下方的內容設定區中即會顯示出該欄位的各個屬性:
21
設定資料表的欄位內容
22
設定資料表的欄位內容
當您將輸入焦點移至內容設定區的任一欄時,
右方的說明框中即會顯示相關的說明:
23
修改『日期』欄的屬性
日期欄位預設以 "通用日期" 表示, 我們可用下面的方式修改成自己要的顯示方式:
24
修改『日期』欄的屬性
25
再次修改日期格式
一個已建立完成的資料表, 通常具有表單和報表。若我們在更改資料表欄位格式時, 可以同時將表單與報表同欄位的資料格式一併更改。
以下以修改日期格式為例, 為您介紹如何同時變更所有物件的日期格式。
您可以不必進行以下的操作, 待後面章節建立多個物件後, 再回頭來嘗試此功能。範例如下:
26
再次修改日期格式
27
再次修改日期格式
28
改用國曆的表示法
如果您的列示窗中顯示的都是西曆格式 (即200X 年), 那麼表示您 Windows 的日期格式還未改成中華民國曆 (即 9X 年)。
以 Windows Vista 為例, 您可執行『開始 / 控制台』命令, 選擇時鐘、語言和區域圖示, 在地區及語言選項交談窗的格式頁次按下自訂這個格式鈕來設定:
29
改用國曆的表示法
30
改用國曆的表示法
31
改用國曆的表示法
32
改用國曆的表示法
若您還想將時間的 AM、PM 改為上午、下午,
那麼請改切換至時間頁次做設定:
33
改用國曆的表示法
若您是 Windows XP 的使用者, 其修改方式和Vista 大致上相同。
請執行『開始 / 控制台 / 日期、時間、語言和區域選項 / 地區及語言選項 / 自訂』命令後, 會出現自訂地區選項交談窗。
請將交談窗切換到日期頁次, 接著在月曆類型項目選擇中華民國曆, 並自行修改簡短日期及完整日期兩項。
34
改用國曆的表示法
最後請切換到時間頁次, 在時間格式項目修改時間樣式, 並變更符號為上午、下午即完成修改。
究竟設定系統的月曆類型對我們在日期欄位中的輸入方式及顯示有什麼影響呢?其實最大的差異就在於年份的轉換, 請參考下表:
35
改用國曆的表示法
在此您可針對本身的輸入習慣來調整使用的月曆類型。
36
修改『客戶名稱』及『書籍名稱』欄位的屬性 在 Access 中, 文字類型的資料是以變動長度
來儲存的, 也就是有多少資料就佔多少儲存空間。
因此我們在設定文字欄位的長度時 (預設為255 個字元), 請考量該欄位中可能出現的最長資料, 來訂定欄位大小:
37
修改『客戶名稱』及『書籍名稱』欄位的屬性
38
修改『客戶名稱』及『書籍名稱』欄位的屬性
39
什麼是輸入法模式?
輸入法能讓您輸入亞洲語系的文字 (如中文、日文及韓文等)。
如果我們要輸入中文, 則必須要安裝中文的輸入法, 一般來說, 如果我們使用的是中文版的Windows 作業系統預設就會提供中文的輸入法, 例如:注音、倉頡輸入法。
而輸入法模式則是用來設定當焦點切換至某欄位或控制項時, 該使用何種輸入法。
以本書使用 Windows Vista 的系統為例, 會有下列幾種設定值:
40
什麼是輸入法模式?
41
什麼是輸入法模式?
不控制:
設為 "不控制" 的欄位, 其使用的輸入法與前一個欄位相同。
例如前一個欄位使用 "中文輸入模式", 則該欄位也會使用 "中文輸入模式"。
開:
開啟 "中文輸入模式", 當輸入焦點移到該欄位時,
會切換至您預設的中文輸入法, 預設是您前一次使用的中文輸入法,
例如:您剛剛使用了 "注音輸入法", 就會開啟 "
注音輸入法"。
42
什麼是輸入法模式?
關:
關閉 “中文輸入模式”, 所有設定成關閉的欄位,
不會自動切換到中文的輸入模式。
停用:
停用 “中文輸入法模式”, 設定為停用的欄位,
無法切換到中文輸入模式 (如注音、倉頡...等輸入法), 而只能使用英數輸入法。
平假名、全形片假名、半形片假名:
這些是切換 “日文輸入模式” 時使用的設定項目 (當您使用日文輸入法時才會用到)。
43
什麼是輸入法模式?
全形字母 - 數字、半形字母 - 數字:
當使用 "英數輸入法" 時, 用來設定半形或全形字之用。
韓文全形、韓文:
這些是切換 "韓文輸入模式" 時使用的設定項目(當您使用韓文輸入法時才會用到)。
44
修改『單價』欄的屬性
單價欄位的資料是貨幣類型, 請依下圖設定其顯示格式:
45
修改『數量』欄的屬性
數量欄的類型是數字, 數字類型又可分為好幾種, 若單就整數類 (即不含小數) 來講, 可區分為 3 種:
若一筆訂單的數量不會超過 255, 則選 "位元組" 即可。但為了預防萬一, 所以我們會將欄位大小屬性設定為 "整數":
46
修改『數量』欄的屬性
47
修改『是否付款』欄的屬性
通常在輸入新的訂單時, 客戶都還未付款, 因此我們可將此欄位的預設值設為 "No", 如此在每次要輸入一筆新記錄時, Access 便會先幫我們填入一個 "No" 值。
48
4-4 設定資料表的索引欄位
開始設定資料表的索引欄位前, 讓我們先來看看索引 (index) 究竟是什麼?
索引的意義, 簡單來說就是一個系統搜尋或排序記錄的依據。
一個沒有設定索引的資料表就如同未依序放置的成績單, 當我們要尋找某個學生的成績單時,
便需要大費周章地逐一檢視, 才可尋獲所需的成績單。
49
設定資料表的索引欄位
而已建立索引的成績資料就像是依學號或成績順序來排列成績單, 則尋找資料的過程便輕鬆得多了。
存放在電腦中的資料表也是一樣, 若是不經過索引, 則在搜尋記錄時, 電腦必須逐一檢視每一筆記錄是否合乎搜尋的條件, 在速度上就比找尋已索引過的資料來得慢, 這就是為什麼我們需要索引的原因。
50
設定資料表的索引欄位
51
設定索引
以下我們要示範如何分別將訂單編號、客戶名稱及書籍名稱三個欄位設定為索引:
52
設定索引
53
索引的 3 種設定值
索引的設定值共有 3 種, 其意義分別如下:
否:表示這個欄位並非索引欄位。
是 (可重複):設為索引欄位, 但是此欄位所儲存的值可以重複。在上例中我們將客戶名稱以及書籍名稱欄位都設定為此值, 因為不同的訂單可有相同的客戶或是相同的書籍。
是 (不可重複):設為索引欄位, 而且此欄所儲存的值不可重複。上例中的訂單編號便是設為此值, 因為不同的訂單不能有相同的編號。
54
設定主鍵 (Primary Key)
什麼是主鍵 (Primary key) 呢?就好像每個家庭都有個一家之主, 或公司中每個部門也有一個部門主管一樣。
在資料表中, 通常也需要有一個欄位值能夠做為整筆記錄的代表。
例如:當我們要指明某一筆訂單時, 最直接的反應就是說 “xx 號的訂單”, 因此訂單編號就理所當然地有資格成為每筆訂單的代表。
總之, 一筆記錄中可以代表整個記錄的欄位就可將其設為主鍵。
55
設定主鍵 (Primary Key)
那麼, 做為主鍵的欄位要具備什麼樣的基本條件呢?
1. 欄位中的每一個值都必須是『唯一』的 (即不能重複)
2. 在意義上要具有『代表性』
設定主鍵的好處, 除了其本身就具備索引的功能外, 該欄位也會成為預設的排序依據。
也就是說, 當我們檢視資料表的內容時, 除非另外指定要排序的欄位, 否則 Access 會先以主鍵欄的值做排序, 然後才顯示出來。
56
設定主鍵 (Primary Key)
注意, 一個資料表中可能有多個欄位都具有不可重複的特性, 我們一般只會挑選其中的一個做為主鍵 (也可以將好幾個欄位合起來當作主索引, 1 個主索引至多包括 10 個欄位)。
通常應儘可能挑選佔用空間較小者, 因為這樣在搜尋、排序時效率會比較好。
設定主鍵的方法很簡單, 請依下圖將訂單編號欄設為主鍵:
57
設定主鍵 (Primary Key)
58
設定主鍵 (Primary Key)
但如果資料表中的任一欄位都不具有『唯一性』, 如下例所示:
59
設定主鍵 (Primary Key)
在此資料表中, 我們無法單以訂單編號或產品編號欄位作為主鍵, 來找出唯一的記錄。
但若是同時將這 2 個欄位設為主鍵時, 就可使其具有唯一性及代表性。請依照下面的方法來做:
60
設定主鍵 (Primary Key)
61
設定主鍵 (Primary Key)
以上操作是為了練習將多個欄位設為主鍵, 但此範例中的訂單編號已具備唯一性及代表性,
因此不需要使用 2 個欄位建立主鍵。
請您選取剛才操作的 2 個欄位, 再按主索引鍵鈕取消主鍵, 再重新選取訂單編號欄位並設為主鍵。
62
列選取器
在表格最左邊的一排灰色按鈕即是列選取器,
其作用有二:
1. 表示目前記錄的狀態:
63
列選取器
2. 用來選取整列:有時候我們可以將整列選取起來, 以方便後續的操作。
64
檢視目前設定了哪些索引
按顯示/隱藏區的索引鈕, 可檢視或修改索引:
65
檢視目前設定了哪些索引
上圖有一個忽略 Null 項目, Null 就是空值或沒有資料內容的意思,
例如我們在一筆訂單資料中沒有輸入日期, 那麼該筆記錄的日期欄中便是存放了一個 Null 值。
在前面我們一共設定了 3 個一般索引及 1 個主鍵, 但由於主鍵本身即具備了一般索引的功能,
所以訂單編號欄就重複了:
66
檢視目前設定了哪些索引
為了節省空間, 請將訂單編號的索引刪除。刪除的方法如下:
67
檢視目前設定了哪些索引
最後, 按右上角的關閉鈕即可將此視窗關閉。完成所有設定的步驟後, 按設計視窗右上角的關閉 '資料表 1' 鈕, 螢幕會出現以下訊息:
68
檢視目前設定了哪些索引
資料表建立好之後, 我們就可以在資料窗格中看到新建的資料表物件:
69
4-5 更改資料表結構
我們設計好的資料表如果發現有瑕疵, 請別擔心, 我們隨時都可開啟資料表設計檢視視窗來做修改, 操作方法如下:
70
更改資料表結構
71
修改欄位的名稱及屬性
如果您只是要修改欄位的名稱、屬性等, 那麼直接修改即可。例如我們將 "訂單編號" 改為 "
訂單序號":
72
修改欄位的名稱及屬性
73
修改欄位的名稱及屬性
接著我們將日期欄的必須有資料屬性設定為 "
是", 強迫在輸入資料時一定要填上日期:
74
插入新欄位
接著我們要在數量欄與是否付款欄之間, 插入一個備註欄位, 用來儲存不定長度的資料, 例如:書籍的運送方式或其他的補充注意事項等。
請依下圖操作:
75
插入新欄位
76
插入新欄位
77
移動欄位順序
建立好備註欄位後, 如果覺得應該將它移到最後一個欄位比較好, 可依下面方法來搬移此欄位:
78
移動欄位順序
79
移動欄位順序
80
刪除欄位
增加一個備註欄位後, 又覺得好像用不到, 只是佔空間而已, 那麼就把它刪掉吧:
81
刪除欄位
完成所有欄位結構的修改後, 請關閉資料表設計檢視視窗並存檔。
82
Access 的『快顯功能表』
在 Access 中您可經由許多管道來完成同樣的工作, 例如直接在某一列上按右鈕, 則會出現快顯功能表, 其中即包含了許多常用的命令:
83
4 - 6 設定資料表的智慧標籤
利用 Access 的智慧標籤, 我們可以針對被設定的資料表欄位作一些簡單的巨集動作。
比如說, 我們可以針對一個設定智慧標籤的客戶名稱欄位, 在資料表上直接啟動 Outlook 寄送電子郵件, 操作如下:
84
設定資料表的智慧標籤
85
設定資料表的智慧標籤
86
設定資料表的智慧標籤
87
設定資料表的智慧標籤
設定完成後, 將資料表儲存後關閉, 並如右圖開啟建立完成的資料表:
88
設定資料表的智慧標籤
89
設定資料表的智慧標籤
90
設定資料表的智慧標籤