官术网_书友最值得收藏!

任務1 認識數據庫

【任務描述】在設計和使用MySQL數據庫之前,需要了解數據庫的基本概念以及關系型數據庫數據的存儲方式。

1.1.1 數據庫的基本概念

1.數據

數據(Data)是用來記錄信息的可識別符號,是信息的具體表現形式。在計算機中,數據是采用計算機能夠識別、存儲和處理的方式對現實世界的事物進行的描述,其具體表現形式可以是數字、文本、圖像、音頻、視頻等。

2.數據庫

數據庫(Database, DB)是用來存放數據的倉庫。具體地說,就是按照一定的數據結構來組織、存儲和管理數據的集合,具有較小的冗余度、較高的獨立性和易擴展性、可供多用戶共享等特點。

3.數據庫管理系統

數據庫管理系統(Database Management System, DBMS)是操縱和管理數據庫的軟件,介于應用程序與操作系統之間,為應用程序提供訪問數據庫的方法,包括數據的定義、數據操縱、數據庫運行管理及數據庫建立與維護等功能。當前流行的數據庫管理系統包括MySQL、Oracle、SQL Server、Sybase等。

4.數據庫系統

數據庫系統(Database System, DBS)由軟件、數據庫和數據庫管理員組成。其軟件主要包括操作系統、各種宿主語言、數據庫應用程序以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行,數據庫管理系統是數據庫系統的核心。數據庫管理員負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。圖1-1描述了數據庫系統的結構。

圖1-1 數據庫系統

1.1.2 關系型數據庫

1.關系型數據庫

數據存儲是計算機的基本功能之一。隨著計算機技術的不斷普及,數據存儲量越來越大,數據之間的關系也變得越來越復雜,怎樣有效地管理計算機中的數據,成為計算機信息管理的一個重要課題。

在數據庫設計發展的歷史長河中,人們使用模型來反映現實世界中數據之間的聯系。1970年,IBM的研究員E.F.Codd博士發表了名為《大型共享數據銀行的關系模型》的論文,首次提出了關系模型的概念,為關系型數據庫的設計與應用奠定了理論基礎。

在關系模型中,實體和實體間的聯系均由單一的關系來表示。在關系型數據庫中,關系就是表,一個關系型數據庫就是若干個二維表的集合。

2.關系型數據庫存儲結構

關系型數據庫是指按關系模型組織數據的數據庫,采用二維表來實現數據存儲,其中二維表中的每一行(row)在關系中稱為元組(記錄,record),表中的每一列(column)在關系中稱為屬性(字段,field),每個屬性都有屬性名,屬性值是各元組屬性的值。

圖1-2描述了網上商城系統后臺數據庫中User表的數據。在該表中有uId、uName、uSex等字段,分別代表用戶ID、用戶名和性別。表中的每一條記錄代表了系統中的一個具體的User對象,如用戶李平、用戶張誠等。

圖1-2 用戶數據表

3.常見的關系型數據庫產品

(1)Oracle

Oracle是商用關系型數據庫管理系統中的典型代表,是甲骨文公司的旗艦產品。Oracle作為一個通用的數據庫管理系統,不僅具有完整的數據管理功能,還是一個分布式數據庫系統,支持各種分布式功能。作為一個應用開發環境,Oracle提供了一套界面友好、功能齊全的數據庫開發工具。Oracle使用PL/SQL語言執行各種操作,具有可開放性、可移植性、可伸縮性等特點。

(2)MySQL

MySQL是最流行的開放源碼的數據庫管理系統,它具有快速、可靠和易于使用的特點。由MySQL AB公司開發和發布,2008年被Sun公司收購。2009年Sun公司又被Oracle公司收購,因而MySQL成為了Oracle公司的又一重量級數據庫產品。MySQL具有跨平臺的特性,可以在Windows、UNIX、Linux和Mac OS等平臺上使用。由于其開源免費,運營成本低,受到越來越多的公司青睞,如雅虎、Google、新浪、網易、百度等企業都使用MySQL作為數據庫。

(3)SQL Server

SQL Server也是一種典型的關系型數據庫管理系統,廣泛應用于電子商務、銀行、電力、教育等行業,它使用Transact-SQL語言完成數據操作。隨著SQL Server版本的不斷升級,使得該DBMS具有可靠性、可伸縮性、可用性、可管理性等特點,可為用戶提供完整的數據庫解決方案。

(4)DB2

DB2是美國IBM公司開發的一套關系型數據庫管理系統,主要應用于大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用于所有常見的服務器操作系統平臺下。DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平臺無關的基本功能和SQL命令。

本書選用的關系數據庫產品為MySQL。

1.1.3 SQL語言

SQL(Structured Query Language,結構化查詢語言)是關系型數據庫語言的標準,最早是由IBM公司開發的,1986年由美國國家標準化組織和國際化標準組織共同發布SQL標準SQL-86。隨著時間的變遷,SQL版本經歷了SQL-89、SQL-92、SQL-99、SQL-2003及SQL-2006。SQL語言根據功能的不同被劃分成數據定義語言、數據操縱語言和數據控制語言。

1.數據定義語言

數據定義語言(Data Definition Language, DDL)用于創建數據庫和數據庫對象,為數據庫操作提供對象。例如,數據庫、表、存儲過程、視圖等都是數據庫中的對象,都需要通過定義才能使用。DDL中主要的SQL語句包括CREATE、ALTER、DROP,分別用來實現數據庫及數據庫對象的創建、更改和刪除操作。

2.數據操縱語言

數據操縱語言(Data Manipulation Language, DML)主要用于操縱數據庫中的數據,包括INSERT、SELECT、UPDATE、DELETE等語句。INSERT用于插入數據;UPDATE用于修改數據;DELETE用于刪除數據;SELECT則可以根據用戶需要從數據庫中查詢一條或多條數據。

3.數據控制語言

數據控制語言(Data Control Language, DCL)主要實現對象的訪問權限及對數據庫操作事務的控制,主要語句包括GRANT、REVOKE、COMMIT和ROLLBACK。GRANT語句用于給用戶授予權限;REVOKE語句用于收回用戶權限;COMMIT語句用于提交事務;ROLLBACK語句用于回滾事務。

數據庫中的操作都是通過執行SQL語句來完成,它可以方便地嵌套在Java、C#、PHP等程序語言中,以實現應用程序對數據的查詢、插入、修改和刪除等操作。

主站蜘蛛池模板: 霍州市| 洪湖市| 个旧市| 梁山县| 云梦县| 长垣县| 尤溪县| 北票市| 额济纳旗| 龙游县| 阜宁县| 苗栗县| 阿图什市| 天峨县| 隆林| 亚东县| 汕尾市| 祥云县| 鄂尔多斯市| 陕西省| 巨鹿县| 广元市| 怀安县| 库伦旗| 远安县| 龙川县| 南华县| 延长县| 西城区| 定南县| 肇庆市| 巫山县| 江源县| 民县| 来宾市| 鄢陵县| 开封市| 辽阳市| 弋阳县| 南昌县| 高邮市|