數據庫基礎(1)

數據庫的定義

數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據集合

數據庫的特徵
數據按一定的數據模型組織、描述和儲存
可爲各種用戶共享
冗餘度較小
數據獨立性較高
易擴展


什麼是DBMS

數據庫管理系統(Database  Management System,簡稱DBMS)是位於用戶與操作系統之間的一層數據管理軟件。

學生表


DBMS的用途
科學地組織和存儲數據、高效地獲取和維護數據

DBMS的主要功能

數據定義功能:提供數據定義語言(DDL)
  定義數據庫中的數據對象
數據操縱功能:提供數據操縱語言(DML)
  操縱數據實現對數據庫的基本操作
  (查詢、插入、刪除和修改)


什麼是數據庫系統
數據庫系統(Database System,簡稱DBS)是指在計算機系統中引入數據庫後的系統構成。
在不引起混淆的情況下常常把數據庫系統簡稱爲數據庫。
數據庫系統的構成
簡單說就是數據庫與數據庫管理系統的聯合。由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員(和用戶)構成。


數據的定義:描述事物的符號記錄
數據與其語義是不可分的
數據庫管理系統是位於用戶與操作系統之間的一層 數據管理軟件  
整體數據的結構化   是數據庫系統與文件系統的本質區別。
數據庫系統中數據的存取單位是 數據項
文件系統中數據的存取單位是紀錄


信息世界中的基本概念紀錄

(1) 實體(Entity) 
客觀存在並可相互區別的事物稱爲實體。
可以是具體的人、事、物或抽象的概念。
(2) 屬性(Attribute) 
實體所具有的某一特性稱爲屬性。
一個實體可以由若干個屬性來刻畫。  
(3) 碼(Key) 
唯一標識實體的屬性集稱爲碼。

4) 域(Domain) 
屬性的取值範圍稱爲該屬性的域。 
(5) 實體型(Entity Type) 
用實體名及其屬性名集合來抽象和刻畫
同類實體屬於一個實體型
(6) 實體集(Entity Set):同型實體的集合稱爲實體集

(7) 聯繫(Relationship)  
現實世界中事物內部以及事物之間的聯繫在信息世界
中反映爲實體內部的聯繫和實體之間的聯繫

實體型間聯繫 
兩個實體型                  一對一聯繫(1:1)   
三個實體型                  一對多聯繫(1:n) 
一個實體型                   多對多聯繫(m:n)



概念模型的表示方法

實體-聯繫方法(Entity-Relationship方法)
用E-R圖來描述信息世界的概念模型
E-R方法也稱爲E-R模型

1)實體型
用矩形表示,矩形框內寫明實體名。

2)屬性
用橢圓形表示屬性,並用無向邊將其與相應的實體型連接起來

3)聯繫
聯繫本身:用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯繫的類型(1:1、1:n或m:n)  
聯繫的屬性:聯繫本身也是一種實體型,也可以有屬性。如果一個聯繫具有屬性,則這些屬性也要用無向邊與該聯繫連接起來


數據模型

最常用的數據模型
層次模型
網狀模型
關係模型


關係模型的基本概念

關係(Relation)
一個關係對應通常說的一張表。
元組(Tuple)
表中的一行即爲一個元組。
屬性(Attribute)

表中的一列即爲一個屬性,給每一個屬性起一個名稱即屬性名。
碼(Key)
表中的某個屬性組,它可以唯一確定一個元組。
域(Domain)
屬性的取值範圍。
分量

元組中的一個屬性值。


關係模式
對關係的描述
關係名(屬性1,屬性2,…,屬性n)
學生(學號,姓名,年齡,性別,系,年級)

在關係模型中,實體以及實體間的聯繫都是用關係來表示。
注:
在層次、網狀模型中,數據之間的聯繫是通過指針實現的
在關係模型中,數據之間的聯繫是通過主碼和外碼實現的

實體及實體間的聯繫的表示方法
實體型:直接用關係(表)表示。
屬性:用屬性名錶示。
一對一聯繫:隱含在實體對應的關係中。
一對多聯繫:隱含在實體對應的關係中。
多對多聯繫:直接用關係表示。


表以文件形式存儲
有的DBMS一個表對應一個操作系統文件
有的DBMS自己設計文件結構

SQL Server 數據文件分類
mdf,每個數據庫有且僅有一個
Ndf,次要數據文件,含有不能放入主數據文件中的數據。可以有多個。
Ldf,至少有一個,最小512k


