網上購物系統(tǒng) 論文
《網上購物系統(tǒng) 論文》由會員分享,可在線閱讀,更多相關《網上購物系統(tǒng) 論文(20頁珍藏版)》請在裝配圖網上搜索。
1、ASP網上購物系統(tǒng) 【摘要】 網上購物系統(tǒng),其開發(fā)主要包括后臺數據庫的建立和維護以及前臺應用程序的開發(fā)兩個方面。對于前者要求建立起數據一致性和完整性強、數據平安性好的數據庫,而對于后者那么要求應用程序功能完備,易使用等特點。 因此本人結合書店的要求,對SQL Server2000數據庫管理系統(tǒng)、SQL語言原理、ASP設計平臺,ASP數據庫技術進行了較深入的學習和應用,主要完成對網上書店系統(tǒng)的需求分析、功能模塊劃分、數據庫模式分析,并由此設計了數據庫結構和應用程序。系統(tǒng)運行結果證明,本文所設計的網上書店系統(tǒng)可以滿足購物者和高級管理員雙方面的需求。 通過電子商務網站的建設以實現對商業(yè)零售企
2、業(yè)提供信息化管理。建立了基于網絡訂貨系統(tǒng)和網絡銷售系統(tǒng)。著重論述了系統(tǒng)功能與實現、數據流程及存儲,包括商品目錄、會員注冊、網上訂貨與購物、商品查詢、后臺數據庫管理等。 【關鍵詞】 網上購物,SQL Server2000 ,ASP ? The Online Shopping System 【Abstract】 The online bookstore system, it develops on two main respects of development including setting-up and maintenance and front application p
3、rogram of backstage supporter's database . Demand to set up the consistency of the data and integrality the storehouse of strong , data with good security to the former. Require to the latter that the function of the application program is complete , apt characteristic of using etc. So combine and m
4、ake the request of the entering type bookstore in person , design the platform to SQL Server2000 database management system , SQL language principle , ASP, ASP database technology has carried on the deeper study and application, mainly finish demand analysis , function module dividing , database mod
5、e to the online bookstore system to analyse, and has designed structure of the database and application program from this. Systematic operation result prove online bookstore system this text design can meet shopper and senior administrator need the both sides. In order to realize that offers the i
6、nformationization to manage to the commercial retailer through the construction of the e-commerce website. Have set up because of the network order system and network marketing system. Have described the systematic function and realized emphatically, the procedure of the data and storing, including
7、goods catalogue , member registration , ordering and doing shopping , goods inquiry , backstage supporter's data base administration on the net ,etc. 【Keyword】 The online shopping, SQL Server2000, ASP 前? 言 在Internet飛速開展的今天,互聯(lián)網成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網
8、站來實現的,獲取信息也是要在Internet“海洋〞中按照一定的檢索方式將所需要的信息從網站上下載下來。因此網上購物系統(tǒng)應運而生,網上購物彌補了傳統(tǒng)購物的一些局限性,成為傳統(tǒng)購物的補充。通過網上購物,無論你在哪里都可以輕松地買到心儀的物品,只要那里有一臺接入了Internet的電腦,通過網上購物可以很清楚的了解各個商品的信息,從而對它們進行比較,最后買到自己滿意的物品。對于管理人員來說,利用購物系統(tǒng)能輕松地管理大量的商品,而且可以通過系統(tǒng)查看各種商品的銷售狀況,通過各種數據能夠及時地知道那種商品正在熱賣,而那些商品屬于冷門地,從而在運營上進行調整,更好地管理好商店。 我設計的是基于網上的購物
9、系統(tǒng)。用戶可以根據自己的喜好瀏覽自己喜歡的東西,但要想購置商品,就必須通過注冊成為會員才能進行購置,登陸后就可以購物了。商店的各種商品都進行了詳細地分類,可以輕松地找到想要地商品,同時查找系統(tǒng)能很容易地找到相關的商品。同時買到自己喜歡的東西后就可以去結算,通過下訂單你可以填寫自己的相關信息,而完成購物的流程。 1? 背? 景 隨著計算機和網絡的日趨普及,越來越多的商家在網上升起商店,向消費者展示出一片新鮮的購物大地。在美、日等信息化程度較高的國家和地區(qū),網絡商店開展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特,家庭倉儲、科羅格、J.C培尼等紛紛臍身于網絡經商的行列。調查說明:美
10、國的家庭已越來越習慣于在家中從網上購物。powered by 在我國,網上購物從無到有也不過短短幾年時間。我國第一家網上購物發(fā)生在1996年,燕莎友誼商場首次通過網上商城售出一個景泰藍,雖然貨款的支付不是在網上進行的,但這畢竟為我國零售業(yè)奏出了網上購物的先聲。如今,在北京、上海、深圳等大城市,已有200多家商場,專賣店開設了網上商店,還有一些正處在觀望階段。真正意義上的網上購物,即貨款的結算在網上進行,已在國內實現。深圳無虹商場去年5月開辦了我國第一家實行計單和支付一體上的網上商店,上網的消費者只要擁有一張招商銀行的“一卡通〞,便可輕松購物, 24小時內商家送貨上門。商家投資網上商店目的是
11、賺錢。但從目前網上商店的運營情況來看,上網者不購物、購物者不上網的現象非常普遍,網上生意滲淡已是目前各大網上商店共同的困惑。上海首家網上商店——上海億樣購物中心由于經營不善,開業(yè)不到半年即關門停業(yè),北京的一些大型零售商場,其網上商店‘門庭冷落〞。 結算方式的原始落后是網上購物致命的弱點。在國外,計算機一般都與銀行的帳戶相聯(lián),消費者和網絡商店只需和網上銀行打交道,不必當面直接支取現金。在我國目前除深功;無虹等幾家網上商店進行網上購物結算外,大局部商家結算只能采取 “送貨上門、到貨付款〞或“郵寄上門、貸款郵資先付〞的方式。這樣不但浪費了時間和人力,而且限制了網絡的覆蓋范圍和商品的結構種類。因此,
12、平安、快捷、方便的電子支付手段將是今后網上商店健康開展的主要要素。 2? 理論根底 數據庫處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術的迅速開展,使得數據庫技術之時成為最熱門技術之一。數據庫技術能使Internet應用超越具有早期應用特點的簡單的發(fā)布。同時,Internet技術提供了一種向用戶發(fā)布數據庫內容的標準化的訪問方法。這些技術沒有脫離經典數據庫技術的要求。它們只是加重了數據庫技術的重要性。powered by 2.1? 數據庫的開展 數據庫的設計和開發(fā)及包括藝術有包括工程。理解用戶的需求,
13、然后,把它們轉變?yōu)橛行У臄祿煸O計是一個藝術過程。把設計轉變?yōu)閷嶋H的數據庫,并且這些數據庫帶有功能完備、高效能的應用,是一個工程過程。 數據庫的目的是幫助人們跟蹤事務。經典的數據庫應用涉及諸如訂單、顧客、工作、員工、學生、 之類的項,或其它數據量較大、需要密起關注的事務。最近,由于數據庫的普及,數據庫技術已經被應用到了新的領域,諸如用于Internet的數據庫或用于公司內聯(lián)網的數據庫。數據庫也被越來越多地應用于生成和維護多媒體應用程序上。 計算機的數據處理應用,首先要把大量的信息以數據形式存放在存儲器中。存儲器的容量、存儲速率直接影響到數據管理技術的開展。從1956年生產出第一臺計算機
14、到現在,存儲器的開展,為數據庫技術提供了良好的物質根底。 使用計算機以后,數據處理的速度和規(guī)模,無論是相對于手工方式,還是機械方式,都有無可比較的優(yōu)勢。通常在數據處理中,計算是比較簡單的而數據的管理卻比較復雜。數據管理是指數據的收集、整理、組織、存儲、維護、檢索、傳送等操作,這局部操作是數據處理業(yè)務的根本環(huán)節(jié),而且是任何數據處理業(yè)務中必不可少的共有局部。數據管理技術的優(yōu)劣,將直接影響數據處理的效率。 ? 數據庫的開展 數據管理技術的開展,與硬件〔主要是外存〕、軟件、計算機應用的范圍有密切的聯(lián)系。數據管理技術的開展經過三個階段:人工管理階段、文件系統(tǒng)階段和數據庫階段。 人工管理階段和文件
15、系統(tǒng)階段都有著相當多的缺陷,諸如數據冗余性 ,數據不一致性以及數據聯(lián)系弱等等。也正是由于這些原因,促使人們研究新的數據管理技術,從而產生了數據庫技術。 20世紀60年代末發(fā)生的三件大事,層次模型IMS系統(tǒng)的推出、關于網狀模型DBTG報告的發(fā)表以及關于關系模型論文的連續(xù)發(fā)表標志著數據管理技術進入數據庫階段。進入70年代以后,數據庫技術得到迅速開展,開發(fā)了許多有效的產品并投入運行。數據庫系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對數據更高級更有效的管理。 當進入數據庫階段后,隨著數據管理規(guī)模一再擴大,數據量急劇增加,為了提高效率,開始時,人們只是對文件系統(tǒng)加以擴充,在應用文件中建立了許多輔助索引,形成倒
16、排文件系統(tǒng)。但這并不能最終解決問題。在20世紀60年代末,磁盤技術取得重要進展,具有數百兆容量和快速存取的磁盤陸續(xù)進入市場,本錢也不高,為數據庫技術的產生提供了良好的物質條件。 ? 數據庫階段的特點 〔1〕減少數據的重復〔Redundancy can be reduced〕 當在一個非數據庫系統(tǒng)當中,每一個應用程序都有屬于他們自己的文件,由于無法有系統(tǒng)建立的數據,因此常常會造成存儲數據的重復與浪費。例如:在一家公司當中,人事管理程序與工資管理程序或許都會使用到職員與部門的信息或文件,而我們可以運用數據庫的方法,把這兩個文件整理起來,以減少多余的數據,過度地占用存儲空間。 〔2〕防止數據
17、的不一致〔Inconsistency can avoid〕 本項的特色,可以說是延伸前項的一個特點,要說明這樣的一個現象,我們可以從下面這個實例來看:假設是在同一家公司當中,職員甲在籌劃部門工作,且職員甲的記錄同時被存放在數據庫的兩個地方,而數據庫管理系統(tǒng)卻沒有對這樣重要的情況加以控制,當其中一條數據庫被修改時,便會造成數據的不一致,但是,對于一個健全的數據庫管理系統(tǒng)而言,將會對這樣的情況加以控制,但有時并不需要刻意消除這種情形,應當視該數據庫的需求與效率來決定。 〔3〕數據共享〔Data shared〕 對于數據共享的意義,并不是只有針對數據庫設計的應用程序,可以使用數據庫中的數據,對
18、于其他撰寫好的應用程序,同樣可以對相同數據庫當中的數據進行處理,進而到達數據共享的目的。 〔4〕強化數據的標準化〔Standard can be enforced〕 由數據庫管理系統(tǒng),對數據做出統(tǒng)籌性的管理,對于數據的格式與一些存儲上的標準進行控制,如此一來,對于不同的環(huán)境的數據交換〔Data Interchange〕上將有很大的幫助,也能提高數據處理的效率。 〔5〕實踐平安性的管理〔Security restriction can be applied〕 通過對數據庫完整的權限控制,數據庫管理者可以確認所有可供用戶存取數據的合法途徑渠道,并且可以事先對一些較重要或關鍵性的數據進行平安
19、檢查,以確保數據存取時,能夠將任何不當損毀的情形降至最低。 〔6〕完整性的維護〔Integrity can be maintained〕 所謂完整性的問題,就是要確認某條數據在數據庫當中,是正確無誤的。正如〔2〕所述,假設是無法控制數據的不一致性,便會產生完整性缺乏的問題,所以,我們會發(fā)現,當數據重復性高的時候,數據不完整的情形也會增加,當然,假設是數據庫的功能完整,將會大大地提高數據完整性,也會增加數據庫的維護能力與維護簡便性。 〔7〕需求沖突會獲得平衡〔Conflicting requirements can be balance〕 在一個較大型的企業(yè)當中,用戶不同的需求,往往會造
20、成系統(tǒng)或數據庫在設計上的困擾,但是一個適宜的數據庫系統(tǒng),可以通過數據庫管理員的管理,將會有效地整理各方面的信息,對于一些較重要的應用程序,可以適時地提供較快速的數據存取方法與格式,以平衡多個用戶在需求上的沖突。 2.2? 數據庫理論根底 ? 數據庫模型 從20世紀50年代中期開始,計算機的應用由科學研究部門逐步擴展到企業(yè)、行政部門。至60年代,數據處理成為計算機的主要應用。數據庫技術作為數據管理技術,是計算機軟件領域的一個重要分支,產生于60年代末。現已形成相當規(guī)模的理論體系和實用技術。 模型是對現實世界的抽象。在數據庫技術中,我們用模型的概念描述數據庫的結構與語義,對現實世界進行抽象
21、,表示實體類型及實體間聯(lián)系的模型稱為“數據模型〞 。 目前廣泛作用的數據模型可分為兩種類型。 一種是獨立于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關心的信息結構,這類模型稱為“概念數據模型〞 。要領模型用于建立信息世界的數據模型,強調其語義表達功能,應該概念簡單、清晰,易于用戶理解,它是現實世界的第一層抽象,是用戶和數據庫設計人員之間進行交流的工具。這一其中著名的模型是“實體聯(lián)系模型〞 。 另一種數據模型是直接面向數據庫的邏輯結構,它是現實世界的第二層抽象。 這類模型涉及到計算機系統(tǒng)和數據庫管理系統(tǒng),又稱為“結構數據模型〞 。例如,層次、網狀、關系、面向
22、對象等模型。這類模型有嚴格的形式化定義,以便于在計算機系統(tǒng)中實現。 層次模型。用樹型結構表示實體類型及實體間聯(lián)系的數據模型。樹的結點是記錄類型,每個非根結點有且只有一個父結點。上一層記錄類型和下一層記錄類型間聯(lián)系是1∶N聯(lián)系。 層次模型的特點是記錄之間的聯(lián)系通過指針實現,查詢效率較高。但層次模型有兩個缺點:一是只能表示1∶N聯(lián)系,雖然有多種輔助手段實現了M∶N聯(lián)系,但都較復雜,用戶不易掌握,二是由于樹型結構層次順序的嚴格和復雜,引起數據的查詢和更新操作也很復雜,因此,編寫應用程序也很復雜。 網狀模型。用有向圖結構表示實體類型及實體間聯(lián)系的數據模型。1969年DBTG報告提出的數據模型是網
23、狀模型的主要代表。有向圖中的結點是記錄類型,有向邊表示從箭尾一端的記錄類型到箭頭一端的記錄類型間聯(lián)系是1∶N聯(lián)系。 網狀模型的特點:記錄之間聯(lián)系通過指針實現,M∶N聯(lián)系也容易實現〔每個M∶N聯(lián)系可拆成兩個1∶N聯(lián)系〕,查詢效率較高。網狀模型的缺點是編寫應用程序比較復雜,程序員必須熟悉數據庫的邏輯結構。由于層次系統(tǒng)和網狀系統(tǒng)的應用程序編制比較復雜,因此,從20世紀80年代中期起,其市場已被關系系統(tǒng)所取代。但是使用這兩種模型建立起的許多數據庫仍然在正常運轉,只是在外層加了個關系數據庫語言的接口。網狀模型有許多成功的產品,20世紀70年代的產品大局部網狀系統(tǒng),例如,Honeywell公司的IDS/
24、Ⅱ、HP公司的IMAGE/3000、Burroughs公司的DMSⅡ、Umivac公司的DMS1100、Cullinet公司的IDMS、Cimcom公司的TOTAL等 關系模型。關系模型的主要是用二維表格結構表達實體集,用外鍵表示實體間聯(lián)系。關系模型是由假設干個關系模式組成的集合。關系模式相當于前面提到的記錄類型,它的實例稱為關系,每個關系實際上是一張二維表格。 關系模型和層次、網狀模型的最大判別是用關鍵碼而不是用指針導航數據,表格簡單用戶易懂,編程時并不涉及存儲結構,訪問技術等細節(jié)。關系模型是數學化模型。SQL語言是關系數據庫的標準化語言,已得到了廣泛的應用。20世紀70年代對關系數據庫
25、的研究主要集中在理論和實驗系統(tǒng)的開發(fā)方面。80年代初才形成產品,但很快得到廣泛的應用和普及,并最終取代了層次、網狀數據庫產品?,F在市場上典型的關系DBMS產品有DB2、ORACLE、SYBASE、INFORMIX和微機型產品Foxpro、Access等。 關系模型和網狀、層次模型的最大區(qū)別是:關系模型用表格數據而不是通過指針鏈來表示和實現實體間聯(lián)系。關系模型的數據結構簡單、易懂。只需用簡單的查詢語句就可對數據庫進行操作。 關系模型是數學化的模型,可把表格看成一個集合,因此集合論、數理邏輯等知識可引入到關系模型中來。關系模型已是一個成熟的有前途的模型,已得到廣泛應用。 面向對象模型。目前,
26、關系數據庫的使用已相當普遍,但是,現實世界中仍然存在著許多含有復雜數據結構的應用領域,例如,CAD數據、圖形數據等,而關系模型在這方面的處理能力就顯得力不從心。因此,人們需要更高級的數據庫技術來表達這類信息。面向對象的概念最早出現在程序設計語言中,隨后迅速滲透到計算機領域的每一個分支。面向對象數據庫是面向對象概念與數據庫技術相結合的產物。 面向對象模型能完整地描述現實世界的數據結構,具有豐富的表達能力,但模型相對較復雜,涉及的知識面也廣,因此面向對象數據庫尚未到達關系數據庫那樣的普及程度。 ? 數據庫體系結構 數據庫的體系結構分三級:內部級〔internal〕,概念級〔conceptua
27、l〕和外部級〔external〕。這個三級結構有時也稱為“三級模式結構〞,或“數據抽象的三個級別〞,最早是在1971年通過的DBTG報告中提出,后來收入在1975年的美國ANSI/SPARC報告中。雖然現在DBMS的產品多種多樣,在不同的操作系統(tǒng)支持下工作,但是大多數系統(tǒng)在總的體系結構上都具有三級模式的結構特征。 從某個角度看到的數據特性稱為“數據視圖〞〔data view〕。 外部級最接近用戶,是單個用戶所能看到的數據特性。單個用戶使用的數據視圖的描述稱為“外模式〞。 概念級涉及到所有用戶的數據定義,是全局的數據視圖。全局數據視圖的描述稱為“概念模式〞。 內部級最接近于物理存儲設備,
28、涉及到實際數據存儲的結構。物理存儲數據視圖的描述稱為“內模式〞。 數據庫的三級模式結構是數據的三個抽象級別。它把數據的具體組織留給DBMS去做,用戶只要抽象地處理數據,而不必關心數據在計算機中的表示和存儲,這樣就減輕了用戶使用系統(tǒng)的負擔。 三級結構之間往往差異很大,為了實現這三個抽象級別的聯(lián)系和轉換,DBMS在三級結構之間提供兩個層次的映象〔mappings〕:外模式/模式映象,模式/內模式映象。此處模式是概念模式的簡稱。 ? 數據的獨立性 由于數據庫系統(tǒng)采用三級模式結構,因此系統(tǒng)具有數據獨立性的特點。在數據庫技術中,數據獨立性是指應用程序和數據之間相互獨立,不受影響。數據獨立性分成物
29、理數據獨立性和邏輯數據獨立性兩級。 物理數據獨立性 如果數據庫的內模式要進行修改,即數據庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相當的修改,使概念模式盡可能保持不變。也就是對內模式的修改盡量不影響概念模式,當然,對于外模式和應用程序的影響更小,這樣,我們稱數據庫到達了物理數據獨立性。 邏輯數據獨立性 如果數據庫的概念模式要進行修改,譬如增加記錄類型或增加數據項,那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應用程序,這樣,我們稱數據庫到達了邏輯數據獨立性。 現有關系系統(tǒng)產品均提供了較高的物理獨立性,而對邏輯
30、獨立性的支持尚有欠缺,例如,對外模式的數據更新受到限制等。 ? 范式 建立起一個良好的數據指標體系,是建立數據結構和數據庫的最重要的一環(huán)。一個良好的數據指標體系是建立DB的必要條件,但不是充分條件。我們完全可以認為所建指標體系中的一個指標類就是關系數據庫中的一個根本表,而這個指標類下面的一個個具體指標就是這個根本表中的一個字段。但如果直接按照這種方式建庫顯然還不能算最正確。對于指標體系中數據的結構在建庫前還必須進行標準化的重新組織。 在數據的標準化表達中,一般將一組相互關聯(lián)的數據稱為一個關系(relation),而在這個關系下的每個數據指標項那么被稱為數據元素(data element)
31、,這種關系落實到具體數據庫上就是根本表,而數據元素就是根本表中的一個字段(field)。標準化表達還規(guī)定在每一個根本表中必須定義一個數據元素為關鍵字(key),它可以唯一地標識出該表中其它相關的數據元素。在標準化理論中表是二維的,它有如下四個性質: 在表中的任意一列上,數據項應屬于同一個屬性(如圖中每一列都存放著不同合同記錄的同一屬性數據)。 表中所有行都是不相同的,不允許有重復組項出現(如圖中每一行都是一個不同的合同記錄)。 在表中,行的順序無關緊要(如圖中每行存的都是合同記錄,至于先放哪一個合同都沒關系)。 在表中,列的順序無關緊要,但不能重復(如圖中合同號和合同名誰先誰后都沒關系
32、,但二者不可重復或同名)。 在對表的形式進行了標準化定義后,數據結構還有五種標準化定義,定名為標準化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容〞的,即滿足第五范式的數據結構自動滿足一、二、三、四范式,滿足第四范式的數據結構自動滿足第一、二、三范式,……,依此類推。 第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復項出現,如果有那么應將重復項去掉。這個去掉重復項的過程就稱之為標準化處理。在本文所討論的開發(fā)方法里,1st NF實際上是沒有什么意義的。因為我們按標準化建立的指標體系和表的過程都自動保證了
33、所有表都滿足1st NF。 第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數據元素為主關鍵字(primary key),其它數據元素與主關鍵字一一對應。例如,在圖l9.7中如果我們將合同號定義為主關鍵字(其它數據元素中的記錄數據都有可能重名,故不能作為主關鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關系為函數依賴(functional depEndence)關系。即表中其它數據元素都依賴于主關鍵字,或稱該數據元素唯一地被主關鍵字所標識。 第三范式(third normal
34、 form,簡稱 3rd NF)就是指表中的所有數據元素不但要能夠唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數關系。也就是說對于一個滿足了 2nd NF的數據結構來說,表中有可能存在某些數據元素依賴于其它非關鍵宇數據元素的現象,必須加以消除。 為防止數據庫出現更新異常、插入異常、刪除異常、數據冗余太大等現象,關系型數據庫要盡量按關系標準化要求進行數據庫設計。 2.3? SQL語言根底 用戶對數據庫的使用,是通過數據庫管理系統(tǒng)提供的語言來實現的。不同的數據庫管理系統(tǒng)提供不同的數據庫語言。關系數據庫管理系統(tǒng)幾乎都提供關系數據庫標準語言——SQL。 ? SQL簡介
35、SQL 的全稱是Structured Query Language,即結構化查詢語言。SQL語句可以從關系數據庫中獲得數據,也可以建立數據庫、增加數據、修改數據。1986年ANSI采用SQL語言作為關系數據庫系統(tǒng)的標準語言,后被國際化標準組織〔ISO〕采納為國際標準。SQL語言使用方便、功能豐富、簡潔易學,是操作數據庫的工業(yè)標準語言,得到廣泛地應用。例如關系數據庫產品DB2、ORACLE等都實現了SQL語言。同時,其它數據庫產品廠家也紛紛推出各自的支持SQL的軟件或者與SQL的接口軟件。這樣SQL語言很快被整個計算機界認可。 SQL語言是一種非過程化語言,它一次處理一個記錄集合,對數據提供自
36、動導航。SQL語言允許用戶在高層的數據結構上工作,而不對單個記錄進行操作。SQL語言不要求用戶指定數據的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對指定數據存取的最快速手段。當設計者在關系表上定義了索引時,系統(tǒng)會自動利用索引進行快速檢索,用戶不需知道表上是否有索引或者有什么類型的索引等細節(jié)。 SQL語言可以完成許多功能,例如: 查詢數據 在數據庫表格中插入、修改和刪除記錄 建立、修改和刪除數據對象 控制對數據和數據對象的存取 確保數據庫的一致性和完整性等 ? SQL查詢 數據查詢是關系運算理論在SQL語言中的主要表達,SELECT 語句是SQL查詢的根本語句,當我們在對一個數據庫
37、進各種各樣的操作時,使用的最多的就是數據查詢,在以SQL為根底的關系數據庫中,使用的最多的就是SELECT查詢語句。 SELECT語句的完整句法如下: SELECT 目標表的列名或列表達式序列 FROM?? 根本表和〔或〕視圖序列 [WHERE 行條件表達式] [GROUP BY 列名序列] [HAVING 組條件表達式] [ORDER BY列名 [ASC│DEAC]…] 我在SELECT語句中還使用了大量的保存字和通配符以進行各種各樣的條件查詢。在系統(tǒng)中有大量的查詢按鈕,其使用了大量的查詢語句,而且這些查詢語句大局部使用的是模糊查詢,所以大量的使用了模式匹配符LIKE(判斷值
38、是否與指定的字符通配格式相符)。在包含LIKE的查詢語句中可以使用兩個通配符:%〔百分號〕:與零個或多個字符組成的字符串匹配;_〔下劃線〕:與單個字符匹配。系統(tǒng)中的條件判斷往往包含多個條件,這時就需要使用邏輯運算符NOT、AND、OR(用于多條件的邏輯連接),謂詞ALL以及保存字DISTINCT等等。做為SELECT語句還有很多的使用方法,這里就不再表達。 ? SQL數據更新 使用數據庫的目的是為了有效地管理數據,而數據的插入、刪除和修改那么是必不可少的一個功能。在本系統(tǒng)中就大量地使用了數據插入、刪除和修改這三種操作,現做一個簡單地介紹。 數據插入 往數據庫的根本表中插入數據使用的是I
39、NSERT語句,其方式有兩種:一種是元組值的插入,另一種是查詢結果的插入。在本系統(tǒng)中使用的是前一種方式,其句法如下: INSERT INTO 根本表名〔列表名〕VALUES〔元組值〕 數據刪除 往數據庫的根本表中刪除數據使用的是DELETE語句,其句法如下: DELETE FROM 根本表名 [WHERE 條件表達式] 在些作一點說明,刪除語句實際上是“SELECT * FROM 根本表名 [WHERE 條件表達式]〞和DELETE操作的結合,每找到一個元組,就把它刪除。此外,DELETE語句只能從一個根本表中刪除元組,WHERE子句中條件可以嵌套,也可以是來自幾個根本表的復合條件。
40、 數據修改 當需要修改根本表中元組的某些列值時,可以用UPDATE語句實現,其句法如下: UPDATE根本表名 SET列名=值表達式[,列名=值表達式…] [WHERE條件表達式] 在Delphi中使用SQL語句是很方便的,一般來說,都是通過TQuery組件來使用SQL語言的。有一點要進行說明,雖然通過TQuery組件來使用SQL語言很方便,但考慮到自己對不同組件的理解程度、個人習慣以及其它各個方面,在本系統(tǒng)中我采用的是ADO組件來對數據庫進行操作。最簡單的方法比方在TADOQuery組件的SQL屬性中就可以鍵入SQL語句,至于詳細的使用方法在后面進行介紹。 2.4? 開發(fā)工具的
41、選擇 Internet技術得到迅速開展,已經成為計算機產業(yè)的一個技術熱點。促進Internet技高速開展的因素之一就是WEB技術。WEB技術由最新的靜態(tài)HTML,開展到動態(tài)的dhtml。CGI〔command gateway interface真正完全動態(tài)〕,腳本語言與ASP〔active sever pages〕后來居上,并且大有取代CGI的趨勢,WEB已經不在局限于僅僅提供大量的信息效勞,WEB技術的開展,使得那些具有交互動態(tài)頁面,有條理的數據庫查詢,豐富信息內容的頁面成為最吸引人的頁面。瀏覽WEB有著執(zhí)行Windows程序一樣的感覺和操作性。隨著Internet技術的開展,它已經成為一
42、種操作平臺,為用戶提供大量的效勞,例如網上購物,電子商務,社會信息數據庫等。 在互聯(lián)網技術開展地初期,網站開發(fā)者利用超文本標記語言〔HTML〕,在網頁中插入圖片,文字等元素,形成最初地網頁。這種開發(fā)方式雖然易學簡單,可操作性強,但是隨著WEB地飛速開展,它的局限也逐漸暴露出來: 互聯(lián)網的應用越來越廣泛,單純的提供信息只是其中的一局部。未來的web將是一套虛擬的信息平臺,其中包括在線購物,遠程教學,遠程醫(yī)療,視頻點播,語音聊天等功能。功能的擴展意味著數據量的增加,如果仍然用靜態(tài)頁面的生成模式,那么會成過多的超文本文件,不僅降低了數據在網絡上的傳輸速度,也給網站維護造成不便。 當前的網頁正正
43、在向兩個方向開展,一個是多媒體,另一個是交互式。交互式的實現意味著網站的個性化,讓用戶將有權決定要查看那些內容。簡而言之,網站必須提供一個用戶的界面,讓用戶對內容進行分類篩選,最后得到用戶真正想要的內容。而這一點,傳統(tǒng)的靜態(tài)網頁模式很難實現。 從網站的平安性角度出發(fā),網站內部必然有一些數據要進行加密,只給指定的用戶查看,沒有權限的用戶將無法訪問。用網頁重的cookie技術可以實現這一功能,但過程較為繁瑣,而且由于腳本在客戶端運行,平安性也較差。 在傳統(tǒng)的靜態(tài)網頁中,數據是分散在一個個獨立的,只有地址連接而沒有數據上的邏輯聯(lián)系的HTML文檔之中,要修改網頁必須逐個修改HTML頁面,工作量大的
44、同時也容易造成數據的混亂,不符合信息集成處理,分布顯示的要求。 我采用ASP來架構網上購物系統(tǒng),編寫ASP應用程序時用來進行數據庫操作的標準語法就是SQL。SQL是一種交互式查詢語言,允許用戶直接查詢存儲數據,利用這一交互特點,用戶可以在很短的時間內答復相當復雜的問題。編寫的程序用的是SQL數據庫。 ASP的優(yōu)勢 Active Server Pages:“動態(tài)效勞器網頁〞,一般簡稱為“ASP〞,ASP之所以能受到大家的重視與使用的原因,主要在于所產生的執(zhí)行結果都是標準的HTML格式,而且這些程序是在網絡效勞端中執(zhí)行,使用一般的瀏覽器〔如IE 或netscape〕都可以正確地獲得ASP的“
45、執(zhí)行〞結果,并且將這ASP執(zhí)行的結果直接在瀏覽器中“瀏覽〞,不像VBScript或 JavaScript是在客戶端〔Client〕的瀏覽器上執(zhí)行,假設使用VBScript來設計程序,客戶端〔Client〕在IE瀏覽器中可以顯示程序執(zhí)行的結果,可是,客戶端〔Client〕假設使用netscape瀏覽器就無法顯示VBScript的執(zhí)行結果。 ASP的特點任何開發(fā)工具皆可開展ASP。只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網頁開展工具,例如,FrontPage Express、 FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,假設是使用那些
46、所見即所得的網頁編輯來寫ASP,可能會發(fā)生一些意想不到的離奇狀態(tài)。 通吃各家瀏覽由于ASP程序是在網絡效勞器端中執(zhí)行,執(zhí)行結果所產生的HTML文件適用于不同的瀏覽器。 語言相容性高。ASP與所有的ActiveX Script語言都相容,除了可結合HTML,VBScript、Java Script、Active X效勞器組件來設計外,并可經由“plug-In〔外掛組件模組〕的方式,使用其他廠商〔Third Party〕所提供的語言。 隱密平安性高。如果我們在瀏覽器中直接查看網頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因杰ASP程序先于網站效勞〔Web Ser
47、ver〕端執(zhí)行后,將結果轉換成標準HTML文件,再傳送到客戶端〔Client〕的瀏覽器上,因此,我們所辛苦撰寫的ASP程序并不會輕易地被看見進而被盜用。 易于操控數據庫。ASP可以輕易地通過BC(Open Database Connectivity)驅動程序連接各種不同的數據庫,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可將“文本文件〞或是〞Excel〞 文件當成數據庫用。 面向對象學習容易。ASP具備有面向對象〔Object-Oriented〕功能,學習容易,ASP提供了五種方便能力強大的內建對象:Request、Response、Sever、Appli
48、cation以及Session,同時,假設使用ASP內建的“Application〞對象或〞Session〞對象所撰寫出來的ASP程序可以在多個網頁之間暫時保存必要的信息。 RequestResponseServerSessionApplicationObjectContext 從客戶端取得信息將信息送給客戶端提供一些Web效勞器工具儲存在一個Session內的用戶信息,該信息僅可被該用戶訪問在一個ASP-Application中讓不同的客戶端共享信息可以用來配合Microsoft Transaction 效勞器進行分布式事務處理所以我選擇了ASP結合SQL架構網上書店系統(tǒng)。 3? 需求分
49、析 網上書店需求,這兩方面分別是圖書購置者、書店管理人員。圖書購置者的需求是查詢圖書館所存的圖書、個人購置情況及個人信息的修改;書店工作人員對圖書借閱者的借閱及還書要求進行操作,同時形成借書或還書報表給借閱者查看確認;圖書館管理人員的功能最為復雜,包括對工作人員、購置者、圖書進行管理和維護,及系統(tǒng)狀態(tài)的查看。powered by 圖書購置者可直接查看圖書情況,如果圖書購置者根據本人用戶名和密碼登錄系統(tǒng),還可以進行本人購書情況的查詢和維護局部個人信息。一般情況下,圖書購置者只應該查詢和維護本人的借書情況和個人信息,假設查詢和維護其他購置者的購書情況和個人信息,就要知道其他購物者的用戶名
50、和密碼。這些是很難得到的,特別是密碼,所以不但滿足了圖書購置者的要求,還保護了圖書購置者的個人隱私。 書店管理人員功能的信息量大,數據平安性和保密性要求最高。本功能實現對圖書信息、購置者信息管理和統(tǒng)計查看及維護。書店管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計圖書的根本信息;瀏覽、查詢、統(tǒng)計、添加、刪除和修改圖書購置的根本信息,瀏覽、查詢、統(tǒng)計書店信息,但不能添加、刪除和修改購置信息,但是,刪除某條圖書購置者根本信息記錄時,應實現對該圖書定單記錄的級聯(lián)刪除。 ? 4? 系統(tǒng)設計 4.1? 概要設計 在軟件需求分析階段,搞清楚了軟件“做什么〞的問題,形成了目標系統(tǒng)的邏輯模型?,F在我
51、們所要做的就是要把軟件“做什么〞的邏輯模型變換為“怎么做〞的物理模型,即著手實現軟件的需求。首先,我們需要描述的是系統(tǒng)的總的體系結構。 ? 系統(tǒng)結構設計 系統(tǒng)的概要設計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統(tǒng)劃分成假設干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。 ?將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內聚低耦
52、合,提高模塊的獨立性,為設計高質量的軟件結構奠定根底。 在系統(tǒng)的概要設計中我采用結構化設計〔Structure Design,簡稱SD〕。我首先將整個系統(tǒng)化分為幾個小問題,小模塊。在系統(tǒng)中,我把系統(tǒng)分為2大塊,用戶的前臺使用和管理員的后臺管理。 ? 概念設計 在設計階段中,我從用戶的角度看待數據及處理要求和約束,產生一個反映用戶觀點的概念模式。然后再把概念模式轉換成邏輯模式。將概念設計從設計過程中獨立開來,使各階段的任務相對單一化,設計復雜程度大大降低,不受特定DBMS的限制。利用ER方法進行數據庫的概念設計,可分成三步進行:首先設計局部ER模式,然后把各局部ER模式綜合成一個全局模式,
53、最后對全局ER模式進行優(yōu)化,得到最終的模式,即概念模式。 設計局部ER模式 實體和屬性的定義: 圖書〔圖書編號,圖書名稱,作者,出版社,出版日期,價格〕 購置者〔姓名,身份證,聯(lián)系 ,密碼〕 圖書類別〔圖書類別編號,類別描述〕 ER模型的“聯(lián)系〞用于刻畫實體之間的關聯(lián)。一種完整的方式是對局部結構中任意兩個實體類型,依據需求分析的結果,考察局部結構中任意兩個實體類型之間是否存在聯(lián)系。假設有聯(lián)系,進一步確定是1:N,M:N,還是1:1等。還要考察一個實體類型內部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,等等。解釋如下: 一個購置者〔用戶〕只能具有一
54、種身份,而一種身份可被多個購置者所具有; 一本圖書只能屬于一種圖書類別〔類別〕,而一種圖書類別可以包含多本圖書;一個用戶可以購置多本不同的書,而一本書也可以被多個不同的用戶所購置。 設計全局ER模式 所有局部ER模式都設計好了后,接下來就是把它們綜合成單一的全局概念結構。全局概念結構不僅要支持所有局部ER模式,而且必須合理地表示一個完整、一致的數據庫概念結構。 確定公共實體類型 為了給多個局部ER模式的合并提供開始合并的根底,首先要確定各局部結構中的公共實體類型。在這一步中我們僅根據實體類型名和鍵來認定公共實體類型。一般把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類型
55、作為公共實體類型的另一類候選。 局部ER模式的合并 合并的原那么是:首先進行兩兩合并;先和合并那些現實世界中有聯(lián)系的局部結構;合并從公共實體類型開始,最后再參加獨立的局部結構。 消除沖突 沖突分為三類:屬性沖突、結構沖突、命名沖突。 設計全局ER模式的目的不在于把假設干局部ER模式形式上合并為一個ER模式,而在于消除沖突,使之成為能夠被所有用戶共同理解和接受的同一的概念模型。 全局ER模式的優(yōu)化 在得到全局ER模式后,為了提高數據庫系統(tǒng)的效率,還應進一步依據處理需求對ER模式進行優(yōu)化。一個好的全局ER模式,除能準確、全面地反映用戶功能需求外,還應滿足以下條件:實體類型的個數要盡可
56、能的少;實體類型所含屬性個數盡可能少;實體類型間聯(lián)系無冗余。 4.2? 詳細設計 ? 關系數據庫的邏輯設計 由于概念設計的結果是ER圖,DBMS一般采用關系型〔本人所使用的MS SQL Server就是關系型的DBMS〕,因此數據庫的邏輯設計過程就是把ER圖轉化為關系模式的過程。由于關系模型所具有的優(yōu)點,邏輯設計可以充分運用關系數據庫標準化理論,使設計過程形式化地進行。設計結果是一組關系模式的定義。 〔1〕????? 導出初始關系模式 product〔圖書編號#,圖書名稱,圖書類別#,作者,出版社,出版日期,備注,價格,數量〕category〔圖書類別#,類別名〕user〔姓名,身份
57、證,聯(lián)系 ,密碼〕 〔2〕????? 產生子模式 子模式是用戶所用到的那局部數據的描述。除了指出用戶用到的數據外,還應指出數據與概念模式中相應數據的聯(lián)系,即指出概念模式與子模式之間的對應性。 在信息世界中,信息從客觀事物出發(fā)流經數據庫,通過決策機構最后又回到客觀世界,信息的這一循環(huán)經歷了三個領域:信息世界,數據世界,現實世界?,F實世界的事物反映到人的頭腦中,人的大腦對它有個認識過程,經過分析〔選擇、命名、分類等〕進入信息世界。這些信息再進一步加工、編碼,然后進數據世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個方面的問題,也就是要考慮系統(tǒng)開發(fā)所需要的數據,以及如何對這些數據進行操作。這兩個問
58、題貫穿了整個軟件系統(tǒng)的開發(fā)過程,這也就是數據庫的設計問題,軟件設計的一個核心。 ? 數據庫設計 我在系統(tǒng)中定義的表格都嚴格地按照范式的思想和要求去完成,數據庫中的所有表格都到達了三范式的要求。針對本系統(tǒng)的特點,在對所搜集的數據進行標準化之后,定義了如下六張表格,分別是管理員信息表,用戶信息表,商品分類信息表,商品信息表,訂單信息表和送貨方式信息表。通過對這六張表格的操作可以較好地完成系統(tǒng)設計的各項功能,六張表格之間有著不同程度的聯(lián)系。 管理員信息表〔admin〕:admin〔管理員名〕,password〔管理員密碼〕。 管理員信息表用來記錄管理人員的登陸名和密碼,通過管理員的身份進入系
59、統(tǒng)后可以對商品進行管理。是區(qū)別于一般用戶登陸的超級用戶,具有最高的權限,包括對商品的添加,刪除,修改等,同時還要處理各種訂單。 用戶信息表〔user〕:username〔用戶名〕,password〔用戶密碼〕,useremail〔用戶電子郵件〕,identify〔身份證號〕,question〔密碼保護提問〕,answer〔答復〕,address〔地址〕,postzode〔 〕。 用戶信息表記錄著用戶的各種信息,包括用戶名、密碼、email、身份證號、地址、 、提問、答復等用戶的根本信息。它為系統(tǒng)提供會員的根本信息,因為購物是和會員的信息聯(lián)系在一起的。作為會員系統(tǒng)應該知道些資料,以便
60、進行查找。 商品分類信息表〔category〕:categoryid〔分類號〕,category〔分類名〕,categoryorder〔分類的順序〕。 商品分類信息表記錄著類名,分類號和分類的順序。商品如果沒有分類的話就會很亂,不便于管理,也可以說是沒法管理。 商品信息表〔product〕:name〔名稱〕,author〔作者〕,mark〔出版社〕,productdate〔出版日期〕,detial〔簡介〕,price1〔原價〕,price2〔優(yōu)惠價〕,solded〔賣過的冊數〕,viewnum〔被瀏覽次數〕,category〔分類名〕,pic〔圖片〕,adddate〔上架日期〕,page
61、num〔頁數〕,format〔開本〕,printed〔印刷次數〕,productnum〔商品號〕。 商品信息表記錄著書名、作者、出版社、出版日期、簡介、原價、優(yōu)惠價、賣過的冊數、被瀏覽次數,分類名,圖片、上架日期、頁數,開本、印刷次數、書號。有了這些信息和上面的分類表,就會和容易的查找各類的圖書以及了解他們的相關信息,用戶就可以通過這些信息購置自己想要的商品。 訂單信息表〔orders〕:username〔用戶名〕,actiondate〔下訂單的日期〕,postcode〔 〕,address〔地址〕,paymethod〔支付方式〕,realname〔真名〕。 訂單信息表記錄著用戶名,
62、下訂單的日期、 、支付方式和真名,通過這些信息系統(tǒng)就會知道收貨人的一些根本信息,在這里可以發(fā)現,會員可以幫別人買東西,或者送東西給朋友。有了上面的信息,當按上面的支付方式成功后商品就會往訂單上的地址發(fā)貨。 送貨方式信息表〔delivery〕:subject〔送貨方式〕,fee〔外加費用〕,deliveryorder〔排列順序〕。 送貨方式信息表記錄著送貨方式,外加費用,排列順序。因為在當今信息化的社會中必然會有多種的支付方式,單一的支付方式是不能滿足今天社會的要求的,只有多元化的開展才能滿足各種不同狀況下的需求。 5? 系統(tǒng)實現 5.1? 系統(tǒng)前臺功能 ? 會員登錄 會員登
63、錄前顯示登錄框,登陸后用戶除了可以進行購物外,還可修改自己的資料,可以進入自己的帳號頁面muser.asp通過選擇進行適當的修改,里面包括對自己的購物車car.asp的查詢,訂單狀況myorder的查詢。難點就是登陸時候的驗證,用戶和密碼是否配套,主要代碼如下:powered by ? 分類瀏覽 按類別檢索,在圖書分類頁面class.asp里可以看到所有圖書的分類,每個大類里面還包括屬于該分類的小類,用戶可以根據自己的需要進行查看,如果有一些類里面沒有圖書系統(tǒng)會提示沒有該分類的圖書,點擊后在sub.asp頁面就會顯示用戶所點擊的類的所有圖書。主要代碼如下: set rs=serve
64、r.CreateObject("adodb.recordset") rs.open "select? pagenum,name,mark,vipprice,discount,score,id,author,productdate,price2,price1,discount,pic from product where sortsid="&sortsid&" order by adddate desc",conn,1,1 if err.number<>0 then ????? call MsgBox("數據庫中無數據","Back","None") ????? response.End
65、 end if if rs.eof And rs.bof then ????? call MsgBox("對不起,目前沒有更新商品!","Back","None") ????? response.End else ????? totalPut=rs.recordcount ? 快速(模糊)搜索 可對需要的查詢的書籍進行模糊搜索,通過對書類的選擇,加上自己所輸入的內容,確定后就會找到相關的書就會在頁面rsearch.asp顯示出來。主要代碼如下: set rs=server.CreateObject("adodb.recordset") dim name name=tri
66、m(request.QueryString("name")) if OrderField="" then OrderField="adddate" if Order="" then Order="DESC" sql="select pagenum,name,mark,vipprice,id,author,productdate,price2,price1,discount,pic from product where 1=1 " if name<>"" then ????? sql=sql&"and name like '%"&name&"%' " end if sql=sql&" order by "&OrderField&" "&Order rs.open sql,conn,1,1 if err.number<>0 then ????? call MsgBox("數據庫中無數據","Back","None") ????? response.End end if if rs.eof An
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。