時學東
摘 要 隨著時代的發(fā)展,信息化時代已經(jīng)逐漸的到來,計算機技術逐漸的成為了人們的生活發(fā)展中不可或缺的一部分,而數(shù)據(jù)庫技術是計算機領域中很重要的一種技術,在實際中得到了廣泛的應用,同時在系統(tǒng)設計中占據(jù)著重要的地位。數(shù)據(jù)庫的設計的好壞不但能夠反映出程序員的水準,而且能夠直接的影響系統(tǒng)的運行性能,因此應該對其進行重視。本文主要在這樣的背景下,對于數(shù)據(jù)庫的設計在實際的應用中對于系統(tǒng)的設計的重要性進行了分析,希望能夠引起人們重視。
關鍵詞 數(shù)據(jù)庫設計 系統(tǒng)設計 數(shù)據(jù)庫設計習慣 重要性
1數(shù)據(jù)庫簡介
目前來看,數(shù)據(jù)庫的技術已經(jīng)逐漸的成熟了,在系統(tǒng)設計中得到了廣泛的應用,但是隨著社會的不斷發(fā)展,信息資源數(shù)據(jù)成幾何量的級數(shù)不斷地增加,目前來看數(shù)據(jù)庫難以保存如此巨大的數(shù)據(jù)量,數(shù)據(jù)庫需要得到進一步的發(fā)展。而所謂數(shù)據(jù)庫,通常意義上來講就是存儲數(shù)據(jù)的一個倉庫,是根據(jù)數(shù)據(jù)結(jié)構(gòu)來對數(shù)據(jù)進行存儲以及管理的,而隨著數(shù)據(jù)庫的技術的不斷發(fā)展,數(shù)據(jù)庫已經(jīng)逐漸的不單單做這樣的工作,除此之外還能夠進行各種人們需要的數(shù)據(jù)管理。數(shù)據(jù)庫不但能夠保存我們想要的數(shù)據(jù),還能夠與相關的數(shù)據(jù)關聯(lián)到一起,程序的開發(fā)人員根據(jù)用戶的實際需求來對數(shù)據(jù)庫進行設計,在其運行的過程中維護其運行并對其安全進行保護,從而保證整個系統(tǒng)的正常工作。
目前來看,關系數(shù)據(jù)庫是當前的數(shù)據(jù)庫的一個主要的類型,在很多系統(tǒng)的數(shù)據(jù)庫設計中都是應用的關系數(shù)據(jù)庫。數(shù)據(jù)庫的設計的最關鍵的問題就是對用戶進行最詳細的分析,然后在此基礎上設計出一個完整的、能夠便于進行維護的系統(tǒng)。雖然在實際的應用過程中用戶的需求會發(fā)生一定的變化,但是只要數(shù)據(jù)庫的設計足夠好,那么是能夠保證系統(tǒng)的正常工作的。同時,為了便于對數(shù)據(jù)庫進行維護,程序員需要將更多的數(shù)據(jù)寫到其中,而不是只是將這些信息放到設計的界面上。
2數(shù)據(jù)庫設計重要性
2.1數(shù)據(jù)量增加提升需求
數(shù)據(jù)庫的設計是近幾年來才出現(xiàn)的一種技術領域,在很早的時候數(shù)據(jù)庫是通過黑盒的形式出現(xiàn)的,是屬于某一個系統(tǒng)的一個附屬的部分,而開發(fā)人員對其并沒有過多的重視。隨著時代的發(fā)展,互聯(lián)網(wǎng)技術得到了進一步的發(fā)展,系統(tǒng)的數(shù)據(jù)量也隨之呈現(xiàn)幾何技術的增加,數(shù)據(jù)量的增加使得其對于數(shù)據(jù)存儲有著更多的要求,而同時信息的查詢速度以及其容災量也引起了人們的重視,在這樣的背景下人們越來越重視數(shù)據(jù)庫的性能,并且對于系統(tǒng)設計階段中的數(shù)據(jù)庫的設計也提出了更高的要求,數(shù)據(jù)庫的功能也逐漸的從數(shù)據(jù)存儲的工具轉(zhuǎn)變成了一種數(shù)據(jù)的處理器。因此,目前來看系統(tǒng)的設計中對于數(shù)據(jù)庫的設計是十分重要的一個內(nèi)容,往往要將對于數(shù)據(jù)庫的設計單獨拿出來進行設計,而一個數(shù)據(jù)庫的性能的好壞在系統(tǒng)設計的階段就已經(jīng)決定了,它也能夠直接的影響到系統(tǒng)的性能。
2.2設計要求
在對數(shù)據(jù)庫進行設計的時候,首先應該考慮的就是人們的實際需求問題,因為數(shù)據(jù)庫主要是為了應用服務的,一個好的數(shù)據(jù)庫的設計應該既能夠滿足系統(tǒng)的業(yè)務需求又能夠準備的將數(shù)據(jù)之間的關系表現(xiàn)出來。設計者需要通過使用主外鍵、非空、唯一性索引等限制來限制數(shù)據(jù)項的內(nèi)容,從而保證數(shù)據(jù)的健壯性。同時,數(shù)據(jù)庫的設計應該保證能夠使其中的數(shù)據(jù)有著較高的查詢效率,因此應該對表的結(jié)構(gòu)進行合理的設計,可以通過安排物理存儲分區(qū)的方式,或者通過增加索引的方式來盡可能的提高數(shù)據(jù)的讀取速度,從而保證數(shù)據(jù)有著較高的查詢效率。并且設計的數(shù)據(jù)庫應該有著較好的擴展性,這樣在需求進行變化的時候就能夠保證數(shù)據(jù)結(jié)構(gòu)有著更進一步的擴展。
3目前存在的問題
3.1與需求不符
目前來看,對于數(shù)據(jù)庫的設計中還存在著一些問題。數(shù)據(jù)庫能夠直接的反映出實際的需求,因此在設計數(shù)據(jù)庫之前必須要對用戶的需求進行深入的分析,在設計的過程中與用戶以及使用的單位進行一些溝通,在了解了實際的需求的基礎上進行數(shù)據(jù)庫的設計。而目前來看,有一些數(shù)據(jù)庫的設計并沒有了解用戶的實際需求,因此在設計的時候經(jīng)常造成數(shù)據(jù)庫在設計上存在很多不實用的地方。這樣,在系統(tǒng)設計完以后,和用戶的需求不符將使得整個系統(tǒng)難以得到實際的交付于使用,浪費了不必要的人力與財力,同時還耽誤了實際的設計。
3.2字段設計不合理
在設計的實際過程中,設計中應該對字段進行合理的設計。但是目前來看很多數(shù)據(jù)庫的設計缺少必要的字段,這使得數(shù)據(jù)庫內(nèi)部難以隨著數(shù)據(jù)的變化而產(chǎn)生動態(tài)額變化,難以對數(shù)據(jù)進行實時的跟蹤,這樣就對用戶的操作進行了限制,并且也難以進行實際的數(shù)據(jù)分析。同時,在設計的時候還存在將字段的長度設計的不合理的情況,字段的過長或者過短,字段的類型的不符合或者類型的表示不明確等現(xiàn)象,這樣字段能夠發(fā)揮或者進行擴展的空間就大大的減小了。在需要對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢的過程中,字段設計的不合理很容易造成SOL查詢語句過于復雜的情況,這樣查詢將很難進行下去。
3.3數(shù)據(jù)完整性喪失
通常情況下,數(shù)據(jù)的完整性的喪失指的是其中存儲的大量的數(shù)據(jù)之間,數(shù)據(jù)表之間有著過多的關聯(lián),其中包含主外鍵的關系的數(shù)據(jù)表之間存在著關聯(lián)的字段的設計不合理的問題,或者是多個數(shù)據(jù)表之間存在的關聯(lián)度過高,這樣在對數(shù)據(jù)庫進行修改的時候,如果想要刪除內(nèi)部的某些數(shù)據(jù)或者對數(shù)據(jù)進行更新,則很容易造成程序出現(xiàn)錯誤。
3.4設計人員不重視
除了這種原因,對于數(shù)據(jù)庫的設計中還有很多的問題是除了技術性問題之外,由于設計人員沒有對齊進行足夠的重視造成的。因此提高設計人員的素質(zhì),提高其對于數(shù)據(jù)庫設計的正確認識有著至關重要的作用。設計人員應該對于系統(tǒng)設計中的各個環(huán)節(jié)都有著一定的認識,這樣才能夠在設計的時候保證設計的各個環(huán)節(jié)之間環(huán)環(huán)相扣,更好的進行設計。例如對于汽車制造環(huán)節(jié)的設計,應該包括對于圖紙的設計、模型的制作、樣車的設計等,然后在此基礎上進行汽車的批量性生產(chǎn),制造的環(huán)節(jié)都是息息相關的,每一個環(huán)節(jié)都是在前一個環(huán)節(jié)的基礎上進行的,如果前面的某一個環(huán)節(jié)的設計出現(xiàn)了問題,那么整個項目都會出現(xiàn)問題。而數(shù)據(jù)庫的設計在整個系統(tǒng)的設計中就處于這樣一個前端的地位,其設計的好壞對于整個系統(tǒng)的性能有著直接的影響,因此應該對其進行足夠的重視。
4設計習慣養(yǎng)成
要想將數(shù)據(jù)庫設計好從而保證系統(tǒng)的正常運行,應該將上面的問題進行解決,保證設計人員有著較好的設計習慣。因此首先應該轉(zhuǎn)變設計人員的觀念。目前很多的計算機專業(yè)的學生以及老師在實際的設計過程中沒有踏實肯干的精神,缺少務實的作風,并且很多設計者其實并沒有實際的設計經(jīng)驗,因此在設計的過程中很容易出現(xiàn)問題,有一些老師由于設計經(jīng)驗的缺乏也難以給學生一定的指導,這樣就加大了設計困難程度。而且,學生缺乏學習的動力,在學習之前學生就對學習的課程進行了分類,功利心太強導致難以真正的投入學生,這對于數(shù)據(jù)庫的設計人員來說是很不利的,基礎知識的缺乏很容易造成一些不必要的問題。因此應該對于這些設計人員從學生時代就開始進行教育,使其轉(zhuǎn)變思想,能夠養(yǎng)成良好的設計習慣。并且,有一些設計人員設計的數(shù)據(jù)庫乍一看沒有問題但是在實際運行的時候存在著各種各樣的問題,這主要是由于設計人員缺乏設計經(jīng)驗,沒有對于大型系統(tǒng)的開發(fā)經(jīng)歷,因此設計的數(shù)據(jù)庫難以滿足實際的需求。因此應該加強對于設計人員的動手能力的培養(yǎng),使其多參與一些系統(tǒng)設計,一直停留在模擬系統(tǒng)的設計階段是難以真正的認識到數(shù)據(jù)庫的設計的重要意義以及學習到真正的知識的。
5數(shù)據(jù)庫設計
5.1命名原則
程序員在對數(shù)據(jù)庫進行設計的過程中,需要考慮到很多方面的因素,要具備整體性的意識,從用戶的實際需求出來進行數(shù)據(jù)庫的設計,這樣不但能夠避免數(shù)據(jù)庫的資源的浪費,而且還能夠節(jié)省很多人力以及物力。所以,數(shù)據(jù)庫的水應該在一個相對穩(wěn)定的范圍內(nèi)進行,致力于設計出一個最佳的數(shù)據(jù)存儲系統(tǒng),在了解用戶的需求的基礎上針對用戶的實際需求設計出最佳的設計方案,將用戶的需求存儲在數(shù)據(jù)庫中去,并對數(shù)據(jù)進行處理。在數(shù)據(jù)庫設計之前要對設計的整個系統(tǒng)有一個深入的了解,這樣才能夠設計出合適的滿足需求的數(shù)據(jù)庫。數(shù)據(jù)庫中存儲著很多數(shù)據(jù)表,這些數(shù)據(jù)表是數(shù)據(jù)庫中各種數(shù)據(jù)的對象,每一個表可以有很多行以及很多列,其中行數(shù)據(jù)是唯一的,而列表示的則是表中記錄的某個數(shù)據(jù)域,因此對于表的命名應該注意,應該保證表的命名一目了然,這樣在使用數(shù)據(jù)庫的時候能夠更方便對數(shù)據(jù)庫進行維護,對于數(shù)據(jù)庫的用戶的權限分配,即只能允許具有訪問控制權限的用戶對數(shù)據(jù)進行訪問也會變得更加容易。
5.2數(shù)據(jù)表字段
在對數(shù)據(jù)表進行命名以后,就需要進行對數(shù)據(jù)表中字段的設計,應該考慮到字段的類型和長度。通常情況下,數(shù)據(jù)表的字段應該按照用戶的需求來使用字段最小的數(shù)據(jù)類型來進行設計,例如在性別只有男和女的時候,應該將其設計成int類型的字段,其中可以使用0盒1分別代表男女這兩種性別,這樣就能夠達到盡量的節(jié)省系統(tǒng)的空間的目的。雖然目前來看,市場上面的硬盤的價格逐漸的降低,其容量也逐漸的增大,但是如果對于數(shù)據(jù)庫的設計不夠合理的話,在數(shù)據(jù)量逐漸增加的情況下,其占用的內(nèi)存也會逐漸的增加,從而數(shù)據(jù)庫的整體效率會因此而降低,這樣用戶在對數(shù)據(jù)進行瀏覽的時候會大大的延長其應該有的時間。
5.3數(shù)據(jù)表設計
在用戶的需求不同的情況下,數(shù)據(jù)庫的設計也應該是完全不同的,也就是說數(shù)據(jù)庫的設計應該是根據(jù)用戶的實際需求而做出一定的改變的。因此,在對數(shù)據(jù)庫進行設計的過程中,首先應該對用戶的實際需求進行分析,然后以此為基礎進行數(shù)據(jù)庫的設計,設計的數(shù)據(jù)庫應該滿足系統(tǒng)的性能并且具有擴展性的特點,在對數(shù)據(jù)表進行創(chuàng)建的過程中,應該盡量的把數(shù)據(jù)存儲在數(shù)據(jù)庫的不同的表中,并且同時建立相應的數(shù)據(jù)字典,這樣就能夠保證用戶查找數(shù)據(jù)的便捷性。
6結(jié)論
數(shù)據(jù)庫的設計對于系統(tǒng)的設計有著至關重要的作用,整個數(shù)據(jù)庫設計的好壞會直接的影響到系統(tǒng)的性能。本文首先介紹了數(shù)據(jù)庫的基本概念,然后在此基礎上介紹了數(shù)據(jù)庫設計的重要性,并且對于目前存在的問題進行了分析,最后給出了設計需要注意的問題。
參考文獻
[1] 那勇,淺談數(shù)據(jù)庫設計在網(wǎng)站開發(fā)中的應用[J].吉林廣播電視大學學報,2015,(03):93-94.
[2] 潘博.計算機軟件數(shù)據(jù)庫設計的重要性以及原則研究[J].計算機光盤軟件與應用,2013,(08):291-292.
[3] 傘穎,高輝.淺談數(shù)據(jù)庫設計在系統(tǒng)設計中的重要性[J].中國校外教育,2013,(24):168.
[4] 鄒瓊.淺談數(shù)據(jù)庫設計中范式的應用[J].湖北經(jīng)濟學院學報(人文社會科學版),2011,(11):170-171.
[5] 高月秋,淺談數(shù)據(jù)庫信息管理系統(tǒng)的邏輯架構(gòu)與功能設計[J].中小企業(yè)管理與科技(上旬刊),2010,(05):244-245.
[6] 常玉慧,淺談數(shù)據(jù)庫主鍵設計的原則[J].電腦知識與技術,2009,(36):10176-10177.