ACCESS:定義表之間的關(guān)系_Access數(shù)據(jù)庫教程
推薦:解析SQL查找Access中某表是否存在方法Access數(shù)據(jù)庫雖然功能單一,但的確是一個小巧精干的開發(fā)伙伴,我在多個項目中與它見面,為了探知Access數(shù)據(jù)庫的本源,今天上網(wǎng)查了些資料。現(xiàn)總結(jié)歸納如下: 在Access數(shù)據(jù)庫中通過SQL語句找到某一表是否存在的確是一件困難的事。幸好,Access本身就有一些隱
“關(guān)系”簡介
在Access數(shù)據(jù)庫中,不同表中的數(shù)據(jù)之間都存在一種關(guān)系,這種關(guān)系將數(shù)據(jù)庫里各張表中的每條數(shù)據(jù)記錄都和數(shù)據(jù)庫中唯一的主題相聯(lián)系,使得對一個數(shù)據(jù)的操作都成為數(shù)據(jù)庫的整體操作,正所謂“牽一發(fā)而動全身”。
就拿上幾課建立的表來說吧,“客戶信息表”中的“公司名稱”和“訂單信息表”中的“訂貨單位”所包含的值有很多是相同的。因為簽了訂單的“訂貨單位”肯定已經(jīng)是公司的客戶了,這些客戶的名稱也被記載在“客戶信息表”的“公司名稱”字段中。當我們已知一個客戶的名稱時,既可以通過“客戶信息表”知道它的“客戶信息”,也可以通過“訂單信息表”了解它所簽訂的“訂單信息”,所以說“公司名稱”作為紐帶將“客戶資料表”和“訂單信息表”中的相應(yīng)字段信息連接在了一起,為了把數(shù)據(jù)庫中表之間的這種數(shù)據(jù)關(guān)系體現(xiàn)出來,Access提供一種建立表與表之間“關(guān)系”的方法。用這種方法建立了關(guān)系的數(shù)據(jù)只需要通過一個主題就可以調(diào)出來使用,非常方便。
當我們在“客戶信息表”和“訂單信息表”中建立這樣的關(guān)系以后,只需要看看“客戶信息表”,在不增加表內(nèi)容的情況下,就可以看到所有客戶的信息及其所有“訂單”的情況,使這些數(shù)據(jù)一目了然。

表之間的三種關(guān)系
在建立表之間的關(guān)系前,我們還是要提一下“關(guān)系”的三種類型“一對一”、“一對多”和“多對多”。在Access中,可以在兩個表之間直接建立“一對一”和“一對多”關(guān)系,而“多對多”關(guān)系則要通過“一對多”關(guān)系來實現(xiàn)。我們分別來說說這三種“關(guān)系”。
首先是“一對一”關(guān)系,比如下面的兩個表:某學校學生月副食補助:

和某學校學生月助學金:

我們降這兩個表中的數(shù)據(jù)進行匯總生成新的表:“某學校學生月實發(fā)金額匯總”:

由于姓名字段可能會出現(xiàn)重復(fù)的情況,所以只有通過不可能出現(xiàn)重復(fù)的值的字段“學號”,才能將這兩個表唯一地聯(lián)系起來,保證“副食補貼”和“助學金”不至于錯誤地發(fā)放,這樣“月副食補助表”中的一個學號就只對應(yīng)“月助學金”中的一個學號,絕對不會弄錯。這樣兩個表的關(guān)系很明顯就是“一對一”了。
下面來看看“一對多”關(guān)系。在“客戶信息表”和“訂單信息表”中,“訂單信息表”中的“訂貨單位”字段和“客戶信息表”中的“公司名稱”字段中的值都是一樣的。其實只有那些訂貨了的單位才是公司的客戶,所以這兩個表之間是靠客戶公司的名字聯(lián)系在一起的。但是每個客戶都可以訂很多份訂單。所以在“客戶信息表”中的一個“公司名稱”就能對應(yīng)“訂單信息表”中的幾份“訂單”。這樣的關(guān)系就是“一對多”。
最后使“多對多”關(guān)系,我們知道,書店中有很多書,同時一種書也可以在很多書店里找到。這時“書”和“書店”的關(guān)系就是“多對多”關(guān)系了。
怎樣在表之間建立關(guān)系
現(xiàn)在我們就開始在表之間建立“關(guān)系”,首先單擊“工具”菜單下的“關(guān)系”命令,彈出“關(guān)系”對話框,上面還有一個“顯示表”對話框如下圖,通過“顯示表”對話框可以把需要建立關(guān)系的“表”或“查詢”加到“關(guān)系”對話框中去。

