1. 資料庫體系結構分為三級:外部級、概念級和什麼
資料庫的體系結構分成三級:外部級、概念級和內部級。
1、外部級
外部級最接近用戶是單個用戶所能看到的數據特徵,單個用戶使用的數據視圖的描述稱為「外模式」。
2、概念級
概念級涉及到所有用戶的數據定義,也就是全局性的數據視圖,全局數據視圖的描述稱為「概念模式」。
3、內部級
內部級最接近於物理存儲設備,涉及到物理數據存儲的結構。物理視圖的描述稱為「內模式」。
拓展資料:
資料庫的三級模式是資料庫在三個級別(層次)上的抽象,使用戶能夠邏輯地、抽象地處理數據而不必關心數據在計算機中的物理表示和存儲。
實際上
,對於一個資料庫系統而言一有物理級資料庫是客觀存在的,它是進行資料庫操作的基礎,概念級資料庫中不過是物理資料庫的一種邏輯的、抽象的描述(即模式),用戶級資料庫則是用戶與資料庫的介面,它是概念級資料庫的一個子集(外模式)。
2. 關系資料庫的四個層次結構是什麼
1.層次模型
層次模型是資料庫系統中最早使用的模型,它的數據結構類似一顆倒置的樹,每個節點表示一個記錄類型,記錄之間的聯系是一對多的聯系,基本特徵是:
* 一定有一個,並且只有一個位於樹根的節點,稱為根節點;
* 一個節點下面可以沒有節點,即向下沒有分支,那麼該節點稱為葉節點;
* 一個節點可以有一個或多個節點,前者稱為父節點,後者稱為子節點;
* 同一父節點的子節點稱為兄弟節點。
* 除根節點外,其他任何節點有且只有一個父節點;
圖11.7是一個層次模型的例子。
層次模型中,每個記錄類型可以包含多個欄位,不同記錄類型之間、同一記錄類型的不同欄位之間不能同名。如果要存取某一類型的記錄,就要從根節點開始,按照樹的層次逐層向下查找,查找路徑就是存取路徑。如圖11.8所示。
層次模型結構簡單,容易實現,對於某些特定的應用系統效率很高,但如果需要動態訪問數據(如增加或修改記錄類型)時,效率並不高。另外,對於一些非層次性結構(如多對多聯系),層次模型表達起來比較繁瑣和不直觀。
2.網狀模型
網狀模型可以看作是層次模型的一種擴展。它採用網狀結構表示實體及其之間的聯系。網狀結構的每一個節點代表一個記錄類型,記錄類型可包含若干欄位,聯系用鏈接指針表示,去掉了層次模型的限制。網狀模型的特徵是:
1. 允許一個以上的節點沒有父節點;
2. 一個節點可以有多於一個的父節點;
例如,圖11.9(a)和圖11.9(b)都是網狀模型的例子。圖11.9(a)中節點3有兩個父節點,即節點1和節點2;圖11.9(b)中節點4有三個父節點,即節點1,節點2和節點3。
由於網狀模型比較復雜,一般實際的網狀資料庫管理系統對網狀都有一些具體的限制。在使用網狀資料庫時有時候需要一些轉換。例如,如圖11.10所示。
網狀模型與層次模型相比,提供了更大的靈活性,能更直接地描述現實世界,性能和效率也比較好。網狀模型的缺點是結構復雜,用戶不易掌握,記錄類型聯系變動後涉及鏈接指針的調整,擴充和維護都比較復雜。
3.關系模型
關系模型是目前應用最多、也最為重要的一種數據模型。關系模型建立在嚴格的數學概念基礎上,採用二維表格結構來表示實體和實體之間的聯系。二維表由行和列組成。下面以教師信息表和課程表為例,說明關系模型中的一些常用術語:
表11.1 教師信息表(表名為:tea_info)
TNO(教師編號)
NAME(姓名)
GENDER(性別)
TITLE(職稱)
DEPT(系別)
805
李奇
女
講師
基礎部
856
薛智永
男
教授
信息學院
表11.2 課程表(表名為:cur_info)
CNO(課程編號)
DESCP(課程名稱)
PERIOD(學時)
TNO(主講老師編號)
005067
微機基礎
40
805
005132
數據結構
64
856
1. 關系(或表):一個關系就是一個表,如上面的教師信息表和課程表。
2. 元組:表中的一行為一個元組(不包括表頭)。
3. 屬性:表中的一列為一個屬性。
4. 主碼(或關鍵字):可以唯一確定一個元組和其他元組不同的屬性組。
5. 域:屬性的取值范圍。
6. 分量:元組中的一個屬性值。
7. 關系模式:對關系的描述,一般表示為:關系名(屬性1,屬性2,... ...,屬性n)。
關系模型中沒有層次模型中的鏈接指針,記錄之間的聯系是通過不同關系中的同名屬性來實現的。 關系模型的基本特徵是:
1. 建立在關系數據理論之上,有可靠的數據基礎;
2. 可以描述一對一,一對多和多對多的聯系。
3. 表示的一致性。實體本身和實體間聯系都使用關系描述。
4. 關系的每個分量的不可分性,也就是不允許表中表。
關系模型概念清晰,結構簡單,實體、實體聯系和查詢結果都採用關系表示,用戶比較容易理解。另外,關系模型的存取路徑對用戶是透明的,程序員不用關心具體的存取過程,減輕了程序員的工作負擔,具有較好的數據獨立性和安全保密性。
關系模型也有一些缺點,在某些實際應用中,關系模型的查詢效率有時不如層次和網狀模型。為了提高查詢的效率,有時需要對查詢進行一些特別的優化
3. 什麼叫做資料庫的「三層架構」
一:界面層
界面層提供給用戶一個視覺上的界面,通過界面層,用戶輸入數據、獲取數據。界面層同時也提供一定的安全性,確保用戶不用看到不必要的機密信息。
二:邏輯層
邏輯層是界面層和數據層的橋梁,它響應界面層的用戶請求,執行任務並從數據層抓取數據,並將必要的數據傳送給界面層。
三:數據層
數據層定義、維護數據的完整性、安全性,它響應邏輯層的請求,訪問數據。這一層通常由大型的資料庫伺服器實現,如Oracle 、Sybase、MS SQl Server等。
三層架構的好處:
從開發角度和應用角度來看,三層架構比雙層或單層結構都有更大的優勢。三層結構適合群體開發,每人可以有不同的分工,協同工作使效率倍增。開發雙層或單層應用時,每個開發人員都應對系統有較深的理解,能力要求很高,開發三層應用時,則可以結合多方面的人才,只需少數人對系統全面了解,從一定程度工降低了開發的難度。
三層架構屬於瘦客戶的模式,用戶端只需一個較小的硬碟、較小的內存、較慢的CPU就可以獲得不錯的性能。相比之下,單層或胖客戶對面器的要求太高。
三層架構的另一個優點在於可以更好的支持分布式計算環境。邏輯層的應用程序可以有多個機器上運行,充分利用網路的計算功能。分布式計算的潛力巨大,遠比升級CPU有效。
三層架構的最大優點是它的安全性。用戶端只能通過邏輯層來訪問數據層,減少了入口點,把很多危險的系統功能都屏蔽了。
另外三層架構還可以支持如下功能:Remote Access(遠程訪問資料),例如可透過Internet存取遠程資料庫;High Performance(提升運算效率)解決集中式運算(Centralize)及主從式架構(Client-Server)中,資料庫主機的運算負擔,降低資料庫主機的Connection Load,並可藉由增加App Server處理眾多的數據處理要求,這一點跟前面講到的分布式計算提高運算能力是一個道理;Client端發出Request(工作要求)後,便可離線,交由App Server和DataBase Server共同把工作完成,減少Client端的等待時間。