數據庫系統——基本知識與關系模型【一】
對於數據庫的學習,我們要註意以下幾個方面:
對於概念:能夠明確各個概念的含義,區分相似的概念,並且能舉出相應的通俗易懂的例子
對於操作:知道操作每個操作的含義,能用韋恩圖以集合的形式表示出來,並且能夠通過說明例子在操作前後發生了什麽的變化
幾組概念(都是針對關系數據庫而言)
一、【數據庫】 【數據庫管理系統】 【數據庫系統】
1.數據庫(DB):
a.相互之間有關聯關系的表的集合可以稱為數據庫,即如果有幾張表(用於存放數據)並且這幾張表之間存在關聯,則這幾張表的集合可稱為數據庫
b.表裏有什麽?表名,表標題(格式),表內容(值),列(字段、屬性、數據項),行(元組、記錄)
其中表名 + 表標題 = 關系模式,關系模式 + 表值 = 表/關系
c.方便計算機進行相應的操作(包括檢索、查詢等)。(註:在學習過程中需要關註這部分是如何實現的)
2.數據庫管理系統(DBMS)
a.管理數據庫的一種軟件,例如mysql,oracle等都是數據庫管理系統
b.可以從兩個角度看DBMS,分別是從用戶角度和系統角度看數據庫系統應該具有哪些功能
c.用戶角度
數據定義語言(DDL):創建數據庫和表
數據操縱語言(DML):實行增刪查改
數據控制語言(DCL):控制不同的用戶對數據訪問的權限不同
數據庫維護:實現存儲、恢復、重組、分析等數據庫維護操作
d.系統角度
DBMS是一種數據庫語言解釋並執行的系統,內含解釋器,用於解釋數據庫語言並執行相應的操作。
其中還包括一些其他的DBMS基本功能程序,能夠執行編譯與控制執行、查詢優化實現、存儲與索引、通訊控制、事物處理和各種控制程序
3.數據庫系統
a.構成環境:數據庫、數據庫管理系統、數據庫應用程序(DBAP),數據庫管理員(DBA),計算機的基本系統
b.舉例:如圖書管理系統, (註:通過實例化和抽象化結合進行理解)
其中數據庫:table1(出版社), table2(出版社圖書目錄),table3(圖書館采購記錄),table4(讀者借閱記錄)等表
DBMS:可以用任意一個數據庫管理系統進行管理,如oracle,sybase等
DBAP:針對不同的用戶開發不同的應用程序來滿足不同的需求,如對采購人員、讀者等不同的對象群體需要開發不同的軟件,如采購系統,讀者借閱系統等
DBA:使用DBMS的人,負責對數據庫進行操作
二、【模式和視圖】 【三級模式兩層映像】 【物理獨立性和邏輯獨立性】
1.模式和視圖
模式:數據的結構,由表名和表中的屬性及其屬性的範圍所構成 如:學生登記表(學號 char(8), 姓名 char(10),....)
視圖:展現的數據 如:學生登記表這個表格中的數據
2.三級模式兩層映像(即為關系數據庫的標準結構)
DBMS管理數據的三級模式:
a.External/User Schema:某一個用戶能夠看到和處理的數據(全局數據的一部分)的結構描述
b.Conceptual/Logic Schema:全局的數據的結構描述
c.Internal/Physucal Schema:存儲在介質上的數據的結構描述,含存儲路徑、存儲方式、索引方式等(針對DBMS來說)
以上a和b之間體現了全局和局部的關系,b和c之間體現了概念和存儲之間的關系
兩層映像:
E-C Mapping 外模式到概念模式,實現概念視圖向外部視圖的轉換,便於用戶觀察和使用
C-I Mapping 概念模式到內模式,實現數據概念視圖向內部視圖的轉換,便於計算機的存儲和管理
3.兩個獨立性
邏輯數據獨立性:當概念模式變化時,可不改變外部模式(只需改變E-C Mapping),從而不改變應用程序
物理數據獨立性:當內部模式變化時,可不改變概念模式(只需改變C-I Mapping),從而不改變外部模式
作用:可以最大程度的避免應用程序的修改
三、【數據——>模式——>數據模型】
這三個概念體現出如何對數據進行抽象。
數據模型:對模式的統一描述(即為對模式的抽象),包括數據結構(如何組織數據,即為用這個數據結構能夠描述該數據模型下的所有模式)、操作(有哪些對模式中數據的操作,後面會講到關系模型的相關操作會對此處加深印象)和約束。
模式:對數據的的統一描述(即為對數據的抽象),如一個table中的表示屬性及其範圍的那行(通常為第一行)
有三種數據模型:關系模型、層次模型、網狀模型,它們分別基於表、圖、樹的組織形式(即組織數據的方法)
數據庫系統——基本知識與關系模型【一】