我正在為我正在從事的一個小專案尋求資料庫設計方面的幫助。
簡而言之,我想要實作的是說出下表:
圍場
- 圍場編號
- 圍場名稱
- 圍場尺寸
- 等等。
牛
- 牛群 ID
- 牛群名稱
- 奶牛數量
- 當前圍場
Cattle_Movements
- 牛群名稱
- 當前圍場
- 新圍場
- 日期
- 等等。
我希望讓“Cattle_Movements”表像牛群所有運動的總結。當一群牛群從一個圍場移動到另一個圍場時,它會更新“牛”表中的“當前圍場”欄位。
在這個階段,我正在嘗試鍛煉我需要實施的關系、查詢和高級流程。
任何幫助將不勝感激。
uj5u.com熱心網友回復:
首先設定一個規范化的表結構。制作下表并將它們與資料庫工具-關系下功能區上的關系工具掛鉤。要創建關系,將主鍵從一個表拖到表中對應的同名外鍵,這將是關系的多方面。在彈出視窗中,確保選中強制參考完整性、級聯更新和級聯洗掉復選框。

我在這個規范化中強調了兩個“多對多關系”。HerdsPaddocks 是 CattleMovements Table 的更通用名稱。還有其他可能的規范化表結構,但細微的差異超出了這個答案的范圍。準備好后,查找表規范化和多對多關系。
接下來,關閉關系工具,從側邊欄和功能區上的 Create hit create form 下選擇一個表。對所有表執行此操作。現在我們有一個作業資料庫,但您需要學習如何使用它。所以玩!
下面我給出了一些游戲建議,但在你弄清楚如何使用表格來(添加、搜索、編輯)奶牛、牛群和圍場之前,只玩一切。還了解為什么應該從所有表單中洗掉主鍵,以及如何用 CattleTypes 表中用戶友好的 CattleTypeDesscription 替換 Cattle 表中的 CattleType 等外鍵。
從 Herds 表開始并輸入一些隨機的牛群。(專業提示:除非播放錯誤率太高,否則不要直接將資料添加到表中)。然后打開牛群表格,您可以在其中瀏覽和編輯牛群。
玩法提示: Herds 表中 HerdID 既是自動編號又是主鍵。它的行為與其他列不同。看看這個。之后從表單中洗掉 HerdID 文本框,看看會發生什么(一件好事)。如何使用牛群表格添加牛群?繼續使用 Cattle 表格,首先確保將一些 CattleTypes 添加到 CattleTypes 表中。然后在某個時候,嘗試用 CattleTypeDescription 替換 Cattle Form 中的 CattleTypeID:
查詢1的結果:

查詢 2 變得非常接近:


查詢 3:給出數字 2:

'Query 3 SQL from SQL pane of query designer
SELECT Count(Cattle.CowName) AS CountOfCowName
FROM Paddocks INNER JOIN ((Herds INNER JOIN (Cattle INNER JOIN CattleHerds ON Cattle.CattleID = CattleHerds.CattleID) ON Herds.HerdID = CattleHerds.HerdID) INNER JOIN HerdsPaddocks ON Herds.HerdID = HerdsPaddocks.HerdID) ON Paddocks.PaddockID = HerdsPaddocks.PaddockID
GROUP BY Herds.HerdName, Paddocks.PaddockName, HerdsPaddocks.HerdPaddockEndDate, HerdsPaddocks.HerdPaddockStartDate
HAVING (((Paddocks.PaddockName)="holds10cattle") AND ((HerdsPaddocks.HerdPaddockEndDate) Is Null) AND ((HerdsPaddocks.HerdPaddockStartDate)<Now()))
ORDER BY HerdsPaddocks.HerdPaddockStartDate;
下一步可能包括帶有引數的特定圍場并在報告中使用查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/430497.html
上一篇:如何將網頁保存為擴展名
