⑴ 批次管理中分批合批在資料庫中怎麼體現
先寫出原因,再寫出改善措施和解決辦法,再寫上保證,你這個要根據具體事情寫。 先進先出的批次管理,其實就是通過條件表將該批次收貨時間等COPY到條件表,然後根據搜索策略的規則搜索庫存中最早的收貨批次。
⑵ 100分求一份資料庫原理課程設計的實驗報告
(圖放不上去呀 我自己做的E-R圖)
計算機科學與信息學院
課程設計報告
課程名稱: 資料庫概論課程設計
專 業: 網路方向
班 級: ====
學 號: ===
姓 名: 閆娟
題 目: 網上購書系統
指導教師: 肖淑芬
2011年6月
目錄
一、課程設計的背景來源 3
二、網上購書系統調查及前景 4
三、網上購書設計思想 4
1、前台系統工作流程 5
2、後台系統工作流程 6
四、網上書店工作過程的內容 6
五、資料庫設計 7
1、數據項 7
2、 數據結構 8
3、關系模式的設計 8
4、視圖的設計 9
六、網上購書E-R圖 10
六、系統的源程序 15
七、系統評價及心得體會 20
一、課程設計的背景來源
1,其實寫這個課程設計寫得比較匆忙,馬上其他可就要考試了,本想找個男的題目來挑戰下自己,後來還是因為時間需要,所以選了個相對來說我們生活比較容易接近的
2,隨著現在社會的發展,網路已經成為一個市場很大的交易平台,很多人由於時間需要或者各方面原因都把網上購物作為一種消費方式,有時我們在書店要花很長時間去找一本書,有時還找不到,記得有次在孝感學院圖書館找一本概率論輔導書,花了很長很長時間呀,所以我深有體會,還是感覺在網上購書比較簡單,方便。
3,班上有很多同學都從事網上購物,我剛好想利用自己的專業知識來學習下這方面的知識,自己查查資料,把這個課程設計做好。
二、網上購書系統調查及前景
人們喜歡通過閱覽書籍拓展自己的知識視野,可在實際生活的購書過程中人們卻遇到了不少麻煩,比如購書人多,挑書難,搬書重等,因此既方便又快捷的網路購書便成為了一種很有潛力的購書消費方式。信息時代,電子商務已經成為我們現實生活中不可缺少的一個重要組成部分,同時它以一種特殊的方式改變著我們的生活。根據調查結果顯示,網民上網以獲取信息為主要目的佔5 3.1%。目前我國上網購物的群體中,絕大多數是年輕人, 他們大多數是收入穩定、文化水平較高的中青年,網上消費已經日益成為他們生活中的一種重要的消費方式,他們成為了最有潛力的未來網上消費者。
三、網上購書設計思想
首先網上購書系統聽起來是個很雜的程序,因為有很多很多書,也有很多很多人來買,但是其實我們簡單的可以把它分為兩個模塊,這樣我們就能很好的理解了,網上書店主要由前台會員管理模塊和後台管理員模塊兩部分組成。
前台功能模塊主要用於實現會員注冊,登錄,修改個人信息,分類查看書目信息、購書、管理購物車、結帳、查看各種服務條款等功能。
後台管理模塊主要用於實現後台管理人員對會員,商品,物流,訂單和系統的管理等功能。
1、前台系統工作流程
首先當我們用戶登陸這個網站時,一開始就會出現讓你登陸,如果是你會員,你可以直接登錄,如果你不是會員,你要注冊個賬號。
1、 當你是會員時,你可以查看你的各項服務,比如說上次你收藏了什麼書籍,以及你喜歡的書的種類,在可以看下前幾次你購買書的情況,在可以修改個人信息,修改密碼等,你也可以查看自己網上交易情況,看下自己買的書的情況,以及看上什麼書了,可以把它放回購物車,方便自己購買。
2、 當你是非會員時,你要先進行注冊,填寫自己的基本信息,當你填好後,你也是其中一員了,你也同樣可以向會員那樣找自己的書了,相對來說比較方便。
3、 還有人不注冊,只是進來逛下網站,看看自己是否有必要買一些書。
2、後台系統工作流程
後台系統工作流程主要用於實現後台管理人員對會員,商品,物流,訂單和系統的管理等功能,他要對會員的登記進行統計,以及購物等方面的內容管理
四、網上書店工作過程的內容
1、管理員信息,包括數據項有:管理員編號、管理員賬號、管理員密碼。
2、會員信息,包括數據項有:會員賬號、會員密碼、會員昵稱、會員E-mail、會員級別(管理員設定)。
3、圖書信息,包括數據項有:圖書編號、圖書名稱、作者、出版社編號、出版日期、圖書類別編號、圖書簡介。
(⑴出版社信息,包括數據項有:出版社編號、出版社名稱。
⑵圖書類別信息,包括數據項有:圖書類別編號、圖書類別名稱。)
4、圖書訂單,包括數據項有:會員賬號、下定單日期、收貨地址、收貨地址郵編、收貨人姓名、收貨人聯系方式、送貨方式編號、總費用、圖書名稱、現已售出量情況。
5、購物車,包括數據項有:會員賬號、每種圖書名稱、每種圖書市場價格、每種圖書網站價格、每種圖書數量、每種圖書的價格、圖書總價。
五、資料庫設計
1、數據項
數據項
數據項名 數據類型 長度 別名 取值范圍
會員編號 字元型 15 會員的編號
姓名 文本型 20 會員的姓名
密碼 文本型 20 會員的密碼
電話 字元型 12 會員的電話
地址 文本型 50 會員的地址
商品編號 字元型 15 商品的編號
類型 文本型 10 商品的類型
名稱 文本型 20 商品的名稱
價格 整型 6 商品的價格
簡介 文本型 500 商品的簡介
圖片 圖片型 商品的圖片
購物車編號 字元型 10 購物車的編號
商品數量 整型 10 購買商品的數量
訂單編號 字元型 15 購物時生成的訂單
訂單日期 時間型 10 購買商品的時間
2、 數據結構
系統需求數據結構
數據結構名 含義說明 組成
會員 記錄會員的基本信息 會員編號、姓名、密碼、電話、地址
商品 記錄銷售商提供的商品信息 商品編號、類型、名稱、價格、簡介、圖片
訂購 記錄會員的購物信息 會員編號、商品編號、訂單編號、訂單日期
購物車 存儲會員需要購買的商品 會員編號、商品編號、購物車編號、商品數量
3、關系模式的設計
會員
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 主鍵
姓名 文本型 20 姓名 否
密碼 文本型 20 密碼 否
電話 字元型 12 電話 否
地址 文本型 50 地址 否
商品
數據項名 數據類型 長度 別名 是否為空 主外鍵
商品編號 字元型 15 商品編號 否 主鍵
類型 字元型 15 類型 否
名稱 字元型 20 名稱 否
價格 整型 10 價格 否
簡介 文本型 500 簡介
圖片 image型 100 圖片
訂購
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 外鍵 主鍵
商品編號 字元型 10 商品編號 否 外鍵
訂單編號 字元型 10 訂單編號 否
訂單日期 日期型 10 訂單日期 否
購物車
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 主鍵
商品編號 字元型 15 商品編號 否
購物車編號 字元型 15 購物車編號 否
商品數量 整型 6 商品數量 否
4、視圖的設計
搜索商品視圖
數據項名 數據類型 長度 別名 是否為空
名稱 字元型 10 名稱 否
類型 字元型 10 類型 否
價格 整型 10 價格 否
簡介 文本型 4 簡介 否
六、網上購書E-R圖
否 是
網上書店系統業務流程:
網上書店前台管理功能結構圖:
六、系統的源程序
ackage cart;
import java.util.Vector;
public class Cart {
Vector v = new Vector();
String act = null;
String item = null;
private void addItem(String id) {
v.addElement(id);
}
private void removeItem(String id) {
v.removeElement(id);
}
public void setItem(String id) {
item = id;
}
public void setAct(String s) {
act = s;
}
public String[] getItems() {
String[] s = new String[v.size()];
v.Into(s);
return s;
}
public void processRequest() {
if (act.equals("add"))
addItem(item);
else if (act.equals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset() {
act = null;
item = null;
}
public void clearAll(){
v.removeAllElements();
}
}
現實頁面信息,提示等操作的設計:
package spage;
import java.sql.*;
public class ShowPage
{
private String str = "";
//顯示頁號為p的一頁(user)
public String printPage(ResultSet rs, int p, int size)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += printRow(rs,iPage,p);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(user)
public String printRow( ResultSet rs ,int i,int p)
{
String temp = "";
try {
int id=rs.getInt("userid");
temp+="<tr align='center' bgcolor='#FFFAF7'>";
temp+="<td><a href='javaScript:seeUser("+id+")'>"+rs.getString("name")+"</a></td>";
temp+="<td>"+rs.getString("sex")+"</td>";
temp+="<td>"+rs.getString("phone")+"</td>";
temp+="<td>"+rs.getString("address")+"</td>";
temp += "<td><a href='updateuser.jsp?updateid="+id+"'>修改</a></td>";
temp += "<td><a href='dealdeleteuser.jsp?delid="+id+"'>刪除</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//顯示頁號為p的一頁(book)
public String bookPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += bookRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(book)
public String bookRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
int id=rs.getInt("bookid");
temp+="<tr align='center'>";
temp+="<td><a href='detail.jsp?detailid="+id+"'>"+rs.getString("bookname")+"</a></td>";
temp+="<td>"+rs.getString("author")+"</td>";
temp+="<td>"+rs.getString("pubhouse")+"</td>";
temp+="<td>"+rs.getString("price")+"</td>";
if(f)
{
temp+="<td>"+rs.getString("salenum")+"</td>";
temp+="<td><a href='updatebook.jsp?updateid="+id+"'>修改</a></td>";
temp+="<td><a href='dealdeletebook.jsp?delid="+id+"'>刪除</a></td>";
}
else
temp+="<td><a href='dealcart.jsp?dealid="+id+"&act=add'>加入購物車</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//顯示頁號為p的一頁(order)
public String orderPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += orderRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(order)
public String orderRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
String orderid=rs.getString("orderid");
temp+="<tr align='center'>";
temp+="<td><a href='detailorder.jsp?detailid="+orderid+"'>"+orderid+"</a></td>";
temp+="<td>"+(rs.getString("orderdate")).substring(0,10)+"</td>";
temp+="<td>"+rs.getString("orderstate")+"</td>";
if(f)
{
temp += "<td><a href='javaScript:seeUser("+rs.getString("userid")+")'>"+rs.getString("username")+"</a></td>";
temp += "<td><a href='dealdeleteorder.jsp?delid="+orderid+"'>刪除</a></td>";
}
temp+="</tr>";
}
catch(SQLException e) { }
return temp;
}
}
七、系統評價及心得體會
1、了解很多關於網上購書程序上的知識,要寫這個課程設計,我把有關網上購書的概論也看了下,發現不知道是這個設計太簡單還是怎麼回事,網上出現很多此樣的版本,很有有更新,可能我們對資料庫設計的程序還不是很了解吧。
2,要寫資料庫E-R圖,發現很難畫啊,還要把線段連來連去,覺得在畫圖上面花了很多時間
3,一定要先了解數據情況,要先熟悉了網上購書的基本操作,在開始研究,最好自己去試一下網上購書,我就自己親自去點擊了下網上購書網,然後才下手寫的課程設計。
⑶ 某公司欲設計一個資料庫以存儲客戶,商品和訂貨單的信息。每個客戶包含客戶代碼(唯一),姓名,收貨地址
3NF範式資料庫
R1: 客戶代碼(主鍵),客戶名, 信貸額服, 結存, 回扣。
R2: 地址(主鍵), 客戶代碼(外鍵)。
R3: 客戶代碼, 收貨地址, 訂單日期, 訂單商品代碼 (4個組合為主鍵),數量, 已發數量。
R4: 商品代碼(主鍵),商品名, 生產廠商, 實際存貨量, 最低存貨量。