關係模型的優缺點

優點
建立在嚴格的數學概念的基礎上
概念單一。數據結構簡單、清晰,用戶易懂易用
實體和各類聯繫都用關係來表示。
對數據的檢索結果也是關係。
關係模型的存取路徑對用戶透明
具有更高的數據獨立性,更好的安全保密性
簡化了程序員的工作和數據庫開發建立的工作

缺點
存取路徑對用戶透明導致查詢效率往往不如非
關係數據模型

爲提高性能,必須對用戶的查詢請求進行優化
增加了開發數據庫管理系統的難度


數據庫系統結構

從數據庫管理系統角度看,數據庫系統通常採用三級模式結構:這是數據庫系統內部的模式結構

從數據庫最終用戶角度看,數據庫系統的結構分爲集中式結構、分佈式結構、客戶/服務器結構和並行結構。這是數據庫系統外部的體系結構

數據庫系統模式的概念

數據模型中有“型” 和“值” 的概念
型(Type)
對某一類數據的結構和屬性的說明
值(Value)
是型的一個具體賦值
例如:學生記錄
記錄型:
  (學號,姓名,性別,系別,年齡,籍貫)
該記錄型的一個記錄值:
  (900201,李明,男,計算機,22,江蘇)

模式(Schema)
數據庫中全體數據的邏輯結構和特徵的描述
是型的描述
反映的是數據的結構及其聯繫
模式是相對穩定的
模式的一個實例(Instance)
模式的一個具體值
反映數據庫某一時刻的狀態
同一個模式可以有很多實例
實例隨數據庫中的數據的更新而變動

將數據庫結構分爲3級:
1)面向用戶或應用程序員的用戶級、
2)面向建立和維護數據庫人員的概念級、
3)面向系統程序員的物理級

數據庫系統的三級模式結構


模式(也稱邏輯模式)
數據庫中全體數據的邏輯結構和特徵的描述
所有用戶的公共數據視圖,綜合了所有用戶的需求
一個數據庫只有一個模式
模式的地位:是數據庫系統模式結構的中間層
與數據的物理存儲細節和硬件環境無關
與具體的應用程序、開發工具及高級程序設計語言無關
模式的定義
數據的邏輯結構(數據項的名字、類型、取值範圍等)
數據之間的聯繫
數據有關的安全性、完整性要求
DBMS提供DDL嚴格定義模式

外模式(也稱子模式或用戶模式)
數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特徵的描述
數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示

外模式的地位:介於模式與應用之間
模式與外模式的關係:一對多
外模式通常是模式的子集
一個數據庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求
對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同
外模式與應用的關係:一對多
同一外模式也可以爲某一用戶的多個應用系統所使用,
但一個應用程序只能使用一個外模式。

外模式的用途
保證數據庫安全性的一個有力措施。
每個用戶只能看見和訪問所對應的外模式中的數據

內模式(也稱存儲模式)
是數據物理結構和存儲方式的描述
是數據在數據庫內部的表示方式
記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)
索引的組織方式
數據是否壓縮存儲
數據是否加密
數據存儲記錄結構的規定
一個數據庫只有一個內模式


數據按外模式的描述提供給用戶,
數據按內模式的描述存儲在磁盤中,
而模式提供了連接這兩級的相對穩定的中間觀點,並使得這兩級的任何一級的改變都不受另一級的牽制

對於一個數據庫系統而言:
物理級數據庫是客觀存在的,它是進行數據庫操作的基礎,
概念級數據庫中不過是物理數據庫的一種邏輯的、抽象的描述(即模式),
用戶級數據庫則是用戶與數據庫的接口,它是概念級數據庫的一個子集(外模式)


外模式/模式映象

定義外模式與模式之間的對應關係
每一個外模式都對應一個外模式/模式映象
映象定義通常包含在各自外模式的描述中

保證數據的邏輯獨立性
當模式改變時,數據庫管理員修改有關的外模式/模式映象,使外模式保持不變
應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。

模式/內模式映象

模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關係。例如,說明邏輯記錄和字段在內部是如何表示的
數據庫中模式/內模式映象是唯一的
該映象定義通常包含在模式描述中

保證數據的物理獨立性
當數據庫的存儲結構改變了(例如選用了另一種存儲結構),數據庫管理員修改模式/內模式映象,使模式保持不變
應用程序不受影響。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。

發佈了68 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章