將兩個表“客戶信息表”和“訂單信息表”都選中,單擊“添加”按鈕把它們都添加到“關(guān)系”對話框上,單擊“關(guān)閉”按鈕把“顯示表”對話框關(guān)閉。以后再需要打開它時,只要在“關(guān)系”對話框上單擊鼠標右鍵,選擇“顯示表”命令就可以了。

在“關(guān)系”對話框中只有“客戶信息表”和“訂單信息表”的字段列表。怎么建立關(guān)系呢?其實表都是由字段構(gòu)成的,表之間的關(guān)系也由字段來聯(lián)系。讓不同表中的兩個字段建立聯(lián)系以后,表中的其他字段自然也就可以通過這兩個字段之間的關(guān)系聯(lián)系在一起了。也就是說在“客戶信息表”中的“公司名稱”和“訂單信息表”中的“訂貨單位”兩個字段之間建立關(guān)系就可以了。先在“客戶信息表”字段列表中選中“公司名稱”項,然后按住鼠標左鍵并拖動鼠標到“訂單信息表”中的“訂貨單位”項上,松開鼠標左鍵,這時在屏幕上出現(xiàn)“編輯關(guān)系”對話框。

這個對話框可以幫助我們編輯所建立的關(guān)系,通過左面的列表框可以改變建立關(guān)系的兩個字段的來源�?梢詥螕�“新建...”按鈕創(chuàng)建新的關(guān)系,或者單擊“聯(lián)接類型”為聯(lián)接選擇一種聯(lián)接類型。單擊“聯(lián)接類型”按鈕,在彈出的新對話框中選擇第三項,然后單擊“確定”按鈕就可以了。回到“編輯關(guān)系”對話框后單擊“創(chuàng)建”按鈕。

分享:解讀Access數(shù)據(jù)庫支持用戶同時在線問題問題:聽說ACCESS數(shù)據(jù)庫本身有限制,同時多人在線的話,在強的服務(wù)器也不行,好象最多只支持400人在線。 ACCESS沒有限制,其實真正能夠限制連接數(shù)的取決于你的服務(wù)器! 常用的IIS裝在Win2000(server),可以沒有任何連線限制,但是如果你在WinXP(PRO)里面使用IIS
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準則進行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
Access數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Access數(shù)據(jù)庫教程推薦
- 解析Access與Sql Server之ASP代碼比較
- 解讀幾種修復(fù)ACCESS數(shù)據(jù)庫的實用方法
- 中文Access2000速成教程--1.7 創(chuàng)建索引
- 解析ACCESS作為網(wǎng)站數(shù)據(jù)庫的弊端
- 完美表格:使用表層屬性來提高效率
- C# 連接Access數(shù)據(jù)時總報找不到dbo.mdb的問題
- 一個ACCESS數(shù)據(jù)庫數(shù)據(jù)傳遞的方法
- ACCESS 調(diào)用后臺存儲過程的實現(xiàn)方法
- 揭秘Access數(shù)據(jù)庫過大問題的幾種解決方案
- Access數(shù)據(jù)庫中數(shù)據(jù)表的自動重新聯(lián)接
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-ACCESS:定義表之間的關(guān)系
。