Access培訓
網站公告
·Access快速平臺QQ群號:277422564    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
您的位置: 首頁 > 技術文章 > 生產應用

通過查詢優化表的結構

時 間:2019-07-12 15:31:10
作 者:冰山來客   ID:73095  城市:西安
摘 要:原有數據庫的結構容錯性差,調整用戶及合同信息容易造成混論。本次對表的結構進行了優化,通過更新查詢填充數據,然后調整關系,修改原有查詢中的信息,完成了本次改進。
正 文:

一. 情況簡介

自己負責外委合同的簽訂及付款,為便于管理,并制作了一個合同管理access文件。

共設計了3個表:合作單位表(存儲合作單位的信息)、合同記錄表(存儲項目的相關信息)、付款記錄表(因有些合同為多次付款,最多為4次付款)

以上表為一對多(一個單位多個合同,一個合同多次付款),建立關系,進行**級聯。然后根據需求建立了一些查詢及報表,自己使用倒也沒有什么問題。

前幾天在網上看到一個原則,凡用戶需要輸入或修改的字段,最好不要設為主鍵或外鍵等,否則一旦用戶進行調整,會造成混亂。于是決定改進。

二. 調整情況

      以前自己把合作單位表的主鍵設為合作單位的單位代號(簡化名稱的漢語拼音首字母,如華為為HW);  合同記錄表內有一個外鍵為單位代號,跟合作單位表鏈接,主鍵為合同編號,按單位的規定進行編制,單位的規定也變化了一次;付款登記表的主鍵為自動編號,外鍵為合同編號,跟合同記錄表進行了鏈接。

       第一步:在合作單位表增加了一個單位ID字段,為自動編號,比較簡單。然后在合同記錄表也增加了一個單位ID字段,與合作單位表呼應。

       第二步:怎么把單位ID自動準確地添加在合同記錄表的相關字段?自己正好下了一本SQL,2天讀完,用此開刀,結果才疏學淺,不太順利,不斷出錯,費了很大勁總算算折騰成功了。

        代碼很簡單:Update 合作單位表 INNER JOIN 合同記錄表 ON 合作單位表.單位ID=合同記錄表.單位ID SET 合同記錄表.單位ID = [合作單位表].[單位ID];

        第三步:刪除合同記錄表的單位代碼字段,然后重新建立單位ID的關系。對表通過級聯檢查,正常。試了一下查詢,出現了SQL代碼框及出錯提示框。

        第四步:在代碼框里將單位代號均改為單位ID,保存后運行均正常。

        按以上同樣的程序:在合同記錄表付款記錄表中增加合同ID字段,通過更新查詢填寫到付款記錄表的合同ID字段中,然后重新建立關系,修改查詢中的相應信息,經試驗運行正常。

        該次改進完畢。

三. 總結

      以前,如果要改變一個單位的代碼,或改變合同編號,數據庫中的相關信息就會混亂。現在不會出現這樣的問題了。當然,自己編的東西自己用很少出錯。通過這次改進,在表的結構設計上,以及查詢及SQL的使用上有了一定的提升。




Access軟件網官方交流QQ群 (群號:864245409)       access源碼網店

最新評論 查看更多評論(0)

發表評論您的評論將提升作者分享的動力!快來評論一下吧!

用戶名:
密 碼:
內 容:
 

常見問答

技術分類

相關資源

關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助