資料庫設計之網上書店系統
:對於本部落格所有原創文章,允許個人、教育和非商業目的使用,但務必保證文章的完整性且不作任何修改地以超連結形式註明原始作者、出處及本宣告。
原始作者:季亞
一、概要設計
2.1意義
伴隨著資訊化的發展,計算機走進了千家萬戶,人們的交流變得方便,方便了網民的生活!此外,伴隨著卓越、噹噹、淘寶等網路購物平臺的興起,網路購物也被網民認可,首先,網上書店方便了網民的生活,更加便捷地、足不出戶便可買到心儀的書籍;其次,網上購書減少了許多中間銷售代理,因此價格會比較低,對廣大網民的好處是非常明顯的;再者,網上書店是資訊化購物,基本上所有操作都是通過計算機程式自動完成的,因此大大降低了勞力的消耗;最後,電子商務與出版發行業的結合使發展網上書店及研究網上書店具有雙重意義,充分結合網際網路銷售的特點探索圖書發行的新渠道和新模式,是對電子商務科學的充實和補充,更是對出版發行業發行渠道和市場的開拓和創新。
資料庫對於一個系統的意義是相當重要的,它關係到整個專案的整體流程,整個網站的後期維護便捷與否,從長遠利益來看,資料庫的設計是至關重要的。
2.2目的
資料庫,即存放資料的倉庫,設計出資料庫可以方便的運用於實際開發的應用程式或者網站當中,使其能夠完成譬如增、刪、改資料,本實驗的目的在於通過一個簡要的資料庫設計理解整個資料庫設計流程。
2.3內容和要求
本實驗將設計出一個網上書店資料庫,其要求簡要如下:
(1)系統使用者由兩類組成:管理員和客戶。
(2)管理員負責後臺管理:
① 圖書資訊的維護(增、刪、改),圖書要進行分類管理;
② 客戶資訊的維護;
③ 訂單的確認和刪除。
(3)讀者可以查詢圖書的基本資訊,可以維護自己的資訊,可以進行網上訂書,可以查詢訂單處理的情況。
(4)在資料庫設計中應考慮如下因素:
① 資料庫的邏輯模型應能滿足系統的基本需求;
② 資料庫的邏輯模型應符合關係資料的規範化要求;
③ 資料庫表應具有基本的完整性約束。
二、需求分析
2.1背景
一個書店中的書籍類別、數量是非常龐大的,雖然書籍的分類是非常規範,但僅僅侷限於概念上的分類仍無法運用於實踐當中,這就給管理人員帶來了極大的工作量,因此就需要一個比較科學的管理辦法來解決此問題。
由於資料庫能夠非常方便地解決此類問題,因此我們便想到了利用資料庫來進行資料管理。
2.2概要分析
該系統主要分為兩部分,一個為普通會員使用者部分,亦即前臺系統。另外一個是系統的管理員部分,即後臺系統。網上書店前臺系統部分主要是實現網上選書、購書、產生訂單等功能的系統。後臺實現書籍管理、使用者管理、訂單處理等功能。
2.3開發技術
開發工具:Microsoft SQLServer 2000
開發語言:SQL
開發技術:資料庫開發技術
面向物件:需求者
SQL Server 2000 是Microsoft 公司推出的SQL Server 資料庫管理系統,該版本繼承了SQL Server 7.0 版本的優點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關軟體整合程度高等優點,可跨越從執行Microsoft Windows 98 的膝上型電腦到執行Microsoft Windows 2000 的大型多處理器的伺服器等多種平臺使用。本實驗中最終將使用Microsoft SQLServer 2000資料庫管理系統將我們設計的資料庫實現。
2.4系統主要功能
圖2-1 系統功能模組圖
三、E-R圖
3.1 概念設計
系統共有九個實體:客戶、管理員、圖書型別、圖書、訂單、詳細訂單、引數設定、圖書評價、資訊反饋。
(1)客戶(會員)的屬性:自動編號CustomerId、客戶名、客戶密碼、真實姓名、性別、客戶電話、E-mail、地址、註冊時間、提示問題、問題答案、登陸次數、最近登陸時間、郵編
(2)管理員的屬性:自動編號AdminId、管理員名稱、管理員郵箱、密碼、許可權標誌
(3)圖書型別的屬性:自動編號BookTypeId、類別名稱
(4)圖書的屬性:自動編號BookId、圖書名稱、圖書型別、出版社、出版日期、開本、版次、圖書作者、圖書譯者、圖書ISBN、圖書定價、圖書頁碼、圖書簡介、圖書目錄、市場價、會員價、成交量、瀏覽次數、折扣、圖書封面圖、圖書庫存量、入庫時間、封裝方式
(5)訂單的屬性:自動編號Id、訂單號OrderId、客戶編號、下單日期、總訂購數量、留言、送貨方式、支付方式、收貨人姓名、收貨地址、收貨人聯絡方式、備註、總賣出價
(6)詳細訂單屬性:自動編號Id、詳細訂單OrderDetailId、訂單號OrderId、圖書編號、訂購數量、發貨狀態、收貨狀態、賣出總價
(7)引數設定屬性有:網站名、註冊條款、公告、地址、郵編、電話號碼等
(8)圖書評價的屬性:自動編號CommentId、圖書編號、評論客戶編號、評論客戶名、評論時間、評論內容、稽核標誌
(9)資訊反饋的屬性:自動編號ReplyId、留言型別、留言主題、留言內容、留言客戶編號、留言客戶名、留言日期、客戶IP
3.2 E-R圖
圖3-1 圖書類別資訊
圖3-2 管理員資訊
圖3-3 圖書資訊
圖3-4 客戶資訊
圖3-5 購物車臨時訂購資訊
圖3-6 訂單資訊
圖3-7 訂單詳細資訊
圖3-8 圖書評論資訊
圖3-9 資訊反饋
圖3-10 網上書店頂層E-R圖
四、邏輯結構
4.1邏輯轉換
根據3.2節中的E-R圖可以將系統中的概念模型轉換為具體的表(即關係)結構,共分為9個關係,詳細資訊如下所示:
客戶(會員)(客戶編號,客戶名,客戶密碼,真實姓名,性別,客戶電話,E-mail,地址,註冊時間,提示問題,問題答案,登陸次數,最近登陸時間,郵編)
管理員(管理員編號,管理員名稱,管理員郵箱,密碼,許可權標誌)
圖書型別(圖書型別編號,類別名稱)
圖書(圖書編號,圖書名稱,圖書型別,出版社,出版日期,開本,版次,圖書作者,圖書譯者,圖書ISBN,圖書定價,圖書頁碼,圖書簡介,圖書目錄,市場價,會員價,成交量,瀏覽次數,折扣,圖書封面圖,圖書庫存量,入庫時間、封裝方式)
購物車零時訂購資訊(客戶編號,圖書編號,訂購數量,總價,是否付款)
訂單(Id,訂單號,客戶編號,下單日期,總訂購數量,留言,送貨方式,支付方式,收貨人姓名,收貨地址,收貨人聯絡方式,備註,總賣出價)
詳細訂單(Id,詳細訂單編號,訂單號,圖書編號,訂購數量,發貨狀態,收貨狀態,賣出總價)
圖書評價(圖書評價編號,圖書編號,評論客戶編號,評論客戶名,評論時間、評論內容,稽核標誌)
資訊反饋(資訊反饋編號,留言型別,留言主題,留言內容,留言客戶編號,留言客戶名,留言日期,客戶IP)
4.2細化表結構
為方便,根據上述文字描述,用英文簡寫為表和列取名,確定列的資料型別及必要的約束規則,給出如下所示資料庫表的基本結構及說明:
(1)客戶資訊表tb_customerinfo
表1 客戶資訊表
列名 |
說明 |
資料型別 |
約束 |
CustomerId |
客戶編號 |
int |
主碼(自增欄位) |
CustomerName |
客戶名稱 |
varchar(20) |
主碼not null |
CustomerPwd |
客戶密碼 |
varchar(20) |
not null |
Customertruename |
真實姓名 |
varchar(20) |
not null |
CustomerSex |
性別 |
varchar(2) |
not null, 取“男”或“女” |
CustomerTel |
客戶電話 |
varchar(20) |
not null |
CustomerEmail |
|
varchar(20) |
not null |
CustomerAddr |
地址 |
varchar(20) |
not null |
CustomerRegTime |
註冊時間 |
datetime |
not null |
CustomerQues |
提示問題 |
varchar(200) |
|
CustomerAnswer |
問題答案 |
varchar(200) |
|
CustomerLogTime |
登陸次數 |
int |
not null |
CustomerLastLogT |
最近登陸時間 |
datetime |
not null |
(2)圖書型別資訊表tb_booktypeinfo
表2 圖書型別資訊表
列名 |
說明 |
資料型別 |
約束 |
BookTypeId |
圖書型別編號 |
int |
主碼(自增欄位) |
BookTypeName |
類別名稱 |
varchar(50) |
not null |
(3)圖書資訊表tb_bookinfo
表3 圖書資訊表
列名 |
說明 |
資料型別 |
約束 |
BookId |
圖書編號 |
int |
主碼(自增欄位) |
BookTypeId |
圖書型別 |
int |
not null, 引用tb_booktypeinfo的外碼 |
BookName |
課程名 |
varchar(20) |
not null |
BookPress |
出版社 |
varchar(20) |
not null |
BookPubDate |
出版日期 |
datetime |
not null |
BookSize |
開本 |
varchar(10) |
not null |
BookVersion |
版次 |
varchar(10) |
not null |
BookAuthor |
圖書作者 |
varchar(10) |
相關推薦資料庫設計之網上書店系統:對於本部落格所有原創文章,允許個人、教育和非商業目的使用,但務必保證文章的完整性且不作任何修改地以超連結形式註明原始作者、出處及本宣告。 原始作者:季亞 一、概要設 資料庫設計之三大正規化NF國內絕大多數院校用的王珊的《資料庫系統概論》這本教材,某些方面並沒有給出很詳細很明確的解釋,與實際應用聯絡不那麼緊密,你有這樣的疑問也是挺正常的。我教《資料庫原理》這門課有幾年了,有很多學生提出了和你一樣的問題 資料庫設計之反三正規化的理解反三正規化是基於第三正規化所調整的,沒有冗餘的資料庫未必是最好的資料庫,有時為了提高執行效率,就必須降低正規化標準,適當保留冗餘資料。具體做法是: 在概念資料模型設計時遵守第三正規化,降低正規化標準的工作放到物理資料模型設計時考慮。降低正規化就是增加欄位,減少了查詢時的關聯,提高查詢效率,因為在資料 資料庫設計之三正規化的的理解目的: 為了降低資料冗餘,消除資料插入異常、更新異常、刪除異常。在設計資料庫時正規化要求越嚴謹則設計出來的表則越多資料結構越靈活。 定義: 第一正規化(1NF):資料表中的每一列(每個欄位)必須是不可拆分的最小單元,也就是確保每一列的原子性; 第二正規化(2NF):滿足1NF後, 資料庫設計之規範化--------幾種正規化詳解資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。反之則是亂七八糟,不僅給資料庫的程式設計人員製造麻煩,而且面目可憎,可能儲存了大量不需要的冗餘資訊。   資料庫設計之欄位型別1.一般的一個數據庫中欄位的型別有text,int,tinyint,datetime,vachar,char這幾個 2.它們的長度一般設定為: 型別 長度 小數點 text--》0 (存放文字,文章) datetime--》長度, 資料庫設計之需求分析什麼是資料庫設計? 簡單來說,資料庫設計就是根據業務系統的具體需要,結合我們所選用的DBMS(資料庫管理系統),為這個業務系統構造出最優的資料儲存模型。並建立好資料庫中的表結構及表與表之間的關聯關係的 C#學習-資料庫設計之欄位設計基礎(一)1.關於命名風格: (1)每個單詞加下劃線 (2)採用帕斯卡命名,每個單詞首字母大寫 注意:反對拼音或者漢字 2.關於主鍵,外來鍵,等基礎概念小結 (1)主鍵:一般採用int/bigint型別自增,也可以採用GUID(全球唯一識別碼) 程式生成,欄位較長,比較佔用 資料庫設計之邏輯設計邏輯設計 1:將需求轉化成資料庫的邏輯模型 2:通過ER圖的型式對邏輯模型進行展示 3:同所選用的具體的DBMS系統無關 名詞解釋 關係:一個關係對應通常所說的一張表 元組:表中的一行即為一個元組 屬性:表中的一列即為一個屬性,每一個 資料庫設計之概念結構設計---------E-R圖詳解0、試述採用E-R方法進行資料庫概念設計的過程。 答:採用E-R方法進行資料庫概念設計,可以分成3步進行:首先設計區域性E-R模式,然後把各區域性E-R模式綜合成一個全域性的E-R模式,最後對全域性E-R模式進行優化,得到最終的E-R模式,即概念模式。 1、某大學實現學分制 資料庫設計之備用欄位前幾天在做一個web專案設計資料庫時,一直在考慮是否需要設定備用欄位。自己感覺增加備用欄位用處不大,效率低,破壞命名標準。後來上網查了一下有一下比較: 有必要: 如果沒有備用欄位,如果後期要加欄位,用add column的方法會改變原先的資料庫儲存結構,造成資料移動,移動 資料庫設計之設計表和欄位資料庫設計技巧系列--設計表和欄位 設計表和欄位 1. 檢查各種變化 我在設計資料庫的時候會考慮到哪些資料欄位將來可能會發生變更。比方說,姓氏就是如此(注意是西方人的姓氏,比如女性結婚後從夫姓等)。所以,在建立系統儲存客戶資訊時,我傾向於在單獨的一個數據表裡儲存姓氏欄位 SSH2專案網上書店系統手把手教學_Struts2+Spring+Hibernate整合開發<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in 資料庫設計之概念結構設計---------E-R圖詳解 (各種各樣的例項)http://blog.csdn.net/zxq1138634642/article/details/9121363 0、試述採用E-R方法進行資料庫概念設計的過程。 答:採用E-R方法進行資料庫概念設計,可以分成3步進行:首先設計區域性E-R模式,然後把各區域性E-R 資料庫設計之路——利用好PDM(物理資料模型)資料庫的設計的一般步驟如下: 1.需求分析——瞭解使用者的資料需求、處理需求、安全性以及完整性要求 2.概念設計——設計系統概念模型,一般為E-R圖 3.邏輯設計——設計系統的模式和外模式,對於關係模型主要是基本表和檢視 4.物理設計——設計資料的儲存結構和存取方式,例如索 Java網上書店(圖書)管理系統的設計與實現網上書店管理系統功能模組劃分 根據需求分析與系統功能設計目標,結合實際情況本系統功能模組設計分為如下幾個模組: 1.主頁:在這裡我們可以看見本系統的主要功能和資訊。 2.使用者註冊:在這裡我們可以註冊我們的基本資訊,其中電話和Email是比較重要的,因為我們需要對這些資訊進 學生資訊管理系統之第二篇主要功能模組設計和資料庫設計 4.2系統主要功能模組設計: (1)基本資訊模組:是管理員對學生資訊進行新增操作。通過本介面管理員可以對學生資訊進行相應的修改,包括學號、姓名、出生日期等。可以通過該介面輸入學生姓名實現查詢該學生的所有資訊。管理員可以把學生的整條資訊進行刪除,同時也刪除學生的成績。 公交查詢系統的設計之詳細設計程序流程圖(1)程序流程圖 前面的博客我寫過公交查詢系統設計的數據流圖,實體聯系圖和狀態轉換圖,老師給任務了,這次寫的是程序流程圖。 之前的公交查詢系統:http://13271983.blog.51cto.com/13261983/1970591 用戶登錄模塊:功能描述:該系統的用戶為普通用戶和管理員,都有自己的登錄賬 公交查詢系統的設計之詳細設計程序流程圖(2)軟件工程接著上期博客的討論,程序流圖繼續畫。公交查詢系統模塊1車次信息查詢功能描述:普通用戶登錄成功後可以進入到個人主界面,用戶可以進行車次信息查詢。車次信息查詢是為用戶提供按公交車的車號查詢,並顯示該公交車的相關信息(如:公車的起點站和終點站,車子檔次和票價等信息)。2站點信息查詢功能描述:用戶登錄成功後即 公交查詢系統的設計之詳細設計程序流程圖(3)軟件工程車次信息管理模塊1刪除車次功能描述:分頁列出車次信息表中所有的車次信息,選擇操作中的刪除,就可以將對應的車次信息刪除,但是在刪除車次信息的時候需要先刪除車次與站點關系表中所有對應該車次的信息。2添加車次功能描述增加車次的詳細信息,包括:車次號,起點站,終點站,票價,車檔次。在添加起點站和終點站的時候, |