- SQL Server 2008實用教程(第3版)
- 蔣文沛
- 1712字
- 2021-01-15 19:06:15
1.1 數據庫技術概述
1.1.1 什么是數據庫
數據庫(database,DB)顧名思義就是存放數據的倉庫,是數據依照某種數據模型組織起來并存放在計算機外存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立于使用它的應用程序,對數據的增、刪、改和檢索由統一軟件進行管理和控制。
數據庫的數據通常是面向一個組織、企業或者部門的,例如,學生成績管理系統中,學生的基本信息、課程信息和成績信息就可以存放在學生成績管理數據庫中。我們可以把學生成績管理數據庫分成三張表,表可以比喻為倉庫中的貨架。
■ 學生基本信息表可以存放學生的學號、姓名、性別、出生年月、民族、所在系部、地址、電話等基本信息。
■ 課程信息表可以存放課程的編號、課程名稱、授課教師、學時、學分、課程類型等。
■ 成績信息表可以存放學生的學號、課程的編號和對應的成績。
通過數據庫管理系統,如SQL Server等,可以把學生成績管理數據庫分三個表分類存放,這樣,可以大大減少數據的重復,方便對數據進行增加、刪除、修改和查詢工作。
1.1.2 數據庫管理系統
數據庫管理系統(database management system,DBMS)是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。一個數據庫管理系統中可以同時存放多個數據庫,可以對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過 DBMS 訪問數據庫中的數據,數據庫管理員也可以通過DBMS進行數據庫的維護工作。它提供以下七大功能:
(1)數據定義功能。DBMS提供數據定義語言DDL(data definition language),供用戶定義數據庫的三級模式結構、兩級影像以及完整性約束和保密限制等約束。DDL 主要用于建立、修改數據庫的庫結構。
(2)數據操作功能。DBMS提供數據操作語言DML(data manipulation language),供用戶實現對數據的增加、刪除、更新、查詢等操作。
(3)數據庫的運行管理。包括多用戶環境下的并發控制、安全性檢查和存取限制控制、完整性檢查和執行、運行日志的組織管理、事務的管理和自動恢復,即保證事務的原子性。這些功能保證數據庫系統的正常運行。
(4)數據組織、存儲與管理。DBMS要分類組織、存儲和管理各種數據,包括數據字典、用戶數據、存取路徑等,需確定以何種文件結構和存取方式在存儲器上組織這些數據,如何實現數據之間的聯系。數據組織和存儲的基本目標是提高存儲空間利用率,選擇合適的存取方法提高存取效率。
(5)數據庫的保護。數據庫中的數據是信息社會的戰略資源,所以數據的保護至關重要。DBMS對數據庫的保護主要通過4個方面來實現:數據庫的恢復、數據庫的并發控制、數據庫的完整性控制、數據庫安全性控制。
(6)數據庫的維護。這一部分包括數據庫的數據載入、轉換、轉儲、數據庫的重組和重構以及性能監控等功能,這些功能分別由各個使用程序來完成。
(7)通信。DBMS具有與操作系統的聯機處理、分時系統及遠程作業輸入的相關接口,負責處理數據的傳送。對網絡環境下的數據庫系統,還應該包括 DBMS 與網絡中其他軟件系統的通信功能以及數據庫之間的互操作功能。
常用的數據庫管理系統有Access、MS SQL Server、MySQL、Oracle、Sybase、Foxpro、DB2、Informix等。
1.1.3 數據庫系統
數據庫系統DBS(database system,DBS)通常由軟件、數據庫和數據管理員(database administrator,DBA)組成,是由數據庫及其管理軟件組成的系統。它是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。它是一個實際可運行的存儲、管理、處理、分析和維護數據的軟件系統,是存儲介質、處理對象和管理系統的集合體。
數據庫系統的軟件主要包括操作系統、各種宿主語言、實用程序以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據管理員負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。數據庫管理員一般是由業務水平較高、資歷較深的人員擔任。
數據庫系統的個體含義是指一個具體的數據庫管理系統軟件和用它建立起來的數據庫;它的學科含義是指研究、開發、建立、維護和應用數據庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,數據庫系統是軟件研究領域的一個重要分支,常稱為數據庫領域。
數據庫系統是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。計算機的高速處理能力和大容量存儲器提供了實現數據管理自動化的條件。
- Redis入門指南(第3版)
- C語言程序設計習題解析與上機指導(第4版)
- Designing Hyper-V Solutions
- PHP 編程從入門到實踐
- Mastering KnockoutJS
- 重學Java設計模式
- Learning Laravel's Eloquent
- Java網絡編程實戰
- Visual Studio 2015高級編程(第6版)
- Oracle GoldenGate 12c Implementer's Guide
- TypeScript 2.x By Example
- Arduino Electronics Blueprints
- Spring Boot 2+Thymeleaf企業應用實戰
- 軟件自動化測試實戰解析:基于Python3編程語言
- jQuery權威指南