資料庫 - 資料庫概論,資料庫概論

來源:互聯網
上載者:User

資料庫 - 資料庫概論,資料庫概論
資料庫地位

資料庫技術產生於六十年代末,是資料管理的最新技術,是電腦科學的重要分支。
資料庫技術是資訊系統的核心和基礎,它的出現極大地促進了電腦應用向各行各業的滲透。
資料庫的建設規模、資料庫資訊量的大小和使用頻度已成為衡量一個國家資訊化程度的重要標誌。

資料
資料(Data)是資料庫中儲存的基本對象資料的定義描述事物的符號記錄資料的種類文本、圖形、映像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等資料的特點資料與其語義是不可分的

資料的含義稱為資料的語義,資料與其語義是不可分的。
例如 93是一個資料
語義1:學生某門課的成績
語義2:某人的體重
語義3:電腦系2003級學生人數
學生檔案中的學生記錄
(李明,男,197205,江蘇南京市,電腦系,1990)
語義:學生姓名、性別、出生年月、籍貫、所在院系、
入學時間
解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入電腦系

資料庫
資料庫的定義資料庫(Database,簡稱DB)是長期儲存在電腦內、有組織的、可共用的大量資料的集合。資料庫的基本特徵資料按一定的資料模型組織、描述和儲存可為各種使用者共用冗餘度較小資料獨立性較高易擴充
資料庫管理系統

什麼是DBMS, Database Management System
位於使用者與作業系統之間的一層資料管理軟體。
是基礎軟體,是一個大型複雜的軟體系統
商業產品:Oracle, SQL Server, DB2, Sybase, Informix
開源產品: MySQL,Berkeley DB
DBMS的用途
科學地組織和儲存資料、高效地擷取和維護資料。
資料定義功能
提供資料定義語言 (Data Definition Language)(DDL)
定義資料庫中的資料對象
資料群組織、儲存和管理
分類組織、儲存和管理各種資料
確定組織資料的檔案結構和存取方式
實現資料之間的聯絡
提供多種存取方法提高存取效率
資料操縱功能
提供資料操縱語言(DML)
實現對資料庫的基本操作 (查詢、插入、刪除和修改)
資料庫的交易管理和運行管理
資料庫在建立、運行和維護時由DBMS統一管理和控制
保證資料的安全性、完整性、多使用者對資料的並發使用
發生故障後的事務恢複

資料庫管理

什麼是資料管理
對資料進行分類、組織、編碼、儲存、檢索和維護
資料處理的中心問題
資料管理技術的發展過程
人工管理階段(20世紀40年代中–50年代中)
檔案系統階段(20世紀50年代末–60年代中)
資料庫系統階段(20世紀60年代末–現在)

資料庫系統特點

資料結構化
資料的共用性高,冗餘度低,易擴充
資料獨立性高
資料由DBMS統一管理和控制
整體資料的結構化是資料庫的主要特徵之一
整體結構化
不再僅僅針對某一個應用,而是面向全組織
不僅資料內部結構化,整體是結構化的,資料之間具有聯絡

資料庫中實現的是資料的真正結構化
資料的結構用資料模型描述,無需程式定義和解釋
資料可以變長
資料的最小存取單位是資料項目

資料庫系統從整體角度看待和描述資料,資料面向整個系統,可以被多個使用者、多個應用共用使用。
資料共用的好處
減少資料冗餘,節約儲存空間
避免資料之間的不相容性與不一致性
使系統易於擴充
物理獨立性
指使用者的應用程式與儲存在磁碟上的資料庫中資料是相互獨立的。當資料的實體儲存體改變了,應用程式不用改變。
邏輯獨立性
指使用者的應用程式與資料庫的邏輯結構(邏輯模式)是相互獨立的。資料的邏輯結構改變了,使用者程式可以保持不變。
資料獨立性是由DBMS的二級映像功能來保證的

DBMS提供的資料控制功能(1)資料的安全性(Security)保護保護資料,以防止不合法的使用造成的資料的泄密和破壞。(2)資料的完整性(Integrity)檢查將資料控制在有效範圍內,或保證資料之間滿足一定的關係。(3)並發(Concurrency)控制對多使用者的並行作業加以控制和協調,防止相互幹擾而得到錯誤的結果。(4)資料庫恢複(Recovery)將資料庫從錯誤狀態恢複到某一已知的正確狀態。
資料模型

抽象:是從眾多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。例如蘋果、香蕉、生梨、桃子等,它們共同的特性就是水果。得出水果概念的過程,就是一個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的部分。共同特徵是指那些能把一類事物與他類事物區分開來的特徵,這些具有區分作用的特徵又稱本質特徵。因此抽取事物的共同特徵就是抽取事物的本質特徵,捨棄非本質的特徵。
資料模型分為兩類(分屬兩個不同的層次)
(1) 概念性模型 也稱資訊模型,它是按使用者的觀點來對資料和資訊建模,用於資料庫設計。
(2) 邏輯模型和物理模型
邏輯模型主要包括網狀模型、層次模型、關聯式模式、物件導向模型等,按電腦系統的觀點對資料建模,用於DBMS實現。
物理模型是對資料最底層的抽象,描述資料在系統內部的表示方式和存取方法,在磁碟或磁帶上的儲存方式和存取方法。

資料結構

什麼是資料結構
描述資料庫的組成對象,以及對象之間的聯絡

描述的內容
與資料類型、內容、性質有關的對象
與資料之間聯絡有關的對象
資料結構是對系統靜態特性的描述

資料操作

