1. 數據獲取(更新)有哪些方法資料庫技術
資料庫技術是信息系統的一個核心技術。是一種計算機輔助管理數據的方法,它研究如何組織和存儲數據,如何高效地獲取和處理數據。是通過研究資料庫的結構、存儲、設計、管理以及應用的基本理論和實現方法,並利用這些理論來實現對資料庫中的數據進行處理、分析和理解的技術。即:資料庫技術是研究、管理和應用資料庫的一門軟體科學。 資料庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。資料庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題,在資料庫系統中減少數據存儲冗餘、實現數據共享、保障數據安全以及高效地檢索數據和處理數據。 資料庫技術研究和管理的對象是數據,所以資料庫技術所涉及的具體內容主要包括:通過對數據的統一組織和管理,按照指定的結構建立相應的資料庫和數據倉庫;利用資料庫管理系統和數據挖掘系統設計出能夠實現對資料庫中的數據進行添加、修改、刪除、處理、分析、理解、報表和列印等多種功能的數據管理和數據挖掘應用系統;並利用應用管理系統最終實現對數據的處理、分析和理解。
2. 簡述什麼是資料庫系統,及資料庫系統的組成
資料庫系統是為適應數據處理的需要而發展起來的一種較為理想的數據處理系統,也是一個為實際可運行的存儲、維護和應用系統提供數據的軟體系統,是存儲介質 、處理對象和管理系統的集合體。
資料庫系統一般由4個部分組成:資料庫,由資料庫管理系統統一管理,數據的插入、修改和檢索均要通過資料庫管理系統進行;硬體,構成計算機系統的各種物理設備;軟體,包括操作系統、資料庫管理系統及應用程序;數據管理員,負責創建、監控和維護整個資料庫,使數據能被有效使用。
(2)資料庫系統的研究方法擴展閱讀:
對資料庫系統的基本要求:
1、能夠保證數據的獨立性。數據和程序相互獨立有利於加快軟體開發速度,節省開發費用。
2、能夠確保系統運行可靠,出現故障時能迅速排除;能夠保護數據不受非受權者訪問或破壞;能夠防止錯誤數據的產生,一旦產生也能及時發現。
3、有重新組織數據的能力,能改變數據的存儲結構或數據存儲位置,以適應用戶操作特性的變化,改善由於頻繁插入、刪除操作造成的數據組織零亂和時空性能變壞的狀況。
4、能夠充分描述數據間的內在聯系。
3. 淺談對資料庫系統的認識!
資料庫系統DBS(Data Base System,簡稱DBS)是一個實際可運行的存儲、維護和應用系統提供數據的軟體系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟體、資料庫和數據管理員組成。其軟體主要包括操作系統、各種宿主語言、實用程序以及資料庫管理系統。資料庫由資料庫管理系統統一管理,數據的插入、修改和檢索均要通過資料庫管理系統進行。數據管理員負責創建、監控和維護整個資料庫,使數據能被任何有權使用的人有效使用。資料庫管理員一般是由業務水平較高、資歷較深的人員擔任。
資料庫系統的個體含義是指一個具體的資料庫管理系統軟體和用它建立起來的資料庫;它的學科含義是指研究、開發、建立、維護和應用資料庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,資料庫系統是軟體研究領域的一個重要分支,常稱為資料庫領域。
資料庫系統是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。計算機的高速處理能力和大容量存儲器提供了實現數據管理自動化的條件。
資料庫系統一般由4個部分組成:
①資料庫,即存儲在磁帶、磁碟、光碟或其他外存介質上、按一定結構組織在一起的相關數據的集合。
②資料庫管理系統(DBMS)。它是一組能完成描述、管理、維護資料庫的程序系統。它按照一種公用的和可控制的方法完成插入新數據、修改和檢索原有數據的操作。
③資料庫管理員(DBA)。
④用戶和應用程序。
對資料庫系統的基本要求是:
①能夠保證數據的獨立性。數據和程序相互獨立有利於加快軟體開發速度,節省開發費用。
②冗餘數據少,數據共享程度高。
③系統的用戶介面簡單,用戶容易掌握,使用方便。
④能夠確保系統運行可靠,出現故障時能迅速排除;能夠保護數據不受非受權者訪問或破壞;能夠防止錯誤數據的產生,一旦產生也能及時發現。
⑤有重新組織數據的能力,能改變數據的存儲結構或數據存儲位置,以適應用戶操作特性的變化,改善由於頻繁插入、刪除操作造成的數據組織零亂和時空性能變壞的狀況。
⑥具有可修改性和可擴充性。
⑦能夠充分描述數據間的內在聯系。
資料庫研究跨越於計算機應用、系統軟體和理論三個領域,其中應用促進新系統的研製開發,新系統帶來新的理論研究,而理論研究又對前兩個領域起著指導作用。資料庫系統的出現是計算機應用的一個里程牌,它使得計算機應用從以科學計算為主轉向以數據處理為主,並從而使計算機得以在各行各業乃至家庭普遍使用。在它之前的文件系統雖然也能處理持久數據,但是文件系統不提供對任意部分數據的快速訪問,而這對數據量不斷增大的應用來說是至關重要的。為了實現對任意部分數據的快速訪問,就要研究許多優化技術。這些優化技術往往很復雜,是普通用戶難以實現的,所以就由系統軟體(資料庫管理系統)來完成,而提供給用戶的是簡單易用的資料庫語言。由於對資料庫的操作都由資料庫管理系統完成,所以資料庫就可以獨立於具體的應用程序而存在,從而資料庫又可以為多個用戶所共享。因此,數據的獨立性和共享性是資料庫系統的重要特徵。數據共享節省了大量人力物力,為資料庫系統的廣泛應用奠定了基礎。資料庫系統的出現使得普通用戶能夠方便地將日常數據存入計算機並在需要的時候快速訪問它們,從而使計算機走出科研機構進入各行各業、進人家庭。
4. 資料庫性能優化有哪些措施
1、調整數據結構的設計。這一部分在開發信息系統之前完成,程序員需要考慮是否使用ORACLE資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。
2、調整應用程序結構設計。這一部分也是在開發信息系統之前完成,程序員在這一步需要考慮應用程序使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的應用程序體系結構要求的資料庫資源是不同的。
3、調整資料庫SQL語句。應用程序的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的性能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。
4、調整伺服器內存分配。內存分配是在信息系統運行過程中優化配置的,資料庫管理員可以根據資料庫運行狀況調整資料庫系統全局區(SGA區)的數據緩沖區、日誌緩沖區和共享池的大小;還可以調整程序全局區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用操作系統使用的內存而引起虛擬內存的頁面交換,這樣反而會降低系統。
5、調整硬碟I/O,這一步是在信息系統開發之前完成的。資料庫管理員可以將組成同一個表空間的數據文件放在不同的硬碟上,做到硬碟之間I/O負載均衡。
6、調整操作系統參數,例如:運行在UNIX操作系統上的ORACLE資料庫,可以調整UNIX數據緩沖池的大小,每個進程所能使用的內存大小等參數。
資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科學研究和決策管理的重要技術手段。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
(4)資料庫系統的研究方法擴展閱讀
資料庫,簡單來說是本身可視為電子化的文件櫃--存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
資料庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗餘度的特點、是與應用程序彼此獨立的數據集合。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的"倉庫",並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
5. 簡述資料庫應用系統的設計步驟
資料庫設計的基本步驟:
1、系統需求分析與設計。
2、概念結構分析與設計。
3、邏輯結構分析與設計。
4、物理結構分析與設計。
5、系統實施。
6、系統維護。
(5)資料庫系統的研究方法擴展閱讀:
資料庫設計技巧:
1、原始文件與實體的關系
它可以是一對一,一對多,多對多的關系。一般來說,它們是一對一的關系:一個原始文檔只對應於一個實體。在特殊情況下,它們可以是一對多或多對一關系,即一個原始文檔對應於多個實體,或者多個原始文檔對應於一個實體。
這里的實體可以理解為基本表。在對應關系明確後,對輸入介面的設計非常有利。
2、主鍵和外鍵
一般來說,實體不能既沒有主鍵也沒有外鍵。在E-R圖中,葉中的實體可以定義主鍵或不定義主鍵(因為它沒有子代),但它必須有外鍵(因為它有父項)。
主鍵和外鍵的設計在全局資料庫的設計中起著重要的作用。當全球資料庫的設計完成後,一位美國資料庫設計專家說:「鑰匙無處不在,只有鑰匙。」。這是他資料庫設計的經驗,也體現了他對信息系統核心(數據模型)高度抽象的理念。
因為:主鍵是一個高度抽象的實體。主鍵和外鍵的配對表示實體之間的連接。
3、基本表的屬性
基本表不同於中間表和臨時表,因為它具有以下四個特點:
原子性。基本表中的欄位不可分解。
原始主義。基本表中的記錄是原始數據(基本數據)的記錄。
演繹的。所有輸出數據都可以從基本表和代碼表中的數據導出。
穩定。基本表的結構比較穩定,表中的記錄要長期保存。
在了解基本表的性質之後,在設計資料庫時,可以將基本表與中間表和臨時表區分開來。
6. 資料庫系統包括什麼
資料庫系統DBS(Data Base System,簡稱DBS)通常由軟體、資料庫和數據管理員組成。其軟體主要包括操作系統、各種宿主語言、實用程序以及資料庫管理系統。資料庫由資料庫管理系統統一管理,數據的插入、修改和檢索均要通過資料庫管理系統進行。數據管理員負責創建、監控和維護整個資料庫,使數據能被任何有權使用的人有效使用。資料庫管理員一般是由業務水平較高、資歷較深的人員擔任。
資料庫系統的個體含義是指一個具體的資料庫管理系統軟體和用它建立起來的資料庫;它的學科含義是指研究、開發、建立、維護和應用資料庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,資料庫系統是軟體研究領域的一個重要分支,常稱為資料庫領域。
資料庫系統是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。計算機的高速處理能力和大容量存儲器提供了實現數據管理自動化的條件。
資料庫研究跨越於計算機應用、系統軟體和理論三個領域,其中應用促進新系統的研製開發,新系統帶來新的理論研究,而理論研究又對前兩個領域起著指導作用。資料庫系統的出現是計算機應用的一個里程牌,它使得計算機應用從以科學計算為主轉向以數據處理為主,並從而使計算機得以在各行各業乃至家庭普遍使用。在它之前的文件系統雖然也能處理持久數據,但是文件系統不提供對任意部分數據的快速訪問,而這對數據量不斷增大的應用來說是至關重要的。為了實現對任意部分數據的快速訪問,就要研究許多優化技術。這些優化技術往往很復雜,是普通用戶難以實現的,所以就由系統軟體(資料庫管理系統)來完成,而提供給用戶的是簡單易用的資料庫語言。由於對資料庫的操作都由資料庫管理系統完成,所以資料庫就可以獨立於具體的應用程序而存在,從而資料庫又可以為多個用戶所共享。因此,數據的獨立性和共享性是資料庫系統的重要特徵。數據共享節省了大量人力物力,為資料庫系統的廣泛應用奠定了基礎。資料庫系統的出現使得普通用戶能夠方便地將日常數據存入計算機並在需要的時候快速訪問它們,從而使計算機走出科研機構進入各行各業、進入家庭。
資料庫系統有大小之分,大型資料庫系統有SQL Server、Oracle、DB2等,中小型資料庫系統有Foxpro、Access。
7. 資料庫結構的優化設計與研究論文
資料庫結構的優化方面的論文,鍵盤論文網很多的哦,之前我也是找他們幫忙的,寫作老師指導的很專業,呵呵
還有些資料,你看下
1)以往和現有的資料庫加密方法基本上都是面向數據值的。如:基於文件的資料庫加密方法、基於記錄的資料庫加密方法、基於欄位的資料庫加密方法、以及面向數值加密的各種改進和提高性能的加密方法等。
2)本文提出了一種結構化加密的概念、理論、方法與體系結構,這是不同於普通數據加密而是專門面向資料庫結構化特點的全新理念。 首先,對傳統的資料庫數據加密進行了分析研究,對其進行歸類和介紹,指出了數據加密應用於資料庫數據的不足和局限性,分析了結構加密的意義。 其次,根據資料庫系統中數據是結構化的這一特徵,提出了結構加密的思想。
3)將經典資料庫理論中的函數依賴定義進行廣義延伸,提出了語義依賴的概念,並據此給出了關系模式內屬性不相容、資料庫模式內關系模式不相容、記錄順序不相容等結構加密所需的基本定義,在此基礎上,提出了應用於結構加密的關系模式分解、合成基本原則。
4)用實例說明了結構加密的過程和結構加密定義的作用及涵義,對資料庫結構加密方法的安全性和效率進行了評估。 再次,介紹了結構加密演算法的數學模型和原理,面向資料庫結構加密的數學建模和結構加密的具體方法和過程,給出結構加密的體系結構,結構加密需要解決的問題和對應策略及方法。
5)最後,用實驗對結構加密方法進行了驗證,通過全面的實驗數據來對資料庫結構加密和傳統資料庫數值加密從安全性和效率上進行全面比對分析,最終設計出結構加密原型系統。
還可以吧,主要是通過加密的方式改進資料庫結構,如果還有不清楚的,可以參考下鍵盤論文哦
8. 為系統擴展資料庫採用什麼設計方法
資料庫設計(Database Design)是指對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。
在資料庫領域內,常常把使用資料庫的各類系統統稱為資料庫應用系統。
一、資料庫和信息系統
(1)資料庫是信息系統的核心和基礎,把信息系統中大量的數據按一定的模型組織起來,提供存儲、維護、檢索數據的
功能,使信息系統可以方便、及時、准確地從資料庫中獲得所需的信息。
(2)資料庫是信息系統的各個部分能否緊密地結合在一起以及如何結合的關鍵所在。
(3)資料庫設計是信息系統開發和建設的重要組成部分。
(4)資料庫設計人員應該具備的技術和知識:
資料庫的基本知識和資料庫設計技術
計算機科學的基礎知識和程序設計的方法和技巧
軟體工程的原理和方法
應用領域的知識
二、資料庫設計的特點
資料庫建設是硬體、軟體和干件的結合
三分技術,七分管理,十二分基礎數據
技術與管理的界面稱之為「干件」
資料庫設計應該與應用系統設計相結合
結構(數據)設計:設計資料庫框架或資料庫結構
行為(處理)設計:設計應用程序、事務處理等
結構和行為分離的設計
傳統的軟體工程忽視對應用中數據語義的分析和抽象,只要有可能就盡量推遲數據結構設計的決策早期的資料庫設計致力於數據模型和建模方法研究,忽視了對行為的設計
如圖:
三、資料庫設計方法簡述
手工試湊法
設計質量與設計人員的經驗和水平有直接關系
缺乏科學理論和工程方法的支持,工程的質量難以保證
資料庫運行一段時間後常常又不同程度地發現各種問題,增加了維護代價
規范設計法
手工設計方
基本思想
過程迭代和逐步求精
規范設計法(續)
典型方法:
(1)新奧爾良(New Orleans)方法:將資料庫設計分為四個階段
S.B.Yao方法:將資料庫設計分為五個步驟
I.R.Palmer方法:把資料庫設計當成一步接一步的過程
(2)計算機輔助設計
ORACLE Designer 2000
SYBASE PowerDesigner
四、資料庫設計的基本步驟
資料庫設計的過程(六個階段)
1.需求分析階段
准確了解與分析用戶需求(包括數據與處理)
是整個設計過程的基礎,是最困難、最耗費時間的一步
2.概念結構設計階段
是整個資料庫設計的關鍵
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型
3.邏輯結構設計階段
將概念結構轉換為某個DBMS所支持的數據模型
對其進行優化
4.資料庫物理設計階段
為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)
5.資料庫實施階段
運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果
建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行
6.資料庫運行和維護階段
資料庫應用系統經過試運行後即可投入正式運行。
在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改
設計特點:
在設計過程中把資料庫的設計和對資料庫中數據處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計
設計過程各個階段的設計描述:
如圖:
五、資料庫各級模式的形成過程
1.需求分析階段:綜合各個用戶的應用需求
2.概念設計階段:形成獨立於機器特點,獨立於各個DBMS產品的概念模式(E-R圖)
3.邏輯設計階段:首先將E-R圖轉換成具體的資料庫產品支持的數據模型,如關系模型,形成資料庫邏輯模式;然後根據用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數據的外模式
4.物理設計階段:根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成資料庫內模式
六、資料庫設計技巧
1. 設計資料庫之前(需求分析階段)
1) 理解客戶需求,詢問用戶如何看待未來需求變化。讓客戶解釋其需求,而且隨著開發的繼續,還要經常詢問客戶保證其需求仍然在開發的目的之中。
2) 了解企業業務可以在以後的開發階段節約大量的時間。
3) 重視輸入輸出。
在定義資料庫表和欄位需求(輸入)時,首先應檢查現有的或者已經設計出的報表、查詢和視圖(輸出)以決定為了支持這些輸出哪些是必要的表和欄位。
舉例:假如客戶需要一個報表按照郵政編碼排序、分段和求和,你要保證其中包括了單獨的郵政編碼欄位而不要把郵政編碼糅進地址欄位里。
4) 創建數據字典和ER 圖表
ER 圖表和數據字典可以讓任何了解資料庫的人都明確如何從資料庫中獲得數據。ER圖對表明表之間關系很有用,而數據字典則說明了每個欄位的用途以及任何可能存在的別名。對SQL 表達式的文檔化來說這是完全必要的。
5) 定義標準的對象命名規范
資料庫各種對象的命名必須規范。
2. 表和欄位的設計(資料庫邏輯設計)
表設計原則
1) 標准化和規范化
數據的標准化有助於消除資料庫中的數據冗餘。標准化有好幾種形式,但Third Normal Form(3NF)通常被認為在性能、擴展性和數據完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:「One Fact in One Place」即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。
舉例:某個存放客戶及其有關定單的3NF 資料庫就可能有兩個表:Customer 和Order。Order 表不包含定單關聯客戶的任何信息,但表內會存放一個鍵值,該鍵指向Customer 表裡包含該客戶信息的那一行。
事實上,為了效率的緣故,對表不進行標准化有時也是必要的。
2) 數據驅動
採用數據驅動而非硬編碼的方式,許多策略變更和維護都會方便得多,大大增強系統的靈活性和擴展性。
舉例,假如用戶界面要訪問外部數據源(文件、XML 文檔、其他資料庫等),不妨把相應的連接和路徑信息存儲在用戶界面支持表裡。還有,如果用戶界面執行工作流之類的任務(發送郵件、列印信箋、修改記錄狀態等),那麼產生工作流的數據也可以存放在資料庫里。角色許可權管理也可以通過數據驅動來完成。事實上,如果過程是數據驅動的,你就可以把相當大的責任推給用戶,由用戶來維護自己的工作流過程。
3) 考慮各種變化
在設計資料庫的時候考慮到哪些數據欄位將來可能會發生變更。
舉例,姓氏就是如此(注意是西方人的姓氏,比如女性結婚後從夫姓等)。所以,在建立系統存儲客戶信息時,在單獨的一個數據表裡存儲姓氏欄位,而且還附加起始日和終止日等欄位,這樣就可以跟蹤這一數據條目的變化。
欄位設計原則
4) 每個表中都應該添加的3 個有用的欄位
dRecordCreationDate,在VB 下默認是Now(),而在SQL Server • 下默認為GETDATE()
sRecordCreator,在SQL Server 下默認為NOT NULL DEFAULT • USER
nRecordVersion,記錄的版本標記;有助於准確說明記錄中出現null 數據或者丟失數據的原因 •
5) 對地址和電話採用多個欄位
描述街道地址就短短一行記錄是不夠的。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的靈活性。還有,電話號碼和郵件地址最好擁有自己的數據表,其間具有自身的類型和標記類別。
6) 使用角色實體定義屬於某類別的列
在需要對屬於特定類別或者具有特定角色的事物做定義時,可以用角色實體來創建特定的時間關聯關系,從而可以實現自我文檔化。
舉例:用PERSON 實體和PERSON_TYPE 實體來描述人員。比方說,當John Smith, Engineer 提升為John Smith, Director 乃至最後爬到John Smith, CIO 的高位,而所有你要做的不過是改變兩個表PERSON 和PERSON_TYPE 之間關系的鍵值,同時增加一個日期/時間欄位來知道變化是何時發生的。這樣,你的PERSON_TYPE 表就包含了所有PERSON 的可能類型,比如Associate、Engineer、Director、CIO 或者CEO 等。還有個替代辦法就是改變PERSON 記錄來反映新頭銜的變化,不過這樣一來在時間上無法跟蹤個人所處位置的具體時間。
7) 選擇數字類型和文本類型盡量充足
在SQL 中使用smallint 和tinyint 類型要特別小心。比如,假如想看看月銷售總額,總額欄位類型是smallint,那麼,如果總額超過了$32,767 就不能進行計算操作了。
而ID 類型的文本欄位,比如客戶ID 或定單號等等都應該設置得比一般想像更大。假設客戶ID 為10 位數長。那你應該把資料庫表欄位的長度設為12 或者13 個字元長。但這額外占據的空間卻無需將來重構整個資料庫就可以實現資料庫規模的增長了。
8) 增加刪除標記欄位
在表中包含一個「刪除標記」欄位,這樣就可以把行標記為刪除。在關系資料庫里不要單獨刪除某一行;最好採用清除數據程序而且要仔細維護索引整體性。
3. 選擇鍵和索引(資料庫邏輯設計)
鍵選擇原則:
1) 鍵設計4 原則
為關聯欄位創建外鍵。 •
所有的鍵都必須唯一。 •
避免使用復合鍵。 •
外鍵總是關聯唯一的鍵欄位。 •
2) 使用系統生成的主鍵
設計資料庫的時候採用系統生成的鍵作為主鍵,那麼實際控制了資料庫的索引完整性。這樣,資料庫和非人工機制就有效地控制了對存儲數據中每一行的訪問。採用系統生成鍵作為主鍵還有一個優點:當擁有一致的鍵結構時,找到邏輯缺陷很容易。
3) 不要用用戶的鍵(不讓主鍵具有可更新性)
在確定採用什麼欄位作為表的鍵的時候,可一定要小心用戶將要編輯的欄位。通常的情況下不要選擇用戶可編輯的欄位作為鍵。
4) 可選鍵有時可做主鍵
把可選鍵進一步用做主鍵,可以擁有建立強大索引的能力。
索引使用原則:
索引是從資料庫中獲取數據的最高效方式之一。95%的資料庫性能問題都可以採用索引技術得到解決。
1) 邏輯主鍵使用唯一的成組索引,對系統鍵(作為存儲過程)採用唯一的非成組索引,對任何外鍵列採用非成組索引。考慮資料庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用作讀寫。
2) 大多數資料庫都索引自動創建的主鍵欄位,但是可別忘了索引外鍵,它們也是經常使用的鍵,比如運行查詢顯示主表和所有關聯表的某條記錄就用得上。
3) 不要索引memo/note 欄位,不要索引大型欄位(有很多字元),這樣作會讓索引佔用太多的存儲空間。
4) 不要索引常用的小型表
不要為小型數據表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了。對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間。
4. 數據完整性設計(資料庫邏輯設計)
1) 完整性實現機制:
實體完整性:主鍵
參照完整性:
父表中刪除數據:級聯刪除;受限刪除;置空值
父表中插入數據:受限插入;遞歸插入
父表中更新數據:級聯更新;受限更新;置空值
DBMS對參照完整性可以有兩種方法實現:外鍵實現機制(約束規則)和觸發器實現機制
用戶定義完整性:
NOT NULL;CHECK;觸發器
2) 用約束而非商務規則強制數據完整性
採用資料庫系統實現數據的完整性。這不但包括通過標准化實現的完整性而且還包括數據的功能性。在寫數據的時候還可以增加觸發器來保證數據的正確性。不要依賴於商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加於其他完整性規則之上。
3) 強制指示完整性
在有害數據進入資料庫之前將其剔除。激活資料庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。
4) 使用查找控制數據完整性
控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等。
5) 採用視圖
為了在資料庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等於在處理資料庫變更時給你提供了更多的自由。
5. 其他設計技巧
1) 避免使用觸發器
觸發器的功能通常可以用其他方式實現。在調試程序時觸發器可能成為干擾。假如你確實需要採用觸發器,你最好集中對它文檔化。
2) 使用常用英語(或者其他任何語言)而不要使用編碼
在創建下拉菜單、列表、報表時最好按照英語名排序。假如需要編碼,可以在編碼旁附上用戶知道的英語。
3) 保存常用信息
讓一個表專門存放一般資料庫信息非常有用。在這個表裡存放資料庫當前版本、最近檢查/修復(對Access)、關聯設計文檔的名稱、客戶等信息。這樣可以實現一種簡單機制跟蹤資料庫,當客戶抱怨他們的資料庫沒有達到希望的要求而與你聯系時,這樣做對非客戶機/伺服器環境特別有用。
4) 包含版本機制
在資料庫中引入版本控制機制來確定使用中的資料庫的版本。時間一長,用戶的需求總是會改變的。最終可能會要求修改資料庫結構。把版本信息直接存放到資料庫中更為方便。
5) 編制文檔
對所有的快捷方式、命名規范、限制和函數都要編制文檔。
採用給表、列、觸發器等加註釋的資料庫工具。對開發、支持和跟蹤修改非常有用。
對資料庫文檔化,或者在資料庫自身的內部或者單獨建立文檔。這樣,當過了一年多時間後再回過頭來做第2 個版本,犯錯的機會將大大減少。
6) 測試、測試、反復測試
建立或者修訂資料庫之後,必須用用戶新輸入的數據測試數據欄位。最重要的是,讓用戶進行測試並且同用戶一道保證選擇的數據類型滿足商業要求。測試需要在把新資料庫投入實際服務之前完成。
7) 檢查設計
在開發期間檢查資料庫設計的常用技術是通過其所支持的應用程序原型檢查資料庫。換句話說,針對每一種最終表達數據的原型應用,保證你檢查了數據模型並且查看如何取出數據。
9. 資料庫基礎知識
第一章資料庫基礎知識
本章以概念為主,主要是了解資料庫的基本概念,資料庫技術的發展,數據模型,重點是關系型數據。
第一節:信息,數據與數據處理
一、信息與數據:
1、信息:是現實世界事物的存在方式或運動狀態的反映。或認為,信息是一種已經被加工為特定形式的數據。
信息的主要特徵是:信息的傳遞需要物質載體,信息的獲取和傳遞要消費能量;信息可以感知;信息可以存儲、壓縮、加工、傳遞、共享、擴散、再生和增值
2、數據:數據是信息的載體和具體表現形式,信息不隨著數據形式的變化而變化。數據有文字、數字、圖形、聲音等表現形式。
3、數據與信息的關系:一般情況下將數據與信息作為一個概念而不加區分。
二、數據處理與數據管理技術:
1、數據處理:數據處理是對各種形式的數據進行收集、存儲、加工和傳輸等活動的總稱。
2、數據管理:數據收集、分類、組織、編碼、存儲、檢索、傳輸和維護等環節是數據處理的基本操作,稱為數據管理。數據管理是數據處理的核心問題。
3、資料庫技術所研究的問題不是如何科學的進行數據管理。
4、數據管理技術的三個階段:人工管理,文件管理和資料庫系統。
第二節:資料庫技術的發展
一、資料庫的發展:資料庫的發展經歷了三個階段:
1、層次型和網狀型:
代表產品是1969年IBM公司研製的層次模型資料庫管理系統IMS。
2、關系型數據型庫:
目前大部分資料庫採用的是關系型資料庫。1970年IBM公司的研究員E.F.Codd提出了關系模型。其代表產品為sysemR和Inges。
3、第三代資料庫將為更加豐富的數據模型和更強大的數據管理功能為特徵,以提供傳統資料庫系統難以支持的新應用。它必須支持面向對象,具有開放性,能夠在多個平台上使用。
二、資料庫技術的發展趨勢:
1、面向對象的方法和技術對資料庫發展的影響:
資料庫研究人員借鑒和吸收了面向對旬的方法和技術,提出了面向對象數據模型。
2、資料庫技術與多學科技術的有機組合:
3、面向專門應用領域的資料庫技術
三、資料庫系統的組成:
資料庫系統(DBS)是一個採用資料庫技術,具有管理資料庫功能,由硬體、軟體、資料庫及各類人員組成的計算機系統。
1、資料庫(DB):
資料庫是以一定的組織方式存放於計算機外存儲器中相互關聯的數據集合,它是資料庫系統的核心和管理對象,其數據是集成的、共享的以及冗餘最小的。
2、資料庫管理系統(DBMS):
資料庫管理系統是維護和管理資料庫的軟體,是資料庫與用戶之間的界面。作為資料庫的核心軟體,提供建立、操作、維護資料庫的命令和方法。
3、應用程序:
對資料庫中數據進行各種處理的程序,由用戶編寫。
4、計算機軟體:
5、計算機硬體:
包括CPU、內存、磁碟等。要求有足夠大的內存來存放操作系統、資料庫管理系統的核心模塊以及資料庫緩沖;足夠大的磁碟能夠直接存取和備份數據;比較主的通道能力;支持聯網,實現數據共享。
6、各類人員。
四、資料庫系統的特點:
1、數據共享:
2、面向全組織的數據結構化:
數據不再從屬於一個特定應用,而是按照某種模型組織成為一個結構化的整。它描述數據要身的特性,也描述數據與數據之間的種種聯系。
3、數據獨立性:
4、可控數據冗餘度:
5、統一數據控制功能:
數據安全性控制:指採取一定的安全保密措施確保資料庫中的數據不被非法用戶存取而造成數據的泄密和破壞;
數據完整性控制:是指數據的正確性、有效性與相容性。
並發控制:多個用戶對數據進行存取時,採取必要的措施進行數據保護;
數據恢復:系統能進行應急處理,把數據恢復到正確狀態。
第三節:數據模型
一、數據組織:
關系型資料庫中的數據層次如下:
1、數據項(field):又稱欄位,用於描述實體的一個屬性,是資料庫的基本單位。一般用屬性名作項名;
2、記錄(Record):又稱為結點,由若干個數據項組成,用於描述一個對象;
3、文件(File):由若干個記錄組成;
4、資料庫(DataBase):由邏輯相關的文件組成。
二、數據模型:
數據的組織形式稱為數據模型,它決定數據(主要是結點)之間聯系的表達方式。主要包括層次型、網狀型、關系型和面向對象型四種。層次型和網狀型是早期的數據模型,又稱為格式化數據系統數模型。
以上四種模型決定了四種類型的資料庫:層次資料庫系統,網狀資料庫系統,關系型資料庫系統以及面向對象資料庫系統。
目前微機上使用的主要是關系型資料庫。
1、層次型:是以記錄為結點的有向樹;圖如教材P7圖1--2
2、網狀型:樹的集合,它的表示能力以及精巧懷強於層次型,但獨立性下降。
3、關系型:
在關系型中,數據被組織成若干張二維表,每張表稱為一個關系。
一張表格中的一列稱為一個「屬性」,相當於記錄中的一個數據項(或稱為欄位),屬性的取值范圍稱為域。
表格中的一行稱為一個「元組」,相當於記錄值。
可用一個或若干個屬性集合的值標識這些元組,稱為「關鍵字」。
每一行對應的屬性值叫做一個分量。
表格的框架相當於記錄型,一個表格數據相當於一個同質文件。所有關系由關系的框架和若干元組構成,或者說關系是一張二維表。
關系型的特點:描述的一致性;可直接表示多對多關系;關系必須是規范化的;關系模型建立在數學概念基礎上。
4、面向對象型:主要採用對象和燈的概念。
第四節:關系型資料庫
一、關系型資料庫的發展:
1、資料庫產品種類繁多:像dBASE,FoxBASE,Clipper,Paradox,Acess等。
2、採用SQL語言:SQL(StructuredQueryLanguage)「結構化查詢語言」,是通用的關系型資料庫操作語言,可以查詢、定義、操縱和控制資料庫。它是一種非過程化語言。
3、支持面向對象的程序設計:
4、提供良好的圖形界面和窗口;
5、支持開放的客戶機/伺服器和分布式處理;
6、提供新一代的資料庫管理系統開發工具:支持GUI(圖形界面)、ODBC(開放資料庫連接)、OLE(對象的鏈接與嵌入)、DLL(動態鏈接)等。
二、關系型資料庫管理系統(RDBMS)及其產品:
主要著名的關系型資料庫產品有Oracle、Sybase、Informix、DB2、Inges、Paradox、Access、SQLServer等。資料庫應用系統開發工具是PowerBuilder和Delphi。
10. 什麼是資料庫管理系統(DBMS)它有什麼功能
資料庫管理系統(英語:database management system,縮寫:DBMS)即資料庫管理軟體,是一種針對對象資料庫,為管理資料庫而設計的大型計算機軟體管理系統。
具有代表性的數據管理系統有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常資料庫管理師會使用資料庫管理系統來創建資料庫系統。
現代DBMS使用不同的資料庫模型追蹤實體、屬性和關系。在個人計算機、大型計算機和主機上應用最廣泛的資料庫管理系統是關系型DBMS(relational DBMS)。在關系型數據模型中,用二維表格表示資料庫中的數據。這些表格稱為關系。
(10)資料庫系統的研究方法擴展閱讀:
資料庫管理系統是一套計算機程序,以控制資料庫的分類及數據的訪問。一套資料庫包括模型語言、最優化的數據結構、查詢語言撰寫報表程序以及交易機制:
1、模型語言。
用以因應該資料庫管理系統的數據模型,來定義各資料庫的schema。最常用的三大類分別為層次結構式、網路式及關系式的模型。一個資料庫管理系統可提供一種、兩種,甚至全部三種方式,也可能提供其他形式。
最適合的模型要視乎個別應用程序、交易進行比率及查詢經常使用的程度等。現時最常使用的則是SQL所支持,相似於關系式模型但又有些微違背的方式。很多資料庫管理系統也支持ODBC,以支持程序編寫員以標准方法訪問該資料庫管理系統。
2、最優化的數據結構(欄位、紀錄及文件)。
以支持在永久存儲設備(permanent data storage device,即比主存(volatile main memory)慢得多)上存儲極大量的數據。
3、查詢語言及撰寫報表的程序。
讓用戶可以交互方式查問資料庫,進行數據分析及依用戶的許可權來更新數據。
它必須控制數據的保安,以防止不獲授權的用戶觀看甚至更新資料庫的數據。用戶可以提供有效的密碼來訪問整個資料庫或其中一部分。譬如員工資料庫包括所有員工數據的數據,但某組用戶可能只被批准查看薪金相關的數據,其他的又可能只可以訪問工作履歷及病歷數據。
如果該資料庫管理系統向用戶提供可輸入更新資料庫甚至進行查詢的交互途徑,則此能力可以用來管理個人的資料庫。可是,它不一定提供審核或其他在多用戶環境中所需要的各種控制機制。這些機制可能要整套應用程序都為數據輸入或更新而修改才能提供。
4、交易機制(最好可以保證ACID特性)。
在多用戶同時訪問之下仍維持數據完整性(data integrity),與及提供故障排除(fault tolerance)。
資料庫管理系統依靠不容許超過一名用戶在同一時間更新同一項紀錄來維持資料庫的完整性。資料庫管理系統可以用唯一索引限制來避免重復紀錄。譬如不能有兩位顧客有同一個顧客編號(主鍵)在資料庫中存在。