【資料庫上】 第一章 引言
第一章 引言
一、 資料庫技術
1.1 資料庫技術如何影響我們的生活
*資料庫技術在哪些方面影響著我們的工作與日常生活?
資料庫技術的重要性
(也包括任何一種技術或創新)
1)提高效率
2)改變或創新商業模式
3)改變生活方式
4)增加人類自由的維度
1.2 資料庫如何描述客觀世界
*資料庫中存放的是“誰”的資料?
“誰”又是如何描述和表示的?
*這些事和物該如何表示?
*二維表是如何描述事物的?行和列
*二維表又是如何聯絡和區分事物的?主碼、外碼
資料庫中存放的是“誰”的資料?
- 誰:一個應用系統(企業)需要的客觀資料
- 涉及到資料物件的結構、範圍和使用許可權
“誰”又是如何描述和表示的?
- 客觀資料物件的結構即特徵如何表示
- 客觀資料物件的語義約束(有效性)如何表示
- 客觀資料物件的使用許可權如何表示
二、 資料管理的發展過程
1)手工階段(早期—至今並存)
2)程式階段
3)檔案階段(50年代末--60年代中)
4)資料庫階段(60年代末--現在)
直觀解釋資料庫管理階段的基本特點:
- 資料的管理者:DBMS(與應用獨立的專門管理軟體)
- 資料面向的物件:現實世界(新增和刪除方便易行)
- 資料的共享程度:共享性高
- 資料的獨立性:高度的物理獨立性和一定的邏輯獨立性(隨著不同發展時期,獨立性程度在不斷改進)
- 資料的結構化:整體結構化
- 資料控制能力:由DBMS統一管理和控制#
三、資料模型
3.1 什麼是資料模型
*什麼是資料模型?
*資料模型應滿足什麼要求?
資料模型
- 是一種用來抽象、表示和處理客觀世界資料物件結構的描述方式
- 是對客觀世界的模擬(一種主觀建模)
資料模型應滿足如下要求
- 形式化(書面表示/書面語言)
- 能夠儘可能真實的反映客觀世界
- 容易人所理解
- 便於在計算機上實現#
3.2 兩類模型
*指哪兩個型別(層次),原因?
模型根據描述用途的不同,可分成兩個層次
(1) 概念模型:(也稱資訊模型)
是按使用者的觀點來對資料和資訊建模;
幾乎不涉及計算機專業技術知識。
(面向客觀世界建模)
(2) 資料模型:
主要包括網狀模型、層次模型、關係模型、物件模型等;
是按計算機系統的觀點對資料建模。
(面向計算機實現建模)
3.3 資料庫建模的兩大階段
*指哪兩個抽象建模階段?
*為何要分開為兩個階段?
客觀物件的抽象過程--兩步抽象:
現實世界中的客觀物件抽象為概念模型;
把概念模型轉換為某一DBMS支援的資料模型。
概念模型的重要作用:
是現實世界到機器世界的一箇中間層次;
可將業務模型與計算機實現工作隔離開;
複雜性減少,便於分工,成功性增大。
四、資料庫系統概述
資料(Data)
資料庫(Database)
資料庫管理系統(DBMS)
資料庫系統(DBS)
4.1 資料
-
資料是資料庫中儲存和管理的基本物件
-
資料的定義
描述事物的符號記錄
- 資料的種類
數字、文字、圖形、圖象、聲音
- 資料的特點
資料庫中的資料與其語義是不可分的(通常需要滿足一定的語義約束,否則就毫無意義)
如:學生的性別,只能是“男”或“女”
4.2資料庫
資料庫(Database,簡稱DB)是指:長期儲存在計算機內的、有組織的、可共享的大量資料集合
為什麼需要資料庫
人們收集並抽取出一個應用所需要的大量資料之後,應將其分門別類地儲存起來(即形成資料庫),以供應用程式進一步加工處理,抽取或計算出有用資訊
一個好的資料庫,應當具有如下基本特徵:
- 資料按一定的資料模型組織、描述和儲存
- 可為各種使用者(應用程式)共享使用
- 冗餘度較小
- 資料獨立性較高(邏輯獨立性和物理獨立性)
- 易於擴充套件
4.3 資料庫管理系統
什麼是DBMS
- 資料庫管理系統(Database Management System,簡稱DBMS)是位於使用者(應用程式)與作業系統之間的一層資料庫管理軟體
- DBMS是獨立、開放的資料庫管理軟體(提供多種外部介面,管理的資料可以被其它外部應用程式呼叫)
DBMS的用途
- 科學地組織和儲存資料
- 高效地獲取和維護資料
DBMS的主要功能
- 資料定義功能
提供資料定義語言(DDL)
定義資料庫中的資料物件
- 資料操縱功能:提供資料操縱語言(DML)
操縱資料實現對資料庫的基本操作
(查詢、插入、刪除和修改)
-
資料庫的執行管理
保證資料的安全性、完整性、 多使用者對資料的併發使用 發生故障後的系統恢復
-
資料庫的建立和維護功能(實用程式)
資料庫資料批量裝載
資料庫轉儲
介質故障恢復
資料庫的重組織
效能監視等
4.4 資料庫系統
什麼是資料庫系統
- 資料庫系統(Database System,簡稱DBS)是指在計算機系統中引入資料庫後的系統構成。
- 在不引起混淆的情況下常常把資料庫系統簡稱為資料庫。
資料庫系統的構成
- 由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員(和使用者)構成。
五、資料庫技術在應用開發中的作用
資料庫技術對應用開發有多重要?
六、資料庫系統&資料庫的開發執行環節
資料庫系統的開發包含哪些主要環節?
資料庫的開發又包含哪些環節?
資料結構設計完成什麼任務?
資料結構設計的主要任務
- 分析資料物件特徵和使用需求
- 建立資料模型(物件內部結構和外部關聯)
-
概念設計(建立客觀世界的抽象結構)
-
邏輯設計(建立便於計算機實現的邏輯結構-與DBMS密切相關)
層次模型,網狀模型,關係模型,物件模型,XML模型
-
還應包括:
資料結構優化設計(建立良好的結構)
資料完整性設計(建立完整性約束)
資料安全設計(使用者訪問授權)
相關資料庫技術
- E-R模型(7章),UML(6章) ---面向客觀世界描述!
- 關係模型( 2章,7章)
- 檢視+完整性約束+授權(4章)
- 關係資料庫設計與優化(8章)
- 物件資料模型(22章)
- XML資料模型(23章)
概念結構設計是什麼?
概念結構設計是整個資料庫設計的關鍵,通過對使用者需求進行綜合、歸納與抽象,形成一個獨立於具體的DBMS的概念模型。
邏輯結構設計是什麼?
邏輯結構設計是將概念結構轉換為某個DBMS所支援的資料模型,並對其進行優化。
資料儲存&資料庫技術
資料儲存設計的任務是什麼?
資料儲存設計(物理設計)
- 分析資料需求和使用需要
- 對關聯資料的使用要求
- 訪問效率要求
- 安全性要求
- 設計資料物理儲存模式
- 如何存放資料
- 如何支援快速訪問
- 如何保證資料安全*
相關資料庫技術
- 儲存和檔案結構*(10章)
- 索引與雜湊(11章)
資料訪問設計的任務?
- 分析資料查詢要求
- 設計資料訪問方法
相關資料庫技術:
- SQL(3章)
- 中級SQL(4章)
- 高階SQL(5章)
- 查詢處理(12章)
- 查詢優化(13章)
- 資訊檢索(21章*)
資料控制設計的任務是什麼?
- 如何控制資料處理過程(系統架構)
- 如何支援多使用者併發訪問
相關資料庫技術:
- 事務管理(14章)
- 併發控制(15章)
- 資料庫系統的體系結構(17章)
- 並行資料庫(18章)
- 分散式資料庫*(19章)
資料維護的任務和重要性?
資料維護的任務
- 資料錄入與更新
- 更改資料結構
- 更改使用者訪問許可權
- 備份和恢復資料
相關資料庫技術
- SQL語言(3章,4章,5章)
- 備份與恢復系統(16章)
應用功能開發需要資料庫技術嗎?
應用開發的任務
- 演算法與程式實現
- 如何提高開發效率
- 如何高效訪問資料
- 資料分析
相關據庫技術
- 資料檢視(4章)
- 嵌入式SQL(5章)
- 完整性約束(4章)
- 索引技術(11章)
- 使用者訪問授權(4章)
- 儲存過程[函式,過程,觸發器](5章)
- 資料創庫與資料探勘*(20章)