資料操作
對資料庫中各種對象(型)的執行個體(值)允許執行的
操作及有關的操作規則
資料操作的類型
查詢
更新(包括插入、刪除、修改)
資料模型對操作的定義
操作的確切含義
操作符號
操作規則(如優先順序)
實現操作的語言
資料操作是對系統動態特性的描述

資料的完整性條件約束條件

資料的完整性條件約束條件
一組完整性規則的集合。
完整性規則:給定的資料模型中資料及其聯絡所具有的制約和依存規則
用以限定符合資料模型的資料庫狀態以及狀態的變化,以保證資料的正確、有效、相容。
資料模型對完整性條件約束條件的定義
反映和規定本資料模型必須遵守的基本的通用的完整性條件約束條件。例如在關聯式模式中,任何關係必須滿足實體完整性和參照完整性兩個條件。
提供定義完整性條件約束條件的機制,以反映具體應用所涉及的資料必須遵守的特定的語義約束條件。

概念性模型

概念性模型的用途
概念性模型用於資訊世界的建模
是現實世界到機器世界的一個中介層次
是資料庫設計的有力工具
資料庫設計人員和使用者之間進行交流的語言
對概念性模型的基本要求
較強的語義表達能力
能夠方便、直接地表達應用中的各種語義知識
簡單、清晰、易於使用者理解

資訊世界中的基本概念
(1) 實體(Entity) 客觀存在並可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。  (3) 碼(Key) 唯一標識實體的屬性集稱為碼。(4) 域(Domain) 屬性的取值範圍稱為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名稱集合來抽象和刻畫同類實體稱為實體型。(6) 實體集(Entity Set) 同一類型實體的集合稱為實體集(7) 聯絡(Relationship)  現實世界中事物內部以及事物之間的聯絡在資訊世界     中反映為實體內部的聯絡和實體之間的聯絡。實體內部的聯絡通常是指組成實體的各屬性之間的聯絡實體之間的聯絡通常是指不同實體集之間的聯絡
常用資料模型

非關聯式模式
層次模型(Hierarchical Model)
網狀模型(Network Model)
關聯式模式(Relational Model)
物件導向模型(Object Oriented Model)
對象關聯式模式(Object Relational Model)

層次模型

層次模型是資料庫系統中最早出現的資料模型
層次資料庫系統的典型代表是IBM公司的IMS(Information Management System)資料庫管理系統
層次模型用樹形結構來表示各類實體以及實體間的聯絡
層次模型
滿足下面兩個條件的基本層次聯絡的集合為層次模型
1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點
2. 根以外的其它結點有且只有一個雙親結點
層次模型中的幾個術語
根結點,雙親結點,兄弟結點,葉結點
層次模型的特點:
結點的雙親是唯一的
只能直接處理一對多的實體聯絡
每個記錄類型可以定義一個排序欄位,也稱為碼欄位
任何記錄值只有按其路徑查看時,才能顯出它的全部意義
沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在
優點
層次模型的資料結構比較簡單清晰
查詢效率高,效能優於關聯式模式,不低於網狀模型
層次資料模型提供了良好的完整性支援
缺點
多對多聯絡表示不自然
對插入和刪除操作的限制多,應用程式的編寫比較複雜
查詢子女結點必須通過雙親結點
由於結構嚴密,層次命令趨於程式化

網狀模型

網狀資料庫系統採用網狀模型作為資料的組織方式
典型代表是DBTG系統:
亦稱CODASYL系統
70年代由DBTG提出的一個系統方案
奠定了資料庫系統的基本概念、方法和技術
實際系統
Cullinet Software Inc.公司的 IDMS
Univac公司的 DMS1100
Honeywell公司的IDS/2
HP公司的IMAGE
網狀模型
滿足下面兩個條件的基本層次聯絡的集合:
1. 允許一個以上的結點無雙親;
2. 一個結點可以有多於一個的雙親。
表示方法(與層次資料模型相同)
實體型:用記錄類型描述
每個結點表示一個記錄類型(實體)
屬性:用欄位描述
每個記錄類型可包含若干個欄位
聯絡:用結點之間的連線表示記錄類型(實體)之
間的一對多的父子聯絡

網狀資料模型的資料結構

網狀模型與層次模型的區別
網狀模型允許多個結點沒有雙親結點
網狀模型允許結點有多個雙親結點
網狀模型允許兩個結點之間有多種聯絡(複合聯絡)
網狀模型可以更直接地去描述現實世界
層次模型實際上是網狀模型的一個特例

關聯式模式

關聯式資料庫系統採用關聯式模式作為資料的組織方式
1970年美國IBM公司San Jose研究室的研究員E.F.Codd首次提出了資料庫系統的關聯式模式
電腦廠商新推出的資料庫管理系統幾乎都支援關聯式模式

關聯式模式的資料結構

關係(Relation)
一個關係對應通常說的一張表
元組(Tuple)
表中的一行即為一個元組
屬性(Attribute)
表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名稱
主碼(Key)
表中的某個屬性群組,它可以唯一確定一個元組。
域(Domain)
屬性的取值範圍。
分量
元組中的一個屬性值。
關係模式
對關係的描述
關係名(屬性1,屬性2,…,屬性n)
學生(學號,姓名,年齡,性別,系,年級)
優點
建立在嚴格的數學概念的基礎上
概念單一
實體和各類聯絡都用關係來表示
對資料的檢索結果也是關係
關聯式模式的存取路徑對使用者透明
具有更高的資料獨立性,更好的安全保密性
簡化了程式員的工作和資料庫開發建立的工作

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.