資料庫的實驗總結報告
以罩鋒芹下是日期的查詢 簡單的例子
select * from View_Change where Wname='AAAA'
select * from View_Change where Updatetime>'2007-10-13'
下面是統計
select Wno,Count(Wnum) as 統計 from View_Change where Updatetime>'2007-10-13' group by Wno
如果改為復雜點點的統計物畢的話
select Wno,Count(Wnum) as 統計 from View_Change where Updatetime>基鏈='2008-01-01' and Updatetime<'2009-01-01' and Wno=1 and Type='出庫' group by Wno
ftp://220.184.188.33/ 裡面的幾個文檔案就是創建的過程 我也好久沒做過了 都忘記了 大部分都是企業管理器內做的
2. Access資料庫實驗報告怎麼寫哦
格式如下:內容按自己做的實驗寫 一、實驗目的
通過建立「進、銷、存管理」資料庫系統,熟悉Access2002資料庫系統開發環境,掌握創建表的各種方法。並能夠掌握表中的欄位的定義及修改技術,掌握表間關系的建立方法,掌握數據記錄的操作技術。
二、實驗內容
1.啟動Access2002,並完成下列操作:
①打開Northwind示例資料庫,觀察資料庫窗口;
②瀏覽產品、客戶、雇員、訂單等數據表的結構與數據;
③關閉Northwind。Mdb資料庫,新建一個空資料庫「進、銷、存管理」。
2.使用向導創建「進、銷、存管理」資料庫的第1個表「產品」,包括以下欄位:
產品號,產品名稱,價格
提示:由於向導中為產品提供的欄位中沒有「產品號」和「價格」,可將其「產品ID」和「單價」分別重命名為「產品號」與「價格」。
要求:將由向導生成的產品表的結構列在試驗記錄上。
3.在設計視圖中打開新建的「產品」表,可按實驗表1.1的結構對其進行修改。
正數:1.401298E-45~3.402823E38;范圍內的數;
要求:將操作過程寫在實驗記錄上。
4.創建「進、銷、存管理」資料庫的其他數據表:
客戶:客戶號,客戶名,地址,稅號,信息度,國家;
訂單:訂單號,訂單時間,產品號,客戶號,產品數量,需要產品時間,
訂單業務員,是否發貨;
庫存:產品號,庫存量,存放地點;
發貨:訂單號,發貨時間,產品號,客戶號,產品數量,發貨價格,發貨
負責人;
生產:產品號,完成日期,數量,生產負責人;
進庫:進庫號,產品號,進庫數量,進庫時間,經手人。
要求:將訂單表、客戶表和生產表在試驗記錄中畫成如表1.1的形式。
3. 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,一定要先了解數據情況,要先熟悉了網上購書的基本操作,在開始研究,最好自己去試一下網上購書,我就自己親自去點擊了下網上購書網,然後才下手寫的課程設計。
4. 資料庫實驗心得體會
持續一個月的資料庫實訓,讓我參與了軟體工程化的開發過程
其中體會最深的便是我們這個實訓網的幾個之最:一.項目最大:項目大是因為我們這個事業起點網站涉及到用戶眾多-高校,企業,學生,老師,專家,第二個原因是網站的功能多-用戶管理,網上實習,網上競賽,畢業實習設計,項目管理,人才庫管理,人才推薦,搜索
項目大很容易造成系統范圍的泛濫,在我們的開發初期,由於需求不太明確,功能實現沒有重點,造成了需求范圍的擴大,給項目開發進度造成了嚴重的滯後性
然後我們召開了會議討論了這個問題,一致認同先把項目的基本功能實現,將網站的基本架構搭建起來,最後再在這個基礎上繼續增加我們網站的其他功能
因此在這個過程中,我深刻體會到了軟體工程初期階段的需求分析以及概要設計的重要性,這兩個文檔是指導我們後期開發的最重要的依據
二.資料庫表最多:如此龐大的系統,就需要龐大的資料庫來支持,所以項目大的直接後果就是我們的資料庫表特別多,而且表與表之間的依賴關系也復雜,實體類之間的關系眾多,設計起來有一定的難度
資料庫的另外一個問題是-數據表的屬性,數據表屬性的設計完全是依賴於我們剛開始做的需求分析文檔,如果需求分析不完整的話,就會造成資料庫表屬性的缺失,從用戶的角度看,就會覺得你的系統提供的數據不夠全面,信息量小
三.開發團隊最大:我們團隊一共有十四個人,這個對於我們的項目經理來說,是一個相當嚴峻的問題,畢竟十四個人的團隊相當於其他幾個小組加起來的人數總和,管理起來有相當大的難度
對於我們這些小組成員來說,由於溝通渠道太多,造成了我們項目中遇到問題,不知道去跟哪個小組成員溝通
為了解決這個問題,我們在團隊中又選出了三個小組長,小組成員遇到問題,先去咨詢小組長,然後小組長提供反饋信息
四.項目各個模塊間藕合度高:網站涉及的各個功能模塊之間的聯系緊密,模塊之間的介面設計的好壞是項目最終集成成功與否的最重要因素
用戶管理這一個部分要為每個模塊提供介面,主要是用戶的編號以及用戶的類型等
每個頁面之間的鏈接也是其中重要的模塊介面
這個問題由於我們前期做好了充分的溝通以及按照概要設計中的介面說明去設計自己的模塊,所以後期的模塊整合沒有遇到什麼太大的不兼容性等問題
接下來就談談我這一個月中的工作:需求分析階段:需求分析階段我完成了網上競賽模塊的需求分析,其中遇到的主要問題是閱讀材料後發現網上實習,網上競賽,畢業設計指導這幾個模塊的功能是類似的,提取需求分析後不夠明確,經過幾次跟湯老師的交流後,確定了這幾個模塊之間的具體差別,網上競賽模塊的基本需求也大致確定了,網上競賽模塊的基本功能就是學生通過網站報名參加競賽,企業審核通過後,專家對作品進行評分,排名
概要設計階段:在需求分析的基礎上,對網上競賽模塊進行了比較具體的概要設計,流程圖(IPO圖以及用例圖);這個階段的主要難點是對網上競賽業務流程的描述,如何實現學生報名,企業發布,專家評審的步驟操作,與及跟其他模塊對該模塊的限制
資料庫設計階段:我負責整合初步資料庫設計說明書,分配組員按照各自的功能模塊的具體需求設計自己模塊需要的數據表,然後對這些數據表進行整合
在這個過程中遇到的問題就是資料庫實在是太大了,最後下來一共有30多張表,表與表之間的關系復雜,關聯性大,需要設置的外鍵較多,很難將所有的屬性欄位給提取出來,屬性的類型設置也是一個問題,採用數值型還是採用字元串性在資料庫設計中尤為重要,因為在後台搜索方面,數值型比較快捷,而在數據顯示方面,字元串型又有直接讀出不用轉換的好處
每個表的主鍵我們採用了用實體的編號去標記它,因為這樣實體間關聯起來會更加簡單
資料庫的設計關鍵是要對整個項目的整體的把握,並且要細化對每個實體類的具體屬性要求
詳細設計階段:我覺得是最重要的一個方面,一個完整的詳細設計說明應該可以幫助程序員完成具體的實現,程序員可以不用考慮模塊之間的耦合問題,只需要將單一的功能按照邏輯順序編寫出來就可以了
網站整體構架搭好了,我們就可以在裡面填充自己的功能了
但是因為時間太倉促了,我們這個階段也就縮水了,帶來後面的問題就是後期代碼編寫的時候比較混亂,函數介面較難統,界面風格多樣化
這個階段,我的主要工作是跟隊友一起設計出了網上競賽模塊的學生,企業,管理員,高校以及專家的界面
編碼階段:我們是用ASP
net開發的,主要任務就是從工具中選出你想要的控制項,然後在控制項響應函數中填充代碼,完成相應的事件響應
這里遇到的最大問題是頁面的排版問題,因為自己是第一次開發網站,造成了自己設計的界面風格單調,不太美觀,現在就盡量做到頁面的整齊
這個階段主要做的就是:寫代碼→編譯→調試→寫代碼
這一個月中我學到了很多東西,技術方面就是學會了用ASP
Net編寫網站,最重要的是讓我經歷了軟體工程化的所有階段,讓我對整個軟體工程有了感性的認識,而且將大學三年所學到的知識進行了一次系統的串聯,更重要的是學會了如何跟項目團隊中的成員溝通問題,這是一個寶貴的實踐經驗