楊紹榮 張秀輝
摘要:動態(tài)網(wǎng)站開發(fā)主要涉及前端、后端以及數(shù)據(jù)庫等部分,每部分扮演著不同的作用。該文主要從動態(tài)網(wǎng)站簡介、構(gòu)成以及數(shù)據(jù)庫在動態(tài)網(wǎng)站開發(fā)的應(yīng)用等方面論述,其中,數(shù)據(jù)庫在動態(tài)網(wǎng)站應(yīng)用方面,主要體現(xiàn)在數(shù)據(jù)庫設(shè)計保障動態(tài)網(wǎng)站正常運行、為搜索功能提供基礎(chǔ)數(shù)據(jù)支持、產(chǎn)品管理、支持動態(tài)網(wǎng)站數(shù)據(jù)統(tǒng)計以及收集動態(tài)網(wǎng)站信息等方面,通過對數(shù)據(jù)庫在動態(tài)網(wǎng)站應(yīng)用研究,進而讓讀者了解在動態(tài)網(wǎng)站構(gòu)成、了解數(shù)據(jù)庫在數(shù)據(jù)存儲、增、刪、改、查等方面的應(yīng)用。
關(guān)鍵詞:動態(tài)網(wǎng)站;數(shù)據(jù)庫;應(yīng)用
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)02-0099-02
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)站由靜態(tài)網(wǎng)站發(fā)展到動態(tài)網(wǎng)站,互聯(lián)網(wǎng)技術(shù)也從HTML、CSS等客戶端技術(shù),發(fā)展到PHP、JSP等服務(wù)器端的技術(shù),這也為動態(tài)網(wǎng)站技術(shù)的發(fā)展提供技術(shù)支持。除此之外,動態(tài)網(wǎng)站需要用戶和網(wǎng)站交互,并儲存一定的數(shù)據(jù)。這就需要數(shù)據(jù)庫儲存數(shù)據(jù),進而方便進一步的管理。動態(tài)網(wǎng)站開發(fā)過程中,數(shù)據(jù)庫是后臺數(shù)據(jù)儲存媒介。為了讓讀者深入了解動態(tài)網(wǎng)站和數(shù)據(jù)庫關(guān)系,本文先從動態(tài)網(wǎng)站簡介、動態(tài)網(wǎng)站構(gòu)成等基礎(chǔ)層面,讓讀者理解動態(tài)網(wǎng)站和數(shù)據(jù)庫如何發(fā)揮作用的。
1 動態(tài)網(wǎng)站簡介
什么是動態(tài)網(wǎng)站?按照百度百科的定義,動態(tài)網(wǎng)站主要是指采用動態(tài)開發(fā)技術(shù)開發(fā),進而實現(xiàn)用戶和網(wǎng)站之間的動態(tài)交互,進而實現(xiàn)網(wǎng)站收集用戶數(shù)據(jù)。動態(tài)網(wǎng)站并不是指具有動畫功能的網(wǎng)站,而是指網(wǎng)站內(nèi)容可根據(jù)不同情況動態(tài)變更的網(wǎng)站,一般情況下動態(tài)網(wǎng)站通過數(shù)據(jù)庫進行架構(gòu)。 動態(tài)網(wǎng)站除了要設(shè)計網(wǎng)頁外,還要通過數(shù)據(jù)庫和編程序來使網(wǎng)站具有更多自動的和高級的功能。動態(tài)網(wǎng)站體現(xiàn)在網(wǎng)頁一般是以asp,jsp,php,aspx等結(jié)束,而靜態(tài)網(wǎng)頁一般是HTML(標準通用標記語言的子集)結(jié)尾,動態(tài)網(wǎng)站服務(wù)器空間配置要比靜態(tài)的網(wǎng)頁要求高,費用也相應(yīng)的高,不過動態(tài)網(wǎng)頁利于網(wǎng)站內(nèi)容的更新,適合企業(yè)建站。動態(tài)是相對于靜態(tài)網(wǎng)站而言。
2 動態(tài)網(wǎng)站構(gòu)成部分
動態(tài)網(wǎng)站主要由前端、后端以及數(shù)據(jù)庫等部分構(gòu)成。下面,本文詳細敘述
1) 前臺部分
前臺部分主要由HTML、CSS以及JS等語言開發(fā),其中,HTMl主要是負責前段基礎(chǔ)框架的搭建,CSS負責基礎(chǔ)框架樣式的填充,JS負責客戶端用戶與網(wǎng)站之間的交互,例如,用戶點擊刪除按鈕,其中,刪除按鈕是矩形框,并且填充紅色,白色字體,點擊后,會出現(xiàn)彈窗的確認框,讓用戶選擇確定或取消。在整個點擊過程中,一方面運用HTML框架,另一方面顏色、填充運用了CSS樣式,點擊后,出現(xiàn)彈窗則運用了JS技術(shù)。隨著前端技術(shù)的發(fā)展,逐漸出現(xiàn)了前端框架,框架的主要作用封裝類的屬性和方法,提高開發(fā)效率,比較常見的框架有bootstrap、Angular.js、React.js以及Node.js等前端框架。
2) 后臺部分
后臺部分是邏輯處理部分,主要處理來自前臺的請求,最終把處理的結(jié)果返回到前臺。在后臺開發(fā)過程中,常見的開發(fā)語言有PHP、JSP以及ASP等,有效地處理來自前臺的請求,進而滿足用戶的需求。常見的后端框架有SpringMVC以及Dubbo等。不過,處理用戶需求,一般都會牽扯到數(shù)據(jù)庫部分,包括對數(shù)據(jù)庫數(shù)據(jù)增加、刪除、修改以及更改等操。數(shù)據(jù)庫構(gòu)成了后臺基本運行基礎(chǔ),也是數(shù)據(jù)存儲的基本組成部分。
3) 數(shù)據(jù)庫部分
在整個動態(tài)網(wǎng)站開發(fā)過程中,數(shù)據(jù)庫扮演著重要的作用,支持網(wǎng)站的運行。數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今六十多年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應(yīng)用。數(shù)據(jù)庫主要分為關(guān)系性數(shù)據(jù)庫和非關(guān)系性數(shù)據(jù)庫,其中,關(guān)系性數(shù)據(jù)庫為主要研究和應(yīng)用對象。數(shù)據(jù)庫的發(fā)展經(jīng)歷了人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段、高級數(shù)據(jù)庫階段等階段。數(shù)據(jù)庫主要包括ACCESS、SQL Server、 Oracle、MySQL、FoxPro和Sybase等,有效地滿足了數(shù)據(jù)的儲存和管理。
3 動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫應(yīng)用
3.1 數(shù)據(jù)庫設(shè)計保障動態(tài)網(wǎng)站正常運行
在動態(tài)網(wǎng)站開發(fā)中,數(shù)據(jù)庫應(yīng)用主要體現(xiàn)在動態(tài)網(wǎng)站、APP或H5等系統(tǒng)底層數(shù)據(jù)的支持方面。為了讓讀者明白動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫的應(yīng)用,本文以圖書館管理系統(tǒng)為案例,探討動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫應(yīng)用。數(shù)據(jù)庫在動態(tài)網(wǎng)站應(yīng)用主要經(jīng)歷需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的實施以及數(shù)據(jù)庫運行及維護等階段。下面,本文著重從以上階段論述。
1)數(shù)據(jù)庫需求分析
需求分析主要從用戶需求和圖書館系統(tǒng)需求等方面分析,用戶需求分析主要體現(xiàn)在學生通過系統(tǒng)查詢和借閱各類圖書,圖書館管理人員管理圖書分類和學生借書需求。確定好各個角色的需求后,才可以為下一步數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)設(shè)計提供基礎(chǔ)支持。在數(shù)據(jù)庫需求分析設(shè)計過程中,比較常見的需求分析方式是基于角色分析、需求種類分析等方式。
2)概念結(jié)構(gòu)設(shè)計
所謂概念結(jié)構(gòu)設(shè)計就是對信息世界進行建模,常用的概念模型是E-R模型。任務(wù)是在需求分析階段產(chǎn)生的需求說明書的基礎(chǔ)上,按照特定的方法把它們抽象為一個不依賴于任何具體機器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計者的注意力能夠從復雜的實現(xiàn)細節(jié)中解脫出來,而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。圖書館管理系統(tǒng)概念結(jié)構(gòu)為:學生表:姓名、班級、年齡、借書編號、借書數(shù)量等,借書表:借書編號、讀者姓名、書籍名稱、出借日期、還書日期以及書籍編號等,圖書信息表:書籍編號、書名、類別、作者等。確定了各實體屬性外,需要進一步確定各個實體之間的關(guān)系。
3)邏輯結(jié)構(gòu)設(shè)計
確定好概念結(jié)構(gòu)設(shè)計后,需要進一步確定圖書館數(shù)據(jù)庫邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計是將概念模型轉(zhuǎn)換成邏輯模型的過程,也就是將E-R圖中的實體、關(guān)系、屬性轉(zhuǎn)化為DBMS所支持的數(shù)據(jù)結(jié)構(gòu)的過程。過程主要包括:從E-R圖向關(guān)系模式轉(zhuǎn)化、數(shù)據(jù)模型的優(yōu)化 以及關(guān)系視圖設(shè)計等三部分。
4)物理結(jié)構(gòu)設(shè)計
物理結(jié)構(gòu)主要體現(xiàn)在數(shù)據(jù)庫一些操作方面,主要體現(xiàn)在創(chuàng)建數(shù)據(jù)庫、表等方面。
5)數(shù)據(jù)庫實施
數(shù)據(jù)庫實施主要體現(xiàn)在鏈接數(shù)據(jù)庫以及對數(shù)據(jù)庫操作表的過程,是數(shù)據(jù)庫創(chuàng)建、查詢,確定表之間的關(guān)系重要途徑,也是動態(tài)網(wǎng)站最終順利運行的基礎(chǔ)和保障。
6)數(shù)據(jù)庫運行與維護
數(shù)據(jù)庫運行和維護是對于動態(tài)網(wǎng)站的正常處理用戶需求具有重要的作用。用戶請求具有集中性,這就需要保證數(shù)據(jù)庫具有處理并行數(shù)據(jù)集的能力。所謂的數(shù)據(jù)庫維護主要從數(shù)據(jù)性能、數(shù)據(jù)備份系統(tǒng)數(shù)據(jù)、恢復數(shù)據(jù)庫系統(tǒng)、產(chǎn)生用戶信息表,并為信息表授權(quán)、監(jiān)視系統(tǒng)運行狀況,及時處理系統(tǒng)錯誤、保證系統(tǒng)數(shù)據(jù)安全,周期更改用戶口令。以上都是數(shù)據(jù)庫運行和維護比較常見的措施。數(shù)據(jù)庫維護對于提高數(shù)據(jù)庫性能以及數(shù)據(jù)庫處理能力具有重要作用。
3.2 為搜索功能提供基礎(chǔ)數(shù)據(jù)支持
搜索功能是動態(tài)網(wǎng)站一個重要功能,尤其在一些商品較多的網(wǎng)站,可有效提高用戶查找東西的效率。然而,查找的數(shù)據(jù)存在數(shù)據(jù)庫內(nèi),這就需要數(shù)據(jù)庫提供基礎(chǔ)支持。在整個搜索過程中,用戶輸入相關(guān)關(guān)鍵詞,后端接收來自用戶輸入的關(guān)鍵詞,將關(guān)鍵詞與數(shù)據(jù)庫建立關(guān)聯(lián),根據(jù)相似度等算法,將關(guān)鍵詞與數(shù)據(jù)庫內(nèi)相關(guān)數(shù)據(jù)進行匹配,在匹配過程中,會將搜索來的結(jié)果進行相關(guān)結(jié)果排序,將與用戶相關(guān)性高的結(jié)果排在前面。所以說,這就需要數(shù)據(jù)庫合理的設(shè)計,在設(shè)計數(shù)據(jù)庫過程中,需要將相關(guān)數(shù)據(jù)字段設(shè)計,索引設(shè)計有一個較好的設(shè)計。
3.3 產(chǎn)品管理
產(chǎn)品管理是網(wǎng)站數(shù)據(jù)庫的重要應(yīng)用,如果你的網(wǎng)站有大量的產(chǎn)品需要展示和買賣,那么通過網(wǎng)絡(luò)數(shù)據(jù)庫可以方便地進行分類,使產(chǎn)品更有條理、更清晰地展示給客戶。這其中重要的是合理地將產(chǎn)品信息電子化歸類,從而方便日后的維護、檢索與儲存。對于加入數(shù)據(jù)庫的網(wǎng)站而言,往往在后臺有一個維護系統(tǒng),目的是將技術(shù)化的網(wǎng)站維護工作簡單化,比如網(wǎng)站中往往會出現(xiàn)產(chǎn)品信息、價格的變更等,或者產(chǎn)品或服務(wù)種類的增減,我們完全可以通過后臺管理界面從容完成,我們看到的不是復雜的網(wǎng)頁制作,而是一系列表格,只要熟悉基本的辦公軟件如Word等,經(jīng)過簡單的培訓即可立即開展工作,而且人工費用不高。更重要的是通過程序與數(shù)據(jù)庫的結(jié)合,我們可以統(tǒng)計出一些相當重要的信息,根據(jù)這些信息,企業(yè)可以迅速作出相應(yīng)的舉措。數(shù)據(jù)庫為企業(yè)基礎(chǔ)產(chǎn)品管理提供了基本操作,有效地滿足企業(yè)對網(wǎng)站產(chǎn)品的基本管理。
3.4 支持動態(tài)網(wǎng)站數(shù)據(jù)統(tǒng)計
數(shù)據(jù)庫里存儲了用戶相關(guān)的數(shù)據(jù),包括注冊、購買或點擊等數(shù)據(jù),將這些數(shù)據(jù)分類,主要分為用戶數(shù)據(jù)(城市分布、新增用戶、活躍用戶、版本分布等數(shù)據(jù))、渠道數(shù)據(jù)(渠道來源等數(shù)據(jù))等數(shù)據(jù)。為了更好地組織數(shù)據(jù),數(shù)據(jù)庫設(shè)計數(shù)據(jù)存儲方式以及存儲模式,提高了數(shù)據(jù)庫數(shù)據(jù)存儲效率。正因為數(shù)據(jù)庫存儲相關(guān)數(shù)據(jù),為數(shù)據(jù)分析提供了基礎(chǔ),極大地提供數(shù)據(jù)分析的效率。
3.5 收集動態(tài)網(wǎng)站信息
網(wǎng)站分為靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站,靜態(tài)網(wǎng)站主要起到信息展示的作用,用戶無法和網(wǎng)站交互,而動態(tài)網(wǎng)站主要作用在于搭建用戶和網(wǎng)站的交互,讓用戶不僅僅可以瀏覽網(wǎng)站,還可以參與一些轉(zhuǎn)發(fā)、點贊以及評論等交互行為。這樣自然就會收集用戶交互行為的數(shù)據(jù),對進一步營銷提供分析前提。在收集動態(tài)網(wǎng)站信息時,主要收集用戶靜態(tài)和動態(tài)信息,靜態(tài)信息主要用戶名、性別、賬號、密碼等信息,動態(tài)信息主要包括用戶點擊、評論、瀏覽、注冊等信息。網(wǎng)站收集到靜態(tài)和動態(tài)信息后,并將這些信息以數(shù)據(jù)表的形式的保存在數(shù)據(jù)庫中。
以上是數(shù)據(jù)庫在動態(tài)網(wǎng)站常見的應(yīng)用事例。數(shù)據(jù)庫是動態(tài)網(wǎng)站運行的基層支持,有效地將用戶靜態(tài)屬性和動態(tài)行為保存,并且實現(xiàn)數(shù)據(jù)增、刪、改、查等功能,極大地提高了數(shù)據(jù)管理的效率。這也是數(shù)據(jù)分析管理系統(tǒng)、客戶關(guān)系管理系統(tǒng)、OA系統(tǒng)等提供了基礎(chǔ)數(shù)據(jù)支撐,對動態(tài)網(wǎng)站的內(nèi)容和生態(tài)建設(shè)具有重要的作用。
4 總結(jié)
本文以基于動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫應(yīng)用為研究對象,主要從動態(tài)網(wǎng)站簡介、動態(tài)網(wǎng)站構(gòu)成以及動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫應(yīng)用等方面闡述了在動態(tài)網(wǎng)站開發(fā)中數(shù)據(jù)庫的應(yīng)用。其中,在論述數(shù)據(jù)庫應(yīng)用時,主要從數(shù)據(jù)庫設(shè)計保障動態(tài)網(wǎng)站正常運行、為搜索功能提供基礎(chǔ)數(shù)據(jù)支持、產(chǎn)品管理、支持動態(tài)網(wǎng)站數(shù)據(jù)統(tǒng)計以及收集動態(tài)網(wǎng)站信息等方面等方面開展。數(shù)據(jù)庫是動態(tài)網(wǎng)站開發(fā)的底層支持,儲存用戶數(shù)據(jù)以及網(wǎng)站日志數(shù)據(jù),方便網(wǎng)站進一步統(tǒng)計,進行數(shù)據(jù)分析,進而指導網(wǎng)站下一步改進。此外,隨著數(shù)據(jù)庫技術(shù)發(fā)展,基于HIVE等技術(shù)成熟,數(shù)據(jù)庫發(fā)揮的作用不再是僅僅儲存、增、刪、改、查等基本操作,數(shù)據(jù)庫索引、過程等作用越來越重要,提升數(shù)據(jù)庫處理請求的效率。
參考文獻:
[1] 袁健美. 基于JSP的B/S動態(tài)網(wǎng)站開發(fā)及數(shù)據(jù)庫連接[J]. 計算機技術(shù)與發(fā)展,2007(6):29-31+35.
[2] 于勇進. 基于ASP技術(shù)的畢業(yè)生就業(yè)信息網(wǎng)站的構(gòu)建與實現(xiàn)[D].長春:吉林大學,2004.
[3] 韓思平. 基于數(shù)據(jù)庫的企業(yè)動態(tài)網(wǎng)站建設(shè)[D].成都:電子科技大學,2005.
[4] 劉勇. 插件式Web網(wǎng)站快速開發(fā)工具的研究與實現(xiàn)[D].保定:河北農(nóng)業(yè)大學,2008.
[5] 胡文杰. 基于IBatis的企業(yè)動態(tài)網(wǎng)站的設(shè)計與實現(xiàn)[D]. 西安:西安電子科技大學,2014.
[6] 安昳,宋之輝. 數(shù)據(jù)庫與動態(tài)網(wǎng)站開發(fā)初探[J]. 西藏大學學報:漢文版,2006(3):114-116+126.