- Visual FoxPro程序設計教程(第3版)
- 劉瑞新 汪遠征 曹歡歡等
- 1835字
- 2020-05-28 17:19:53
1.1 數據庫的基本概念
數據庫是按一定方式把相關數據組織、存儲在計算機中的數據集合。數據庫不僅存放數據,而且還存放數據之間的聯系。
1.1.1 數據與數據處理
數據是指存儲在某一種媒體上的能夠識別的物理符號。數據的概念有兩個方面的涵義:描述事物特性的數據內容以及存儲在媒體上的數據形式。數據形式可以是多樣的,例如“2015年1月16日”是一個數據,它可以表示為“2015-1-16”“15/16/2004”等多種形式。
數據的概念在數據處理領域中已經大大地拓寬了,數據不僅包括各種文字或字符組成的文本形式的數據,而且包括圖形、圖像、動畫、影像、聲音等多媒體數據。
數據處理是指將數據轉換成信息的過程,通過數據處理可以獲得信息,如通過商店的進貨量和銷售量,就可以知道庫存量,從而為進貨提供依據。
1.1.2 數據庫的產生
計算機管理數據隨著計算機的發展而不斷發展,利用計算機對數據進行處理經歷了4個階段。
1.人工管理階段
計算機誕生之初,外存儲器只有紙帶、磁帶、卡片等,沒有像磁盤這樣的速度快、存儲容量大、隨機訪問、直接存儲的外存儲器。軟件方面,沒有專門管理數據的軟件,數據包含在計算或處理它的程序之中。數據管理的任務包括存儲結構、存取方法、輸入輸出方式等,完全由程序員通過編程實現。這一階段的數據管理稱為人工管理階段。
2.文件系統階段
20世紀50年代后期至20世紀60年代后期,計算機開始大量地用于各種管理中的數據處理工作,大量的數據存儲、檢索和維護成為緊迫的需求。此時,在硬件方面,可直接存取的磁盤成為外存儲器的主流;軟件方面,出現了高級語言和操作系統。
這一階段的數據處理采用程序與數據分離的方式,有了程序文件與數據文件的區別。數據文件可以長期保存在外存儲器上被多次存取,在操作系統中文件系統的支持下,程序使用文件名訪問數據文件,程序員只需關注數據處理的算法,而不必關心數據在存儲器上如何存取。這一階段的數據管理稱為文件(系統)管理階段。
文件系統中的數據文件是為了滿足特定的需要而專門設計的,為某一特定的程序而使用,數據與程序相互依賴。同一數據可能出現在多個文件中,這不僅浪費存儲空間,而且由于不能統一更新,容易造成數據的不一致。
3.數據庫系統階段
隨著社會信息量的迅猛增長,計算機處理的數據量也相應增大,文件系統存在的問題阻礙了數據處理技術的發展,于是數據庫管理系統便應運而生。
數據庫技術的主要目的是有效地管理和存取大量的數據資源,包括:提高數據的共享性,使多個用戶能夠同時訪問數據庫中的數據;減少數據的冗余度,提高數據的一致性和完整性;提供數據與應用程序的獨立性,從而降低應用程序的開發和維護費用。
數據庫管理系統從20世紀60年代末問世以來,一直是計算機管理數據的主要方式。
4.分布式數據庫系統階段
20世紀70年代以前,數據庫多數是集中式的,隨著網絡技術的發展,為數據庫提供了良好的運行環境,使數據庫從集中式發展到分布式,從主機/終端系統結構發展到客戶/服務器系統結構。
1.1.3 數據庫系統
1.基本概念
①數據庫(DataBase):是指存儲在計算機存儲器中,結構化的相關數據的集合。它不僅存放數據,而且還存放數據之間的聯系。
數據庫中的數據面向多種應用,可以被多個應用程序共享。其數據結構獨立于使用數據的程序,對于數據的增加、刪除、修改和檢索由系統軟件進行統一的控制。
②數據庫管理系統(DBMS):是指幫助用戶建立、使用和管理數據庫的軟件系統,主要包括3部分:數據描述語言(DDL)、數據操作語言(DML)以及其他管理和控制程序。
③數據庫應用系統(DBAS):利用數據庫系統資源開發的面向某一類實際應用的應用軟件系統。一個DBAS通常由數據庫和應用程序兩部分構成,它們都需要在數據庫管理系統的支持下開發和工作。
④數據庫系統:是指引進數據庫技術后的計算機系統,包括硬件系統、數據庫集合、數據庫管理系統和相關軟件、數據庫管理員、用戶等5部分。
其中,硬件系統是指運行數據庫系統需要的計算機硬件,包括主機、顯示器、打印機等;數據庫集合是指數據庫系統包含的若干個設計合理、滿足應用需要的數據庫;數據庫管理系統和相關軟件包括操作系統、數據庫管理系統、數據庫應用系統等相關軟件;數據庫管理員是指對數據庫系統進行全面維護和管理的專門人員;數據庫系統最終面對的是用戶。
2.數據庫系統的特點
與文件系統相比,數據庫系統具有以下特點:
①數據的獨立性強,減少了應用程序和數據結構的相互依賴性。
②數據的冗余度小,盡量避免存儲數據的相互重復。
③數據的高度共享,一個數據庫中的數據可以為不同的用戶所使用。
④數據的結構化,便于對數據統一管理和控制。
- Mastering Concurrency Programming with Java 8
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- Expert C++
- JavaScript語言精髓與編程實踐(第3版)
- Xcode 7 Essentials(Second Edition)
- 用Flutter極速構建原生應用
- SAS數據統計分析與編程實踐
- 表哥的Access入門:以Excel視角快速學習數據庫開發(第2版)
- PhoneGap:Beginner's Guide(Third Edition)
- Natural Language Processing with Java and LingPipe Cookbook
- LabVIEW虛擬儀器入門與測控應用100例
- C#面向對象程序設計(第2版)
- Tableau Dashboard Cookbook
- Java面向對象程序設計教程
- Arduino Robotic Projects