




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 本科學生綜合性實驗報告課程名稱:數據庫系統原理電子商務數據庫設計項目組長學號 0061375 班級選課03班小組第12組實驗項目名稱樂購電子商城銷售系統設計指導教師開課學期 2008至 2009學年第一學期完成時間2008年 12 月 30 日目錄1需求分析11.1編寫目的11.2背景11.2.1電子商務的發展歷史11.2.2樂購電子商城開發背景21.3定義21.4目標31.5需求分析31.5.1系統的功能描述31.5.2系統總體功能圖41.5.3系統流程圖61.5.4數據流圖71.5.5實體與數據71.5.6聯系與數據71.5.7數據字典82概念設計142.1實體圖142.2 多個實體間的
2、聯系圖162.3總體ER圖183邏輯設計193.1關系設計193.2關系優化203.3約束的說明223.4基本表234物理設計254.1確定數據庫的存儲結構254.2確定數據庫的存取方法2630 / 321、需求分析1.1系統的功能描述電子商城銷售管理系統ESS用戶分為三類:(1)商家管理員:此類客戶可以取得商城管理員的權限,可以瀏覽所有客戶信息,查找客戶,給客戶分配合理的權限,刪除不合法客戶等。(2)商城游客:只可以瀏覽商城開放的業務和信息,不可以進行網上交也不為該類客戶提供個性化服務,該類客戶無需注冊。(3)商城正式客戶:必須在商城注冊,登錄本商城后,這類客戶可以覽商城開放的業務和信息,可
3、以進行網上交易,也可享受商城提供的個性化服務以及優惠服務等。作為在線購物商城,前臺銷售系統提供以下功能:客戶信息管理,商品信息管理,購物車管理,訂單信息管理。(1)客戶信息管理客戶必須注冊并登錄本系統才能進行網上交易活動。一個客戶只能擁有一個注冊號(用戶名),注冊號可由客戶根據自己的喜好自行定義,但必須唯一且在6-16位以內,且第一位必為字母C,其他只能由數字組成。同一時間內一個注冊號不能在多處登錄。客戶所填資料必須真實,其中注冊號、密碼、姓名、性別、地址、郵編為必填資料。客戶的積分將根據客戶的訂單金額逐次積累,即客戶每購買一元的商品,則客戶積分增加一分.其積分等級分為一鉆,二鉆,三鉆,一鉆客
4、戶為普通客戶,積分為0-499分,不享受任何優惠;二鉆客戶積分為500-999分以內,所有商品九折優惠;三鉆客戶積分為1000分以上,所有商品八折優惠.當客戶積分達到一定分數后,自動修改為相應等級。客戶注冊成功以后,其注冊信息將自動被加入客戶表中。登錄系統后,客戶可以查詢或修改個人信息。(2)商品信息管理客戶登錄本系統后,可以瀏覽本商城所展示的商品。客戶登錄本系統后,可以查找自己所需要的商品。客戶登錄本系統后,可以購買自己選中的商品。(3)購物車管理當客戶選中某件商品時,可以將其放入購物車(生成一商品暫存表)我們在購物車設置一個“是否購買”字段(客戶可以自己選擇,用于確認),一個“商品數量”(
5、客戶自己填寫)字段,一個商品編號,商品名稱,商品單價,商品總額。這樣客戶就可以自己決定購買哪些商品,購買多少,若不想買,可以在購物車中將其刪除。(4)訂單信息管理客戶確認購買購物車中的商品后,提交購物清單,此時將自動生成一張商家配送單,配送單中商品編號、商品數量、配送單編號將自動插入配送表中,而客戶姓名、地址、郵編、電話則設置為默認值,即客戶可以修改其中的信息。當客戶付款后,將自動生成一張訂單明細表。明細表中包括商品價格和優惠價,同時自動生成一張訂單總表,訂單時間由系統自動生成,即系統當前時間;訂單號由系統自動生成。生成訂單后,一天后商家發出配送單,客戶收到商品,若在一周以內提出退貨商品且符合
6、退貨條件(商品存在嚴重質量問題),則為客戶辦理退貨業務,同時修改相應的訂單明細表和訂單總表并減去客戶相應的積分,同時生成相應的退貨單,退貨單包含商品編號,商品名稱,商品單價,商品數量,退貨日期。本電子商城的后臺管理系統將提供客戶管理,商品管理,訂單統計管理等功能,具體描述如下:(1)客戶管理為客戶建立一張基本表,用于添加客戶個人信息,客戶登錄后可以維護己的個人信息,并且在向網站發出訂單時會自動填寫自己的聯系信息。為客戶賦予查詢或修改個人信息的權利。(2)商品管理若商品接近保質期(3個月),把該商品設為特價商品。若商品庫存量小于等于100,則提示要添加商品。若某種商品已不再銷售時,應將該商品信息
7、刪除。若某種商品價格改變,則修改商品價格。當商品入庫時,將商品按不同的種類分類管理,分類標準為:商品類別名,生產廠家。(3)訂單統計管理統計每種商品年銷售總額,并顯示銷售總額排在前十名的商品以供客戶瀏覽。統計商城所有訂單的年銷售總額,根據銷售情況調整營銷計劃。統計每一地區的銷售總額。統計每個客戶年訂單總額。統計商品上個月的銷售總額,并顯示銷售總額排在前十名的商品供客戶瀏覽。1.2系統總體功能圖根據上節分析的系統功能需求,我們可以得到系統的功能模塊,如圖1.1所示。圖1.1 系統功能圖1.3系統流程圖本商城客戶購買商品的系統流程圖,如圖1.2所示。圖 1.2 系統流程圖1.4數據流圖本商城的數據
8、流圖如圖1.3所示。客戶登錄1.0瀏覽商品需要購買2.0購物車產品描述商品折后金額客戶積分狀況3.0生成配送單訂單細節訂單明細表客戶付款5.0開發票準備配送細節通知客戶6.0生成退貨單調整訂單明細表退貨款差額調整4.0處理訂單訂單總表客戶積分、等級調整優惠率發票圖 1.3 數據流圖1.5實體與數據通過對電子商城各方面的分析,我們可以知道電子商城中的實體包括:客戶,商品,倉庫,訂單,優惠表,商品暫存表,商品配送單,商品退貨單。各實體包含的數據項分別如下:(1)客戶:注冊號,密碼,地址,注冊日期,郵編,電話,性別,姓名。(2)商品:商品編號,商品名稱,商品生產日期,商品保質期,商品單價。(3)商品
9、類別:商品類別編號,商品類別名。(4)生產廠家:生產廠家編號,生產廠家名。(5)倉庫:倉庫編號,倉庫名稱。1.6聯系與數據通過以上的實體與數據我們可以得到如下實體間的聯系:(1)訂單:訂單編號,注冊號,訂單總額,訂貨日期,配送日期,發票號碼,訂單狀態,商品編號,商品單價,商品折后價,商品數量。(2)優惠表:客戶等級,優惠率,積分要求。(3)商品暫存:購物車編號,注冊號,商品編號,商品單價,商品折后價,商品數量,是否購買,商品總金額。(4)商品配送:配送單編號,注冊號,商品編號,商品數量,地址,姓名,郵編,電話,配送日期。(5)商品退貨:退貨單編號,訂單編號,注冊號,姓名,配送日期,商品編號,商
10、品數量,退貨原因。通過以上分析,我們作如下規定:(1)一個客戶可以購買多種商品,一種商品可以被多個客戶購買;(2)一個商品可以屬于一種類別,一種類別的商品可以包含多個商品;(3)一個商品可以由多個廠家生產,一個廠家可以生產多個商品;(4)一個訂單對應一個客戶,一個客戶對應多個訂單;(5)一個訂單對應一個商品配送單,一個商品配送單對應一個訂單;(6)一個客戶對應多個商品退貨單,一個商品退貨單對應一個客戶;(7)一個倉庫可以存放多種商品,一種商品可以存放在多個倉庫;(8)一個商品暫存表對應一個訂單,一個訂單對應一個商品暫存表。實體之間的聯系有:(1)客戶與商品之間(M:N)(2)商品與商品類別之間
11、(1:N)(3)商品與生產廠家之間(M:N)(4)訂單與客戶之間(1:M)(5)訂單與商品配送單之間(1:1)(6)客戶與商品退貨單之間(1:M)(7)倉庫與商品之間(M:N)(8)商品暫存表與訂單之間(1:1)1.7數據字典數據字典包括數據項、數據結構、數據流、數據處理4個部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容。(1)數據項如表1.1所示。表 1.1 數據項表數據項數據類型別名含義說明取值范圍取值含義cust_idchar(6)注冊號唯一標識每一客戶C00001-C99999C代表客戶,后五
12、位按順序編號cust_codechar(12)密碼6-12位,由字母和數字組成輸錯次數不得超過三次addrchar(40)地址不得超過20字用文字說明zipchar(6)郵編000000-999999tel_nochar(11)電話00000000000-99999999999若輸入家庭號碼,則要輸入地區號sexchar(2)性別f/mf代表男性,m代表女性discountnumeric(1,2)優惠率1.00/0.90/0.80一鉆不打折,二鉆打九折,三鉆打八折sco_rechar(10)積分要求0-499/500-999/1000以上0-499:一鉆,500-999:二鉆,1000以上:三
13、鉆prod_idchar(6)商品編號唯一標識每一商品P00001-P99999P代表商品,后五位按順序編號prod_namechar(20)商品名稱不得超過20字用文字說明pro_datedatetime商品生產日期yyyy-mm-dd生產日期必須在系統日期之前keep_datechar(6)商品保質期yyyy-mm-dd若保質期小于3個月,將其推為特價商品unit_pricenumeric(7,2)商品單價0000000.00-9999999.99商品單價必須小于商品總價格sup_namechar(30)生產廠家名不得超過30字用文字說明order_noint訂單編號唯一標識每一訂單100
14、0000001-9999999999按順序依次遞增自動獲得流水編號tot_amtnumeric(7,2)訂單總額0000000.00-9999999.99一張訂單的總金額order_dategetdate()訂貨日期yyyy-mm-dd訂貨日期必須在配送日期之前invoice_nochar(10)發票號碼唯一標識每一發票2000000001-9999999999按順序依次遞增自動獲得流水編號order_statuschar(2)訂單狀態標識貨物是否已發出1和01代表貨物已發出,0代表貨物還未發出ware_nochar(5)倉庫編號唯一標識每個倉庫w0001-w9999w代表倉庫,后四位按順序編
15、號qtyint商品數量00001-35536客戶所購商品數量不得小于庫存量shop_nochar(5)購物車編號唯一標識每一購物車S0001-S9999S代表購物車,后四位按順序編號buychar(4)是否購買是/否是代表購買, 否代表不購買pro_totamtnumeric(7,2)商品總金額0000000.00-9999999.99一種商品的總金額deliv_nochar(10)配送單編號唯一標識每一配送單E000000001-E999999999E代表配送單,后九位按順序編號deliv_dategetdate()配送日期yyyy-mm-dd配送日期在訂貨日期之后(隔一天)chan_noc
16、har(10)退貨單編號唯一標識每一退貨單T000000001-T999999999T代表退貨單,后九位按順序編號chan_reachar(50)退貨原因不得超過25個字用文字說明(2)數據結構數據結構:客戶含義說明:是客戶管理子系統的主體數據結構,定義了一個客戶的有關信息組成:注冊號,密碼,地址,注冊日期,郵編,電話,性別,姓名數據結構:優惠表含義說明:是優惠子系統的主體數據結構,定義了客戶是否能享受優惠服務的信息組成:客戶等級,優惠率,積分要求數據結構:商品含義說明:是商品管理子系統的主體數據結構,定義了一個商品的有關信息組成:商品編號,商品名稱,商品生產日期,商品保質期,商品單價數據結構
17、:商品類別含義說明:定義了一個商品屬于哪種類別的有關信息組成:商品類別編號,商品類別名數據結構:生產廠家含義說明:定義了一個商品是哪個廠家生產的有關信息組成:生產廠家編號,生產廠家名數據結構:訂單表含義說明:是訂單管理子系統的主體數據結構,定義了一個訂單的有關信息組成:訂單編號,注冊號,訂單總額,訂貨日期,發票號碼,商品編號,商品單價,商品折后價,商品數量,配送日期數據結構:商品暫存含義說明:是購物車管理子系統的主體數據結構,定義了一張商品暫存表的有關信息組成:購物車編號,注冊號,商品編號,商品單價,商品折后價,商品數量,是否購買,商品總金額數據結構:商品配送含義說明:是商品配送管理子系統的主
18、體數據結構,定義了一張商品配送表的有關信息組成:配送單編號,注冊號,商品編號,商品數量,地址,姓名,郵編,電話,配送日期數據結構:商品退貨含義說明:是商品退貨管理子系統的主體數據結構,定義了一張商品退貨表的有關信息組成:退貨單編號,訂單編號,注冊號,姓名,配送日期,退貨原因,商品編號,商品數量數據結構:倉庫含義說明:是商品倉庫管理子系統的主體數據結構,定義了一張倉庫的有關信息組成:倉庫編號,倉庫名稱(3)數據流數據流:客戶的個人信息說明:客戶在注冊時所登記的個人信息數據流來源:注冊數據流去向:保留在客戶表中組成:注冊號,密碼,地址,注冊日期,郵編,電話,性別,姓名數據流:客戶的優惠信息說明:客
19、戶購買商品時所享受的優惠價格數據流來源:客戶在訂單表中的總金額數據流去向:保留在優惠表中組成:客戶等級,優惠率,積分要求數據流:商品的基本信息說明:當樂購電子購物平臺增加、修改或是刪除商品的時候對商品信息的更新數據流來源:當商品的信息發生變動的時候,由管理員執行的對商品表的增加、修改和刪除的操作數據流去向:保存在商品表中組成:商品編號,商品名稱,商品生產日期,商品保質期,商品單價數據流:商品的類別信息說明:當樂購電子購物平臺增加、修改或是刪除商品的時候對商品類別信息的更新數據流來源:當商品的信息發生變動的時候,由管理員執行的對商品類別表的增加、修改和刪除的操作數據流去向:保存在商品類別表中組成
20、:商品類別編號,商品類別名數據流:生產廠家信息說明:當樂購電子購物平臺增加、修改或是刪除廠家的時候對生產廠家信息的更新數據流來源:當廠家的信息發生變動的時候,由管理員執行的對生產廠家表的增加、修改和刪除的操作數據流去向:保存在生產廠家表中組成:生產廠家編號,生產廠家名數據流:訂單信息說明:客戶所選購的商品的一些基本信息數據流來源:當客戶把選購的商品放到購物車里,點擊確認以后,自動生成訂單數據流去向:保存在訂單表中組成:訂單編號,注冊號,訂單總額,訂貨日期,發票號碼,商品編號,商品單價,商品折后價,商品數量數據流:商品暫存信息說明:即購物車管理系統的一些基本信息,在購物車里客戶可以任意修改商品信
21、息數據流來源:客戶把選購的商品暫時存放到購物車里數據流去向:保存在商品暫存表中組成:購物車編號,注冊號,商品編號,商品單價,商品折后價,商品數量,是否購買,商品總金額數據流:商品配送信息說明:客戶確認購買商品后,商家負責把商品送到客戶手中數據流來源:訂單的一些信息和客戶的一些基本信息數據流去向:保存在商品配送表中組成:配送單編號,訂單編號,注冊號,商品編號,商品數量,地址,姓名,郵編,電話,配送日期數據流:商品退貨信息說明:客戶若所選購的商品如有質量或者其他問題,客戶可以要求退貨數據流來源:商品的基本信息和訂單的一些基本信息數據流去向:保存在商品退貨表中組成:退貨單編號,訂單編號,注冊號,姓名
22、,配送日期,退貨原因,商品編號,商品數量數據流:倉庫信息說明:存放各種商品數據流來源:當商品增加或減少時,倉庫的商品庫存量作相應的改變數據流去向:保存在倉庫表中組成:倉庫編號,倉庫名稱(4)數據處理數據處理過程如表1.2所示。表 1.2 數據處理表數據存儲名功能處理說明insert_cust插入新的客戶信息當客戶成功注冊后,自動在客戶表中添加該客戶的注冊信息select_cust查詢客戶個人信息登錄系統后,客戶可以查詢個人信息update_cust修改客戶個人信息登錄系統后,客戶可以修改個人信息delete_cust刪除客戶信息若客戶離最后一次登錄的時間超過一年,則管理員刪除該客戶信息chan
23、_level修改客戶等級當客戶積分達到一定要求,自動修改客戶等級add_score增加客戶積分生成訂單后,則根據訂單金額自動增加積分code_detect檢測客戶的注冊密碼是否符合要求當客戶輸入密碼時,自動檢測密碼是否在6-12位之間,否則將提示其重新輸入select_sales查詢訂單當客戶查詢時,只能查詢其個人訂單信息insert_product添加新的商品信息在存儲過程中用insert語句添加新的商品信息insert_kind添加新的商品類別信息添加新的商品信息時,若其屬于新的類別,則應先在類別表中添加該商品類別insert_sup添加新的生產廠家信息添加新的商品信息時,若其為新的廠家生
24、產,則應先在生產廠家表中添加該生產廠家名delete_sup刪除生產廠家用delete操作刪除某個生產廠家,此時商品應做級聯刪除操作delete_product刪除商品信息當商品不再銷售時,刪除商品信息add_prod提示添加商品信息當商品庫存量小于100時,提示要添加商品chan_price修改商品價格當商品接近保質期(用有效日期減去系統時間后,所得的值小于3個月),則把商品設為特價商品(根據商品類別修改商品價格)kind_select按商品類別名查詢商品信息客戶可以輸入商品類別名查詢自己想要的商品sup_select按生產廠家名查詢商品信息客戶可以輸入生產廠家名查詢自己想要的商品prod_
25、name_select按商品名稱查詢商品信息客戶可以輸入商品名稱查詢自己想要的商品add_shopcart生成商品暫存表(即往購物車中放入商品)客戶點擊“購買”商品時,自動生成一張商品暫存表delete_shopcart刪除商品暫存表(即清空購物車)當客戶提交購物清單后,自動把購物車中的商品信息清除calculate_shop_amt計算暫存表中的商品總額根據商品暫存表中的商品數量和折后價計算客戶購買的商品總額update_buy決定是否購買商品通過update操作客戶可以確認自己是否想購買該商品update_qty修改購物車中的商品數量在商品暫存表中客戶可以通過自己update操作決定自己購
26、買多少數量的商品delete_shop_prod刪除客戶不想購買的商品若商品暫存表中的“是否購買”字段為“否”,則刪除該商品calculate_price計算商品折后價根據客戶等級計算商品暫存表和訂單明細表的當客戶提交購物清單后,商品折后價add_deli生成商品配送單當客戶提交購物清單后,自動生成一張商品配送單update_deli修改配送單中的客戶信息對配送單中的客戶信息,客戶自己可以修改insert_item生成訂單明細表和訂單總表當客戶付款后,根據商品暫存表自動生成一張訂單明細表同時生成一張訂單總表calculate_tot計算訂單總表中的tot_amt值根據訂單明細表中的商品數量和單
27、價計算訂單總表中的tot_amt值status_tri修改訂單狀態當商家發出配送單時,訂單狀態自動修改為1,表示貨物已發送insert_return生成退貨單為客戶辦理退貨業務時,生成一張退貨單update_tri修改訂單當退貨單生成后,同時修改相應的訂單明細表和訂單總表,即級聯更新totamount統計在某一地區的銷售總額根據客戶地址統計在某一地區的銷售總額cal_cust統計每個客戶年訂單總額根據訂單總表統計每個客戶年訂單總額sum_tot統計商城所有訂單總額統計所有訂單總表的訂單金額觸發器名功能處理說明cust_tri僅允許dbo用戶刪除客戶信息當刪除客戶信息時,如果為客戶,他沒有刪除的
28、權限,若為管理員,則可以刪除detect_qty檢測客戶輸入的商品數量是否超過庫存量當客戶輸入商品數量時,檢測其是否超過庫存量,若是,則提示“您所購買的數量超過庫存量,請重新輸入!”,否則在商品表中庫存量應做相應的減少prod_date_detect檢測商品生產日期添加新的商品信息時,檢測其生產日期是否在系統日期之前,否則提示“生產日期不可能大于系統日期,請重新輸入!”deliv_date_detect檢測配送日期生成訂單時,檢測其訂貨日期是否在配送日期之前,否則提示“訂貨日期不可能大于配送日期,請重新輸入!”update_sale_item更新訂單總表當修改訂單明細表的數量或單價時,訂單總表
29、的tot_amt值應做相應地修改視圖名功能處理說明cust_hero_view生成客戶積分排行榜(英雄排行榜)把客戶表中積分排在前二十位的客戶放在視圖表中,以供客戶瀏覽calculate_year_sale_view統計商品年銷售總額年終時統計商品本年度銷售總額,并顯示前十名的商品prod_well_view瀏覽熱門商品統計上個月商品銷售總額,并顯示前十名的商品,供客戶瀏覽2概念結構設計通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,并采用自底向上的方法用E-R圖表示各實體之間的聯系。2.1實體圖通過需求分析我們得到客戶,商品,優惠表和倉庫等最基本的實體,畫出它們的實
30、體圖如下:(1)客戶實體圖,如圖2.1所示。圖 2.1 客戶實體圖(2)商品實體圖,如圖2.2所示。圖 2.2 商品實體圖(3)優惠表實體圖,如圖2.3所示。圖 2.3 優惠表實體圖(4)倉庫實體圖,如圖2.4所示。圖 2.4 倉庫實體圖2.2 多個實體間的聯系圖實體與實體間有多種聯系,畫出各種實體間的聯系圖如下:(1)客戶與優惠表間的聯系圖,如圖2.5所示。圖 2.5 客戶與優惠(2)商品與商品類別間的聯系圖,如圖2.6所示。圖 2.6 商品與商品類別表聯系圖(3)商品與生產廠家之間的聯系圖,如圖2.7所示。圖 2.7 商品與生產廠家聯系圖(4)商品與倉庫實體之間的聯系圖,如圖2.8所示。圖
31、 2.8 商品與倉庫聯系圖(5)客戶與商品實體之間的聯系圖,如圖2.9所示。圖 2.9 客戶與商品聯系圖(6)客戶與商品退貨之間的關系圖,如圖2.10所示。圖 2.10 客戶與商品退貨單聯系圖(7)訂單與商品配送之間的聯系圖,如圖2.11所示。圖 2.11 訂單與商品配送單聯系圖2.3總體ER圖通過以上分ER圖,我們得到下面的總ER圖,如圖2.12所示。圖 2.12 總ER圖3邏輯結構設計本次設計的數據庫在SQL Server 2008上實現,將概念結構設計中的E-R圖轉換成SQL Server 2008支持的關系數據模型。3.1關系設計關系設計包括實體轉換和聯系轉換。(1)實體轉換將每個單獨
32、的實體轉換為一張單獨的表,具體轉換如下:客戶:注冊號,密碼,地址,注冊日期,郵編,電話,性別,姓名商品:商品編號,商品名稱,商品生產日期,商品保質期,商品單價。商品類別:商品類別編號,商品類別名。生產廠家:生產廠家編號,生產廠家名。倉庫:倉庫編號,倉庫名稱。(2)聯系轉換一個實體型轉換為關系模式,實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體間的聯系有以下幾種不同的情況:多對多聯系轉換為一張單獨的關系表商品表:商品編號,商品名稱,商品生產日期,商品保質期,商品單價,庫存量,生產廠家編號。一對多的聯系通過在多表中添加屬性來實現商品表:商品編號,商品名稱,商品生產日期,商品保質期,商品單
33、價,庫存量,生產廠家編號,商品類別編號。客戶表:注冊號,密碼,地址,注冊日期,郵編,電話,性別,姓名,客戶積分,客戶等級。訂單表:訂單編號,注冊號,訂單總額,訂貨日期,配送日期,發票號碼,訂單狀態,商品編號,商品單價,商品折后價,商品數量。商品退貨單:退貨單編號,訂單編號,注冊號,姓名,配送日期,商品編號,商品數量,退貨原因。一對一的聯系轉化為一張單獨的關系表商品暫存表:購物車編號,注冊號,商品編號,商品單價,商品折后價,商品數量,是否購買,商品總金額。商品配送單:配送單編號,注冊號,商品編號,商品數量,地址,姓名,郵編,電話,配送日期,訂單編號。3.2關系優化為了減少以上表數據的冗余,將表優
34、化,結果如下:(1)客戶表:函數依賴集為F1=注冊號(密碼,地址,注冊日期,郵編,電話,性別,姓名客戶等級,客戶積分)2NF主屬性:注冊號非主屬性:密碼,地址,注冊日期,郵編,電話,性別,姓名,客戶等級,客戶積分主鍵:注冊號(2)優惠表:函數依賴集為F2=客戶等級(優惠率,積分要求)3NF主屬性:客戶等級非主屬性:優惠率,積分要求主鍵:客戶等級(3)商品表:函數依賴集為F3=商品編號(商品名稱,商品類別編號,生產廠家編號,商品庫存量,商品生產日期,商品保質期,商品單價) 3NF 主屬性:商品編號非主屬性:商品名稱,商品類別編號,生產廠家編號,商品庫存量,商品生產日期,商品保質期,商品單價主鍵:
35、商品編號(4)商品類別表:函數依賴集為F4=商品類別編號商品類別名3NF主屬性:商品類別編號非主屬性:商品類別名主鍵:商品類別編號(5)生產廠家表:函數依賴集為F5=生產廠家編號生產廠家名3NF主屬性:生產廠家編號非主屬性名:生產廠家名主鍵:生產廠家編號(6)訂單總表:函數依賴集為F6=訂單編號(注冊號,訂單總額,訂貨日期,發貨日期,訂單狀態,發票號碼)3NF主屬性:訂單編號非主屬性:注冊號,訂單總額,訂貨日期,發票號碼,發貨日期,訂單狀態。主鍵:訂單編號(7)訂單明細表:函數依賴集為F6=(訂單編號,商品編號)(訂貨日期,商品單價,商品折后價,商品數量)3NF主屬性:訂單編號,商品編號非主屬
36、性:訂單總額,訂貨日期,發票號碼,發貨日期,商品單價,商品折后價,商品數量主鍵:訂單編號,商品編號(8)商品暫存表:函數依賴集為F8=(購物車編號,商品編號)(注冊號,商品單價,商品折后價,商品數量,是否購買,商品總金額) 3NF主屬性:購物車編號,商品編號非主屬性:注冊號,商品單價,商品折后價,商品數量,是否購買,商品總金額主鍵:購物車編號,商品編號(9)商品配送單:函數依賴集為F9=配送單編號(商品編號,商品數量,地址,姓名,郵編,電話,配送日期)1NF主屬性:配送單編號非主屬性:商品編號,注冊號,訂單編號,商品數量,地址,姓名,郵編,電話,配送日期主鍵:配送單編號,注冊號,訂單編號為了方
37、便客戶查看自己訂購的商品信息,故在配送單中加入商品單價和商品總金額兩個非主屬性。(10)商品退貨單:函數依賴集為F10=(退貨單編號,注冊號,訂單編號)(姓名,配送日期,退貨原因,商品編號,商品數量)1NF主屬性:退貨單編號,注冊號,訂單編號非主屬性:姓名,配送日期,退貨原因,商品編號,商品數量主鍵:退貨單編號,注冊號(11)倉庫表:函數依賴集為F11=倉庫編號(倉庫名)3NF主屬性:倉庫編號非主屬性:倉庫名主鍵:倉庫編號3.3約束的說明根據參照完整性,表與表之間有主鍵、外鍵、用戶自定義約束。(1) 注冊號為客戶表的主鍵,且在6-16位以內,且第一位必為字母C,其他只能由數字組成,即同時對注冊
38、號設立用戶自定義約束。(2) 性別只能為m或f,對性別設立用戶自定義約束。(3) 客戶密碼必須在6-12位之間。(4) 客戶表中的客戶等級應參照優惠表中的客戶等級。(5) 優惠表中客戶等級為主鍵。(6) 倉庫表中倉庫編號為主鍵。(7) 商品表中商品編號為主鍵。(8) 商品類別表中商品類別編號為主鍵。(9) 生產廠家表中生產廠家編號為主鍵。(10) 商品表中的商品類別編號應參照商品類別表中的類別編號。(11) 商品表中的生產廠家編號應參照生產廠家表中的生產廠家編號。(12) 商品暫存表中購物車編號和商品編號為主鍵。(13) 商品暫存表中的客戶編號應參照客戶表中的客戶編號。(14) 商品暫存表中的
39、“是否購買”字段默認為“否”,當客戶確認購買以后,再將其修改為“是”。(15) 商品暫存表中的商品數量默認為“0”。(16) 訂單總表中訂單編號為主鍵。(17) 訂單明細表中訂單編號和商品編號為主鍵。(18) 訂單明細表中的訂單編號應參照訂單總表中的訂單編號。(19) 訂單明細表中的商品編號應參照商品表中的商品編號。(20) 訂單總表中的訂貨日期應早于配送日期。(21) 發票號碼必須唯一,建立unique約束。(22) 商品折后價和訂單總額均設置默認值為0。(23) 訂單狀態設置默認值為0。(24) 商品配送單中配送單編號為主鍵。(25) 商品配送單中的客戶信息默認為已注冊客戶的信息。(26)
40、 商品退貨單中退貨單編號、注冊號、訂單編號為主鍵。(27) 一個客戶購買某種商品的數量不能超過該商品的庫存量,當客戶購買之后,該商品的庫存量應自動減少。(28) 當生成訂單明細表后,訂單總表要自動生成,訂單時間由系統自動生成,當修改訂單明細表時,訂單總表也要做相應的修改。(29) 在生成訂單總表后,自動生成商品配送單。(30) 為客戶辦理退貨業務后,應自動生成一張退貨單,同時在訂單明細表和訂單總表中要做相應的修改。3.4基本表通過上面的關系轉換與關系優化,我們最終得到11張基本表。(1)客戶表(customer表)如表 3.1所示。表 3.1 客戶表屬性名數據類型是否為空含義是否為主鍵cust
41、_idchar(6)not null注冊號primary keycust_codechar(12)not null密碼addrchar(40)not null地址regis_dategetdate()null注冊日期zipchar(6)not null郵編tel_nochar(11)not null電話sexchar(2)not null性別cust_nameChar(8)not null姓名cust_levelchar(8)not null客戶等級cust_scointnot null客戶積分(2)優惠表(discount表)如表 3.2所示。表 3.2 優惠表屬性名數據類型是否為空含義是否
42、為主鍵cust_levelchar(4)not null客戶等級primary keydiscountnumeric(7,2)not null優惠率sco_rechar(20)not null積分要求(3)商品表(product表)如表 3.3所示。表 3.3 商品表屬性名數據類型是否為空含義是否為主鍵prod_idchar(6)not null商品編號primary keyprod_namechar(20)not null商品名稱kind_nochar(6)not null商品類別編號sup_nochar(6)not null生產廠家編號storageintnot null商品庫存量pro_
43、datedatetimenot null商品生產日期keep_datechar(6)not null商品保質期unit_pricenumeric(7,2)not null商品單價supplyintnot null供貨量(4)商品類別表(kind表)如表 3.4 所示。表 3.4 商品類別表屬性名數據類型是否為空含義是否為主鍵kind_nochar(6)not null商品類別編號primary keykind_namechar(15)not null商品類別名(5)生產廠家表(company表)如表 3.5所示。表 3.5 生產廠家表屬性名數據類型是否為空含義是否為主鍵sup_nochar(6
44、)not null生產廠家編號primary keysup_namechar(30)not null生產廠家名(6)訂單總表(sales表)如表3.4.6所示。表 3.6 訂單總表屬性名數據類型是否為空含義是否為主鍵order_nochar(10)not null訂單編號primary keycust_idchar(16)not null注冊號tot_amtnumeric(7,2)null訂單總額order_dategetdate()not null訂貨日期invoice_nochar(15)not null發票號碼order_statuschar(2)not null訂單狀態deliv_da
45、tedatetimenot null配送日期(7)訂單明細表(sale_item表)如表 3.7所示。表 3.7 訂單明細表屬性名數據類型是否為空含義是否為主鍵order_nochar(10)not null訂單編號primary keyprod_idchar(6)not null商品編號primary keyunit_pricenumeric(7,2)not null商品單價dis_pricenumeric(7,2)not null商品折后價qtyintnot null商品數量order_datedatetimenot null訂貨日期(8)商品暫存表(shopcart表)如表 3.8所示。
46、表 3.8 商品暫存表屬性名數據類型是否為空含義是否為主鍵shop_nochar(5)not null購物車編號primary keycust_idchar(6)not null注冊號prod_idchar(6)not null商品編號primary keyunit_pricenumeric(7,2)not null商品單價dis_pricenumeric(7,2)not null商品折后價qtyintnot null商品數量buychar(4)not null是否購買pro_totamtnumeric(7,2)not null商品總金額(9)商品配送單(delivery表)如表 3.9所示。
47、表 3.9 商品配送單屬性名數據類型是否為空含義是否為主鍵deliv_nochar(10)not null配送單編號primary keycust_idchar(6)not null注冊號order_nochar(10)not null訂單編號prod_idchar(6)not null商品編號qtyintnot null商品數量unit_pricenumeric(7,2)not null商品單價tot_amtnumeric(9,2)not null訂單總額zipchar(6)not null郵編addrchar(40)not null地址tel_nochar(11)not null電話deliv_dategetdate()not null配送日期cust_namechar(8)not null姓名(10)商品退貨表(return表)如表3.10所示。表 3.10 商品退貨單屬性名數據類型是否為空含義是否為主鍵chan_nochar(10)not null退貨單編號primary keycust_idchar(6)not null注冊號primary keyorder_nochar(10)not null訂單編號primary keydeliv_dategetdate()not null配送日期chan_reasonchar(50)not null退貨原因prod_idcha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動防護用品的管理與使用
- HBT系列電機混凝土輸送泵產品介紹
- 《下肢靜脈曲張疾病解析》課件
- 從業人員素質培訓課件
- 模具設計師備考過程中的自我評估與調整試題及答案
- 大數據數據挖掘案例重點基礎知識點
- 農作物種子質量評估試題及答案
- 2025年會計職業道德模塊試題及答案
- 2024年農作物繁育員考試亮點試題及答案
- 項目優惠政策與利益分配研究試題及答案
- 初中期末家長會模板
- 駕駛員安全管理培訓
- 道路交通運輸生產安全事故責任追究典型案例(企業專題:安全管理人員盡職免責篇)
- 書香致遠閱讀啟智-2025世界讀書日主題班會教案
- 南京鹽水鴨的制作方法培訓
- 2023國家糧食和物資儲備局直屬事業單位招聘【35人】筆試參考題庫附帶答案詳解
- 2025年鄭州電力高等專科學校高職單招語文2019-2024歷年真題考點試卷含答案解析
- 人工肝個案護理
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 2025-2030中國電子支付行業市場發展分析及發展前景與投資戰略研究報告
- 2025屆重慶一中初三中考模擬考試英語試題試卷含答案
評論
0/150
提交評論