倉庫資料庫設計
A. 求資料庫課程設計----倉庫管理系統
開發背景及意義
在市場競爭的微利時代,建立科學、規范、高效管理制度成為了企業管理的當務之急。一個企業在市場中是否具有強有力的競爭力,除了要看企業的人才、資金、技術、產品之外,更重要的一項,就是要看企業是否有一個良好的管理體制。在企業管理中,倉庫管理更是管理中的重中之重。通過對企業倉庫信息的管理與統計,為企業積累真實、有效的數據,通過對這些數據的分析與研究,對企業各方面做出相應的調整,以提高企業的管理效率,使企業走上良性發展道路。
系統目標
通過對企業倉庫管理過程的分析與研究,要求倉庫管理系統實現如下目標:
l 實現商品的入庫、入庫退貨管理。
l 實現商品的庫存檔點管理。
l 實現商品的庫存調撥、出庫管理。
l 實現商品的庫存上、下限管理。
l 實現入庫、入庫退貨、商品出庫等查詢管理。
系統規劃
1.系統目標
利用計算機系統實現企業商品的庫存管理。
2.系統處理范圍
l 基礎信息管理。
l 入庫管理。
l 庫存管理。
l 查詢管理。
3.系統功能
l 基礎信息管理。
在基礎信息管理中需要實現操作員、商品、倉庫、供應商的信息管理,包括信息的添加、修改、刪除、瀏覽。
l 入庫管理
在入庫管理中需要實現商品的入庫、入庫退貨管理,記錄入庫、入庫退貨信息。
l 庫存管理。
在庫存管理中需要實現庫存商品列印、庫存檔點、庫存調撥、商品出庫、庫存上下限管理。
l 查詢管理。
在查詢管理中需要實現入庫查詢、入庫退貨查詢、報損、報益查詢、庫存調撥查詢、商品出庫查詢。
資料庫邏輯結構設計
倉庫管理系統共使用了11張數據表,分別為操作員信息表(tb_operator)、供應商信息表(tb_providerinfo)、庫存檔點明細表(tb_check_sub)、庫存檔點主表(tb_check_main)、庫存信息表(tb_storageinfo)、入庫明細表(tb_instock_sub)、入庫退貨明細表(tb_cancelinstock_sub)、入庫退貨主表(tb_cancelinstock_main)、商品庫存表(tb_merchandisestorage)、商品入庫主表(tb_instore_main)、商品信息表(tb_merchandiseinfo)
具體的這里也寫不了
而且這些不是只要資料庫就完成的吧
得用前台設計語言比如c++什麼的吧
而設計體會和致謝這些不該自己寫嗎~~~
B. 倉庫管理系統 資料庫課程設計
發了一個,看看行不行
C. 課程設計倉庫管理系統的資料庫製作
資料庫原理及應用課程設計
一、課程設計的目的
《資料庫原理及應用》課程設計是計算機科學與技術專業集中實踐性環節之一,是學習完《資料庫原理及應用》課程後進行的一次全面的綜合練習。本課程設計主要在於加深學生對資料庫基礎理論和基本知識的理解,掌握資料庫應用系統設計開發的基本方法,達到進一步使學生綜合運用所學知識和增強實際動手能力的目的。
二、課程設計的任務與要求
要求學生根據自身對題目的理解情況,從給定的設計題目中選擇一個,以MS sql Server作為後台資料庫平台,以PowerBuilder作為前台開發工具,完成一個小型資料庫應用系統的系統的分析、設計和開發。
三、課程設計說明書
倉儲管理系統
對於一個以生產或經營產品為主要業務的單位來說,倉庫管理系統至關重要。高效方便的倉庫管理系統,可以為生產經營提供堅強的後盾和有力的支持。效率低下甚至是混亂不堪的倉庫管理系統,無疑會成為企業健康發展的拖累甚至是枷鎖。使企業發展動力不足。本次資料庫設計實現了倉庫管理的高效化、電子化。通過本系統可以方便地實現倉庫管理中的貨物登記、出庫入庫等操作,使倉庫管理井井有條。
1系統需求分析
1.1系統功能需求分析
倉庫管理系統主要實現對庫存商品的管理,對商品出庫、入庫的管理,和對倉庫管理系統維護的功能。具體要實現的功能包括:
1)庫存商品管理
查看資料庫中商品的名稱、編號、單價等信息。
2)商品出庫、入庫管理
入庫、出庫單紀錄本次入庫、出庫的貨物名稱、數量,入庫、出庫的時間、商品單價以及總價,入庫、出庫的經手人等。
3)商品的查詢
輸入商品的編號或者商品的名稱查詢信息
4)用戶管理
用戶可以修改登錄密碼
1. 2數據需求分析
1.員工(ID ,姓名,密碼,許可權)
2.商品(商品名,商品編號,所屬類,單價)
3.出貨表(商品名,商品編號,數量,總價,經手人)
4.入貨表(商品名,商品編號,數量,總價,經手人)
5.查詢(商品名,商品編號,數量,單價)
根據上面的關系我們需要的數據基本上就上面所列出的數據。
2 系統總體設計
1)庫存商品管理
查看資料庫中商品的名稱、編號、單價等信息。
2)商品出庫、入庫管理
入庫、出庫單紀錄本次入庫、出庫的貨物名稱、數量,入庫、出庫的時間、商品單價以及總價,入庫、出庫的經手人等。
3)商品的查詢
輸入商品的編號或者商品的名稱查詢信息
4)用戶管理
用戶可以修改登錄密碼
2.1系統總體結構設計
2.2.1 E-R圖
2.2.2 關系模式
1.員工(ID ,姓名,密碼,許可權)
2.商品(商品名,商品編號,所屬類,單價)
3.出貨表(商品名,商品編號,數量,總價,經手人)
4.入貨表(商品名,商品編號,數量,總價,經手人)
5.查詢(商品名,商品編號,數量,單價)
2.2.3 數據表
「員工信息表」「商品信息表」「出貨單」「進貨單」的主鍵分別是:ID、商品編號、商品編號、商品編號。
員工信息表
商品信息表
出貨單
進貨單
3.系統實施
工作界面PB9.0,以下是我製作過程和運行中的一些截圖:
首先建立PB與SQL的數據鏈接:如果鏈接不成功,返回對以話框「資料庫連接錯誤,經檢查後再試!」
然後點Preview選項會彈出如下窗口:
一、 工作界面截圖:
分別建有:workspace、application、windows、dw_、da_等。
工作時檢測連接資料庫是否正常的程序代碼:
// Profile q
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=倉庫;UID=;PWD='"
connect;
open(w_enter)
二、 運行結果的截圖:
這個是我運行後的第一個用戶界面,在界面中輸入管理員ID和密碼。我的管理員ID 和密碼分別為 1,123.點擊確定進入menu下一界面。
若ID和密碼分別輸入1,1234,則跳出以下界面:
確定按鈕所對應的代碼如下:
//定義兩個變數
string password,userid
password=sle_2.text
//檢索用戶名和密碼記錄
SELECT "員工信息表". "ID",
"員工信息表"."密碼"
INTO :userid,
:password
FROM "員工信息表"
WHERE "員工信息表"."ID" =:sle_1.text and "員工信息表"."密碼" =:sle_2.text;
//判斷用戶輸入的用戶名是否正確
if sqlca.sqlcode<>0 then
messagebox("錯誤!","ID或密碼錯誤,請重新輸入!",exclamation!,ok!,2)
else
messagebox("通過驗證!","ID和密碼正確,歡迎您使用本系統!",Information!,ok!,2)
open(w_main)
close(w_enter)
end if
取消按鈕所對應的代碼如下:
close(parent)
//關閉登錄窗口
三、 menu界面的截圖:
在本界面中我們通過點擊菜單欄上的不同管理按鈕來實現管理和操作的功能。
進貨—進貨單
出貨—出貨單
庫存—蔬菜類
—水產類
—肉類
系統維護—修改密碼
查詢
四、 進貨的截圖如下:
在本界面中,操作員可以輸入進貨信息
五、 進貨的截圖如下:
在本界面中,操作員可以輸入出貨信息
六、本界面是實現用戶更改自己的密碼的界面
用戶在登陸後根據上面的提示可以更改自己的密碼。
程序代碼如下:
string oldid
string oldp
string newp1
string newp2
oldid=trim(sle_1.text)
oldp=trim(sle_2.text)
newp1=trim(sle_3.text)
newp2=trim(sle_4.text)
if len(oldp)=0 or isnull(oldp) then
oldp=space(10)
end if
if len(newp1)=0 or isnull(newp1) then
newp1=space(10)
end if
if len(newp2)=0 or isnull(newp2) then
newp2=space(10)
end if
select "operator"."password"
into :oldp
from "operator"
where "operator"."password"=:oldp;
if sqlca.sqlcode<>0 then
messagebox("提示","原密碼不正確!")
sle_2.text=""
sle_2.setfocus()
return
end if
if newp1<>newp2 then
messagebox("提示","兩次新密碼輸入不同!")
sle_4.text=""
sle_4.setfocus()
return
end if
Update "operator"
set "password"=:newp1
where "operator"."operator_id"=:oldid;
if sqlca.sqlcode<>0 then
rollback;
messagebox("提示","密碼更正錯誤! 請重設!")
return
end if
gs_password=newp1
commit;
messagebox("提示","密碼修改成功!")
七、本操作可以看倉庫里的商品並可對其進行插入和刪除
八、從倉庫查詢所需要的商品
4 系統評價
系統的功能基本上已經實現,但是還是不夠完善。但是在使用的時候還是能給用戶帶來一定的方便的。倉庫的進貨和出貨在本系統中能直觀的以表格形式反映出來,便於操作員的使用和決策者的管理。
4.1 系統特色
本系統要求用戶進行驗證之後才能進入相應的界面。有利於保護資料庫的安全,不被非法登陸使用。對於倉庫內貨物的進出管理要求嚴格,即進出貨時必須填寫相應的進出貨單據。便於企業管理查看賬目,保障了企業的穩定運行。通過本系統可以方便地實現倉庫管理中的貨物登記、出庫入庫等操作,使倉庫管理井井有條。在查看資料庫時可以方便的刪除資料庫中冗餘的信息和添加新的信息。
4.2 系統不足及改進
這個系統基本上實現了一些簡單的對系統所涉及表的更新、增加和刪除的功能。也實現對用戶登陸的安全上有了一定的限制,只有在正確輸入ID和密碼的時候才能進入系統。遠沒有達到大型公司的倉儲物資管理的要求,所創建的資料庫框架比較簡單,各表之間的聯系也過於簡單,沒有添加外鍵相互約束,用POWER BUILDER做出來的系統過於簡單、單調,需要進一步深入的調整優化,將各表之間的關系緊密聯系起來,相互制約,保證資料庫中數據的添加、刪除、更新,安全有序。操作窗口還需要進一步的進行美化,使用戶在使用中更賞心悅目。
5 課程設計心得
這次課程設計的主要目的是掌握資料庫應用系統分析設計的基本方法,基本掌握PowerBuilder,進一步提高分析解決問題的綜合能力。通過這次課程設計,我基本掌握了以上要求。但只有兩周的課程設計時間,時間比較倉促,所以開發的系統不是很完善,有一些功能未實現,但是倉庫管理的基本功能均已實現。以前對資料庫的很多知識認識都不深刻,做過這次課程設計之後,我對資料庫的知識有了一個比較系統的了解;比如:對表內一些欄位的約束,關系等的運用已經比較熟練。這個課程設計使我鞏固了資料庫的知識。
對於PowerBuilder也有了一定的了解,由於用的不多,所以運用的不是很熟練。剛開始的時候,對於PowerBuilder的語法,用法等一系列知識都不熟悉。當我基本完成此系統開發的時候,我發現其實也沒有那麼難,在未做之前我還害怕做不出來。經過對這個系統的開發,在開發過程中遇到但也解決了很多問題,所以說我們不能懼怕有困難而不去接觸認識它,我們要知難而上,只有這樣我們才能成長,才能有所發展。
這認為最難的一部分是用戶查看資料庫時通過插入刪除按鈕對資料庫的更改,因為我們在文本框中輸入的數字是被默認為字元型的,我在其中使用了integer(string)這個函數把字元型的進行了轉換,但是在使用的過程中並不能像我所想像的那樣有用。因為時間有限,所以這個問題還沒有完全的解決。
通過這次資料庫課程設計加深我對資料庫基礎理論和基本知識的理解,掌握資料庫應用系統設計開發的基本方法,達到進一步使我綜合運用所學知識和增強實際動手能力的目的。
我會繼續學習資料庫的知識,學習PowerBuilder的知識,只有通過不斷的學習充實自己,才能讓自己有所得。只有了知識的積淀,才能為自己的發展鋪平道路!
可以參考一下啊,最終還是要自己做的吧。。僅供參考。
D. 資料庫的規范化設計方法~
第一範式(1NF):資料庫表中的欄位都是單一屬性的,不可再分。這個單一屬性由基本類型構成,包括整型、實數、字元型、邏輯型、日期型等。
例如,如下的資料庫表是符合第一範式的:
欄位1 欄位2 欄位3 欄位4
而這樣的資料庫表是不符合第一範式的:
欄位1 欄位2 欄位3 欄位4
欄位3.1 欄位3.2
很顯然,在當前的任何關系資料庫管理系統(DBMS)中,傻瓜也不可能做出不符合第一範式的資料庫,因為這些DBMS不允許你把資料庫表的一列再分成二列或多列。因此,你想在現有的DBMS中設計出不符合第一範式的資料庫都是不可能的。
第二範式(2NF):資料庫表中不存在非關鍵欄位對任一候選關鍵欄位的部分函數依賴(部分函數依賴指的是存在組合關鍵字中的某些欄位決定非關鍵欄位的情況),也即所有非關鍵欄位都完全依賴於任意一組候選關鍵字。
假定選課關系表為SelectCourse(學號, 姓名, 年齡, 課程名稱, 成績, 學分),關鍵字為組合關鍵字(學號, 課程名稱),因為存在如下決定關系:
(學號, 課程名稱) → (姓名, 年齡, 成績, 學分)
這個資料庫表不滿足第二範式,因為存在如下決定關系:
(課程名稱) → (學分)
(學號) → (姓名, 年齡)
即存在組合關鍵字中的欄位決定非關鍵字的情況。
由於不符合2NF,這個選課關系表會存在如下問題:
(1) 數據冗餘:
同一門課程由n個學生選修,"學分"就重復n-1次;同一個學生選修了m門課程,姓名和年齡就重復了m-1次。
(2) 更新異常:
若調整了某門課程的學分,數據表中所有行的"學分"值都要更新,否則會出現同一門課程學分不同的情況。
(3) 插入異常:
假設要開設一門新的課程,暫時還沒有人選修。這樣,由於還沒有"學號"關鍵字,課程名稱和學分也無法記錄入資料庫。
(4) 刪除異常:
假設一批學生已經完成課程的選修,這些選修記錄就應該從資料庫表中刪除。但是,與此同時,課程名稱和學分信息也被刪除了。很顯然,這也會導致插入異常。
把選課關系表SelectCourse改為如下三個表:
學生:Student(學號, 姓名, 年齡);
課程:Course(課程名稱, 學分);
選課關系:SelectCourse(學號, 課程名稱, 成績)。
這樣的資料庫表是符合第二範式的, 消除了數據冗餘、更新異常、插入異常和刪除異常。
另外,所有單關鍵字的資料庫表都符合第二範式,因為不可能存在組合關鍵字。
第三範式(3NF):在第二範式的基礎上,數據表中如果不存在非關鍵欄位對任一候選關鍵欄位的傳遞函數依賴則符合第三範式。所謂傳遞函數依賴,指的是如果存在"A → B → C"的決定關系,則C傳遞函數依賴於A。因此,滿足第三範式的資料庫表應該不存在如下依賴關系:
關鍵欄位 → 非關鍵欄位x → 非關鍵欄位y
假定學生關系表為Student(學號, 姓名, 年齡, 所在學院, 學院地點, 學院電話),關鍵字為單一關鍵字"學號",因為存在如下決定關系:
(學號) → (姓名, 年齡, 所在學院, 學院地點, 學院電話)
這個資料庫是符合2NF的,但是不符合3NF,因為存在如下決定關系:
(學號) → (所在學院) → (學院地點, 學院電話)
即存在非關鍵欄位"學院地點"、"學院電話"對關鍵欄位"學號"的傳遞函數依賴。
它也會存在數據冗餘、更新異常、插入異常和刪除異常的情況,讀者可自行分析得知。
把學生關系表分為如下兩個表:
學生:(學號, 姓名, 年齡, 所在學院);
學院:(學院, 地點, 電話)。
這樣的資料庫表是符合第三範式的,消除了數據冗餘、更新異常、插入異常和刪除異常。
鮑依斯-科得範式(BCNF):在第三範式的基礎上,資料庫表中如果不存在任何欄位對任一候選關鍵欄位的傳遞函數依賴則符合第三範式。
假設倉庫管理關系表為StorehouseManage(倉庫ID, 存儲物品ID, 管理員ID, 數量),且有一個管理員只在一個倉庫工作;一個倉庫可以存儲多種物品。這個資料庫表中存在如下決定關系:
(倉庫ID, 存儲物品ID) →(管理員ID, 數量)
(管理員ID, 存儲物品ID) → (倉庫ID, 數量)
所以,(倉庫ID, 存儲物品ID)和(管理員ID, 存儲物品ID)都是StorehouseManage的候選關鍵字,表中的唯一非關鍵欄位為數量,它是符合第三範式的。但是,由於存在如下決定關系:
(倉庫ID) → (管理員ID)
(管理員ID) → (倉庫ID)
即存在關鍵欄位決定關鍵欄位的情況,所以其不符合BCNF範式。它會出現如下異常情況:
(1) 刪除異常:
當倉庫被清空後,所有"存儲物品ID"和"數量"信息被刪除的同時,"倉庫ID"和"管理員ID"信息也被刪除了。
(2) 插入異常:
當倉庫沒有存儲任何物品時,無法給倉庫分配管理員。
(3) 更新異常:
如果倉庫換了管理員,則表中所有行的管理員ID都要修改。
把倉庫管理關系表分解為二個關系表:
倉庫管理:StorehouseManage(倉庫ID, 管理員ID);
倉庫:Storehouse(倉庫ID, 存儲物品ID, 數量)。
這樣的資料庫表是符合BCNF範式的,消除了刪除異常、插入異常和更新異常。
範式應用
我們來逐步搞定一個論壇的資料庫,有如下信息:
(1) 用戶:用戶名,email,主頁,電話,聯系地址
(2) 帖子:發帖標題,發帖內容,回復標題,回復內容
第一次我們將資料庫設計為僅僅存在表:
用戶名 email 主頁 電話 聯系地址 發帖標題 發帖內容 回復標題 回復內容
這個資料庫表符合第一範式,但是沒有任何一組候選關鍵字能決定資料庫表的整行,唯一的關鍵欄位用戶名也不能完全決定整個元組。我們需要增加"發帖ID"、"回復ID"欄位,即將表修改為:
用戶名 email 主頁 電話 聯系地址 發帖ID 發帖標題 發帖內容 回復ID 回復標題 回復內容
這樣數據表中的關鍵字(用戶名,發帖ID,回復ID)能決定整行:
(用戶名,發帖ID,回復ID) → (email,主頁,電話,聯系地址,發帖標題,發帖內容,回復標題,回復內容)
E. 如何用Access資料庫創建一個簡單的倉庫管理資料庫主要步驟是什麼,交作業,有現成的最好。
你好
1、用access建一空資料庫。
2、如果已經有excel形式的,在access文件欄用「獲取外部數據(導入表)」即可,沒有的話建立一個表。欄位名自己根據需要定。
3、用sql語句(或在查詢的設計視圖中)建立需要的查詢。
4、建立一個界面窗體,來管理或調用查詢(可以用「宏」、也可用VBA),再建立需要格式的報表。
其它的,根據實際需要而定。
滿意請採納
F. 求資料庫課程設計 倉庫管理系統 要求用java做
可以使用網路Hi示意我
有時間可以解決你的問題
差不多的要求也可以示意我
ES:\\
G. 資料庫和數據倉庫在設計上有哪些不同
可以針對不同的數據特點進行數據表的重新設計。一切為了計算服務就是數據倉庫(其實應該叫數據挖掘)的區別。比如,可以在數據後加上已用判斷項。已經計算過的就可以跳過這條記錄。
還可以針對不同的特點加索引。為了分析也可以加些計數器。然後把高頻使用的條目謄寫到別的表裡。