第一章 資料庫系統概述
1.1 資料庫基本概念
1.1.1 什麼是資料
資料(DATA)是描述事物的符号記錄,是指利用實體符号記錄下來的、可以鑒别的資訊
例如:張三,男,26,北京,上海
但是出現問題 北京和上海對于張三有什麼意義?
當我填上描述資訊 如下觀察:
現居地 | 戶籍地 |
---|---|
北京 | 上海 |
通過上面分析我們發現:
資料是資訊存在的一種形式,隻有通過解釋或處理的資料才能成為有用的資訊
1.1.2 什麼是資料庫
資料庫(DARABASE,DB) 是指長期存儲在計算機的有組織的、可共享的資料集合
資料要按照一定的資料模型組織、描述和存儲,具有較小的備援度、較高的 資料獨立性,系統易于擴充,并可以被多個使用者分享。
資料庫中存儲的資料的三個基本特點
簡答:永久存儲、有組織、可共享
1.1.3 什資料庫管理系統及其功能
資料庫管理系統(DBMS)是專門用于建立和管理資料庫的一套軟體,介于應用程式和作業系統之間
資料庫管理系統功能:
1)資料定義功能
2)資料操縱功能
3)資料運作管理功能
4)資料庫的建立和維護功能
5)資料組織、存儲和管理功能
6)其他功能 ----> 網絡相關功能
1.1.4 資料庫系統的構成
使用者(程式員) 使用者(資料庫終端使用者)
| |
| |
| |
--------應用程式-----------
| |
| |
| |
---資料庫管理系統(DBMS)-----------資料庫管理者(DBA)
|
|
|
資料庫
1.2 資料庫管理技術的發展
1.2.1 人工管理階段
1)資料不儲存
2)應用程式管理資料
3)資料面向應用程式
1.2.2 檔案系統階段
檔案系統 儲存資料 由檔案系統 進行檔案級别共享操作
1.2.3 資料庫系統階段
1)資料內建(主要目的)
2)資料共享性(高)
3)資料備援(低)
4)資料一緻性
5)資料獨立性(高)
6)實施統一管理與控制
7)減少應用程式開發與維護的工作量
解釋1 資料獨立性
資料定義與使用資料的應用程式分離稱為資料獨立
解釋2 統一管理與控制、程式開發與維護
主要包括:資料的安全性、完整性并發控制于故障恢複等,即資料庫保護
1.3 資料庫系統的結構
1.3.1 資料庫系統的結構分類
|-模式
|---内部系統結構,采用三級模式---|--内模式
| |-外模式
從DBA的視角|
| |--集中式結構
|---外部系統結構---|--分布式結構
|--并行結構
|---- 客戶/伺服器(C/S)結構 例如APP
從資料庫應用的使用者的視角---|
|---- 浏覽器/伺服器(B/S)結構 例如網頁
1.3.2 資料庫系統的三級模式結構
應用A 應用B 應用C 應用D 應用E
| | | | |
| | | | |
| | | | |
外模式1 外模式2 外模式3
| | |
---------------|-------------|
模式
|
|
内模式
|
|
資料庫
外模式:也稱為子模式或使用者模式 --》使用者級相關外模式
模式:也稱為概念模式或邏輯模式 --》概念級相關外模式
内模式:也稱存儲模式 --》實體級相關外模式
名稱 | 别稱 | 視圖類型 |
---|---|---|
模式 | 概念模式、邏輯模式 | 概念視圖 |
外模式 | 子模式、使用者模式 | 資料視圖、使用者視圖 |
内模式 | 存儲模式 | 内部視圖,存儲試圖 |
備注:視圖就是你眼中的資料,能讓使用者看懂的叫視圖
模式是資料庫的核心,也是資料庫設計的關鍵
三級模式結構的兩層映像與資料獨立性
所謂映像,就是一種對應規則,它指出映像雙方是如何進行轉換得到
模式/内模式映像
保證了資料與程式的實體獨立性
外模式/模式映像
保證了資料與程式的邏輯獨立性
1.3.3 客戶/伺服器(C/S)結構
客戶伺服器結構(C/S)中,用戶端、前台或表示層:主要完成與資料庫使用者的互動任務;伺服器、背景或資料層:主要負責資料管理
《-------》
表示層 資料層
《-------》
單機方式 一台電腦上
網絡方式 多台裝置聯機
1.3.4 浏覽器/伺服器(B/S)結構
浏覽器伺服器(B/S)結構,是一種基于WEB應用的客戶伺服器結構,也稱三層客戶伺服器結構
三層:表示層、處理層、資料層
《-------》 《-------》
表示層 處理層 資料層
《-------》 《-------》
1.4 資料模型
1.4.1 什麼是模型
模型是現實世界特征的模拟和抽象表達
資料模型是對現實世界資料特征的抽象,描述的是資料的共性内容
例如:姓名 、性别、職業、省份證号、等等之類的 共通的内容
當然在一定程式上具有一定的意義更合适更好一些
1.4.2 資料的特征
資料的特征分為靜态特征和動态特征
| 資料的基本結構 例如 隊列、二叉樹、表
|
靜态特征| 資料間的聯系 例如 身高和體重 越高相對越重
|
| 資料取值範圍 例如 性别
在一定程度上靜态特征上是不會變的
動态特征:指對資料可以進行符合一定規則的操作,例如 18歲過了生日就19歲
1.4.3 資料模型組成要素
資料結構:描述的是系統的靜态特征,即資料對象的資料類型、内容、屬性以及資料對象之間的聯系
資料操作:描述的是系統的動态特征
資料限制:描述資料結構中資料間的文法和語義關聯,在此環境中是一種特例限制,
1.4.4 資料模型的分類
資料模型是模型化資料和資訊的工具,也是資料庫系統的核心和基礎
滿足三點:比較真實的模拟現實世界,容易為人們了解,便于在計算機上實作
現實世界
|
|(抽象)
|
概念模型(資訊世界)
|
|(轉換、組織)
|
邏輯模型和實體模型(機器世界)
1.4.5 什麼是概念層資料模型
概念層是資料抽象級别的最高層。概念層資料模型,也稱為資料的概念模型或資訊模型,這類模型主要用于資料庫的設計階段
例如、E-R圖的設計 組織人員架構
1.4.6 資訊世界涉及的基本概念
名稱 | 概念 | 舉例 |
---|---|---|
實體(Entity) | 把每一類資料對象的個體稱為實體 | 學生 |
屬性(Attribute) | 事物的性質與事物之間關系 | (學号,性别,出生年月) |
實體型(Entity Type) | 具有相同屬性的實體必然具有共同的特征和性質 | 學生(學号,性别,出生年月) |
實體集(Entity Set) | 實體集是具有相同類型及相同屬性的實體的集合 | 一群學生 |
碼或鍵(Key) | 唯一辨別該實體的屬性 | 學号 |
域(Domain) | 取值範圍 | 性别屬性 |
聯系(Relationship) | 屬性或實體之間有一定的聯系 | 父子,師生 |
資料模型中有型和值兩個概念
例如:表頭是型,資料為值
1.4.7 概念模型的表示方法
E-R圖:一般實體型用長方形,屬性用橢圓,聯系用菱形
1.4.8 什麼是邏輯層資料模型
邏輯層是資料抽象級别的中間層,邏輯層資料模型,也稱為資料的邏輯模型
任何DBMS都是基于某種邏輯資料模型
1.4.9 邏輯模型的類型
層次模式:
是最早使用的一種資料模型
有且僅有一個結點沒有父結點,稱作根結點
有其他結點有且僅有一個父結點
網狀模型:
以網狀結構表示實體與實體間的聯系
允許結點有多于一個父結點
可以有一個以上的結點沒有父結點
關系模型:
用二維表結構來表示實體間的聯系
優點:
建立在嚴格的數學概念的基礎上
概念單一
存儲路徑對使用者透明,有更高的資料獨立性,更好的安全保密性
面向對象模型: 面向對象方法和資料庫
即是概念模型又是邏輯模型
表達能力豐富,對象可複用、維護友善
1.4.10 實體層資料模型
實體層資料模型,也稱為實體模型,描述資料在存儲媒體上的組織結構,是邏輯模型的實體基礎;
是資料庫最底層的抽象;
設計目标是提高資料庫性能和有效利用存儲空間。