『數據庫』樸實無華的數據庫緒論

『數據庫』 樸實無華且枯燥的數據庫教程–入門必看!(不收藏,真的喫虧了)

數據庫系統概述

一、四個基本概念

1.數據(Data):數據是數據庫中存儲的基本對象
1)定義:描述事物的符號記錄
2)種類:文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等
3)特點:數據與其語義是不可分的

2.數據庫(Database):
1)定義:數據庫是長期儲存在計算機內、有組織的、可共享的大量數據的集合。
2)基本特徵:

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

3.數據庫管理系統(DBMS)
1)定義:
位於用戶與操作系統之間的一層數據管理軟件。
是基礎軟件,是一個大型複雜的軟件系統
2)用途:
科學地組織和存儲數據、高效地獲取和維護數據
3)功能:

  • 數據定義功能

    提供數據定義語言(DDL)
    定義數據庫中的數據對象

  • 數據組織、存儲和管理

    分類組織、存儲和管理各種數據
    確定組織數據的文件結構和存取方式
    實現數據之間的聯繫
    提供多種存取方法提高存取效率

  • 數據操縱功能

    提供數據操縱語言(DML)
    實現對數據庫的基本操作 (查詢、插入、刪除和修改)
    數據庫的事務管理和運行管理
    數據庫在建立、運行和維護時由DBMS統一管理和控制
    保證數據的安全性、完整性、多用戶對數據的併發使用
    發生故障後的系統恢復

  • 數據庫的建立和維護功能(實用程序)

    數據庫初始數據裝載轉換
    數據庫轉儲
    介質故障恢復
    數據庫的重組織
    性能監視分析等

  • 其它功能
    DBMS與網絡中其它軟件系統的通信
    兩個DBMS系統的數據轉換
    異構數據庫之間的互訪和互操作

4.數據庫系統(DBS)
1)定義:
在計算機系統中引入數據庫後的系統構成
2)構成:

  • 數據庫
  • 數據庫管理系統(及其開發工具)
  • 應用系統
  • 數據庫管理員

5.數據與信息
數據是信息的載體
信息是數據的內涵

6.i數據的分類

  • 格式化數據:EXCEL表格,XML;THML;文件格式;特殊約定的格式
  • 非格式化的數據:語言,音頻,視頻

二、數據管理技術的產生和發展

1.什麼是數據管理
對數據進行分類、組織、編碼、存儲、檢索和維護
數據處理的中心問題

2.數據管理技術的發展過程
1)動力:應用需求的推動;計算機硬件的發展;計算機軟件的發展
2)人工管理階段(20世紀40年代中–50年代中):
A.背景:
應用需求——科學計算
硬件水平——無直接存取存儲設備
軟件水平——沒有操作系統
處理方式——批處理
B.特點:
數據的管理者:用戶(程序員),數據不保存
數據面向的對象:某一應用程序
數據的共享程度:無共享、冗餘度極大
數據的獨立性:不獨立,完全依賴於程序
數據的結構化:無結構
數據控制能力:應用程序自己控制
3)文件系統階段(20世紀50年代末–60年代中)
A.背景:
應用需求——科學計算、管理
硬件水平——磁盤、磁鼓
軟件水平——有文件系統
處理方式——聯機實時處理、批處理
B.特點:
數據的管理者:文件系統,數據可長期保存
數據面向的對象:某一應用程序
數據的共享程度:共享性差、冗餘度大
數據的結構化:記錄內有結構,整體無結構
數據的獨立性:獨立性差,數據的邏輯結構改變必須
修改應用程序
數據控制能力:應用程序自己控制
C.文件系統中數據的結構:
記錄內有結構
數據的結構是靠程序定義和解釋的
文件間是獨立的,因此數據整體無結構
可以間接實現數據整體的有結構,但必須在應用程序中描述數據間的聯繫
數據的最小存取單位是記錄
4)數據庫系統階段(20世紀60年代末–現在)
A.背景:
應用背景——大規模管理
硬件背景——大容量磁盤、磁盤陣列
軟件背景——有數據庫管理系統
處理方式——聯機實時處理,分佈處理,批處理

3.數據庫系統的特點
1)數據結構化
2)數據的共享性高,冗餘度低,易擴充
3)數據獨立性高
4)數據由DBMS統一管理和控制

數據模型

在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。
通俗地講數據模型就是現實世界的模擬。
數據模型應滿足三方面要求:能比較真實地模擬現實世界;容易爲人所理解;便於在計算機上實現
一、.兩類數據模型

1. 概念模型:也稱信息模型,它是按用戶的觀點來對數據和信息建模,用於數據庫設計。
2.邏輯模型和物理模型
1)邏輯模型:主要包括網狀模型、層次模型、關係模型、面向對象模型等,按計算機系統的觀點對數據建模,用於DBMS實現。
2)物理模型:是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。
客觀對象的抽象過程—兩步抽象
現實世界中的客觀對象抽象爲概念模型;
把概念模型轉換爲某一DBMS支持的數據模型。

二、數據模型的組成要素

1.數據結構:
1)定義:描述數據庫的組成對象,以及對象之間的聯繫
2)內容:
與數據類型、內容、性質有關的對象
與數據之間聯繫有關的對象
3)數據結構是對系統靜態特性的描述

2.數據操作
1)定義:對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則
2)類型:
查詢
更新(包括插入、刪除、修改)
3)數據模型對操作的定義
操作的確切含義
操作符號
操作規則(如優先級)
實現操作的語言
4)數據操作是對系統動態特性的描述

3.數據的完整性約束條件
1)數據的完整性約束條件
一組完整性規則的集合。
完整性規則:給定的數據模型中數據及其聯繫所具有的制約和儲存規則
用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。
2)數據模型對完整性約束條件的定義
反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關係模型中,任何關係必須滿足實體完整性和參照完整性兩個條件。
提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。

概念模型

一、信息世界中的基本概念
1. 實體(Entity)
客觀存在並可相互區別的事物稱爲實體。
可以是具體的人、事、物或抽象的概念。
2.屬性(Attribute)
實體所具有的某一特性稱爲屬性。
一個實體可以由若干個屬性來刻畫。
3.碼(Key)
唯一標識實體的屬性集稱爲碼。
4. 域(Domain)
屬性的取值範圍稱爲該屬性的域。
5.實體型(Entity Type)
用實體名及其屬性名集合來抽象和刻畫同類實體稱爲實體型
6.實體集(Entity Set)
同一類型實體的集合稱爲實體集
7.聯繫(Relationship
現實世界中事物內部以及事物之間的聯繫在信息世界中反映爲實體內部的聯繫和實體之間的聯繫。
實體內部的聯繫通常是指組成實體的各屬性之間的聯繫
實體之間的聯繫通常是指不同實體集之間的聯繫

二、兩個實體型之間的聯繫

1.一對一聯繫(1:1)
如果對於實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯繫,反之亦然,則稱實體集A與實體集B具有一對一聯繫,記爲1:1 。

2.一對多聯繫(1:n)
如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中至多隻有一個實體與之聯繫,則稱實體集A與實體集B有一對多聯繫,記爲1:n。

3.多對多聯繫(m:n)
如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯繫,則稱實體集A與實體B具有多對多聯繫,記爲m:n

三、兩個以上實體型之間的聯繫

1.兩個以上實體型之間一對多聯繫
若實體集E1,E2,…,En存在聯繫,對於實體集Ej(j=1,2,…,i-1,i+1,…,n)中的給定實體,最多隻和Ei中的一個實體相聯繫,則我們說Ei與E1,E2,…,Ei-1,Ei+1,…,En之間的聯繫是一對多的
2.兩個以上實體型間的多對多聯繫

四、單個實體型內的聯繫
1.一對多聯繫
2.一對一聯繫
3.多對多聯繫

五、 概念模型的一種表示方法

1.實體-聯繫方法(E-R方法)
用E-R圖來描述現實世界的概念模型
E-R方法也稱爲E-R模型
1)實體型
用矩形表示,矩形框內寫明實體名。
2)屬性
用橢圓形表示,並用無向邊將其與相應的實體連接起來
3)聯繫
用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯繫的類型(1:1、1:n或m:n)
在這裏插入圖片描述
聯繫的屬性:
聯繫本身也是一種實體型,也可以有屬性。如果一個聯繫具有屬性,則這些屬性也要用無向邊與該聯繫連接起來

四、最常用的數據模型
1.非關係模型
1)層次模型(Hierarchical Model)
層次模型是數據庫系統中最早出現的數據模型
層次模型用樹形結構來表示各類實體以及實體間的聯繫
條件:

  • 有且只有一個結點沒有雙親結點,這個結點稱爲根結點
  • 根以外的其它結點有且只有一個雙親結點

特點:

  • 結點的雙親是唯一的
  • 只能直接處理一對多的實體聯繫
  • 每個記錄類型可以定義一個排序字段,也稱爲碼字段
  • 任何記錄值只有按其路徑查看時,才能顯出它的全部意義
  • 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在

層次模型的完整性約束條件:

  • 無相應的雙親結點值就不能插入子女結點值
  • 如果刪除雙親結點值,則相應的子女結點值也被同時刪除
  • 更新操作時,應更新所有相應記錄,以保證數據的一致性

層次數據模型的存儲結構

  • 鄰接法
  • 鏈接法:子女-兄弟鏈接法;層次序列鏈接法

優點

  • 層次模型的數據結構比較簡單清晰
  • 查詢效率高,性能優於關係模型,不低於網狀模型
  • 層次數據模型提供了良好的完整性支持

缺點

  • 多對多聯繫表示不自然
  • 對插入和刪除操作的限制多,應用程序的編寫比較複雜
  • 查詢子女結點必須通過雙親結點
  • 由於結構嚴密,層次命令趨於程序化

2)網狀模型(Network Model)
網狀數據庫系統採用網狀模型作爲數據的組織方式
條件:

  • 允許一個以上的結點無雙親
  • 一個結點可以有多於一個的雙親
    表示方法
    實體型:用記錄類型描述每個結點表示一個記錄類型(實體)
    屬性:用字段描述每個記錄類型可包含若干個字段
    聯繫:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯繫

網狀模型與層次模型的區別

  • 網狀模型允許多個結點沒有雙親結點
  • 網狀模型允許結點有多個雙親結點
  • 網狀模型允許兩個結點之間有多種聯繫(複合聯繫)
  • 網狀模型可以更直接地去描述現實世界
  • 層次模型實際上是網狀模型的一個特例

多對多聯繫在網狀模型中的表示:將多對多聯繫直接分解成一對多聯繫

網狀模型完整性約束
碼:唯一標識記錄的數據項的集合
一個聯繫中雙親記錄與子女記錄之間是一對多聯繫
支持雙親記錄和子女記錄之間某些約束條件

網狀模型存儲常用方法

  • 單向鏈接
  • 雙向鏈接
  • 環狀鏈接
  • 向首鏈接

優點

  • 能夠更爲直接地描述現實世界,如一個結點可以有多個雙親
  • 具有良好的性能,存取效率較高

缺點

  • 結構比較複雜,而且隨着應用環境的擴大,數據庫的結構就變
  • 得越來越複雜,不利於最終用戶掌握
  • DDL、DML語言複雜,用戶不容易使用

2.關係模型(Relational Model)
關係數據庫系統採用關係模型作爲數據的組織方式
關係數據模型的數據結構
1)關係(Relation)
一個關係對應通常說的一張表
2)元組(Tuple)
表中的一行即爲一個元組
3)屬性(Attribute)
表中的一列即爲一個屬性,給每一個屬性起一個名稱即屬性名
4)主碼(Key)
表中的某個屬性組,它可以唯一確定一個元組。
5)域(Domain)
屬性的取值範圍。
6)分量
元組中的一個屬性值。
7)關係模式
對關係的描述
8)關係名(屬性1,屬性2,…,屬性n)
學生(學號,姓名,年齡,性別,系,年級)

關係模式最基本的規範條件:關係的每一個分量必須是一個不可分的數據項, 不允許表中還有表

關係的完整性約束條件

  • 實體完整性
  • 參照完整性
  • 用戶定義的完整性

優點

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

缺點

  • 存取路徑對用戶透明導致查詢效率往往不如非關係數據模型
  • 爲提高性能,必須對用戶的查詢請求進行優化增加了開發DBMS的難度

3.面向對象模型(Object Oriented Model)
4.對象關係模型(Object Relational Model)

數據庫系統結構

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

2.從數據庫最終用戶角度看(數據庫系統外部的體系結構) ,數據庫系統的結構分爲:

  • 單用戶結構
  • 主從式結構
  • 分佈式結構
  • 客戶/服務器
  • 瀏覽器/應用服務器/數據庫服務器多層結構等

一、數據庫系統模式的概念

1.“型” 和“值” 的概念
型(Type)
對某一類數據的結構和屬性的說明
值(Value)
是型的一個具體賦值
模式(Schema)
數據庫邏輯結構和特徵的描述
是型的描述
反映的是數據的結構及其聯繫
模式是相對穩定的
實例(Instance)
模式的一個具體值
反映數據庫某一時刻的狀態
同一個模式可以有很多實例
實例隨數據庫中的數據的更新而變動

二、數據庫系統的三級模式結構
1.模式(Schema)

  • 模式(也稱邏輯模式)
    數據庫中全體數據的邏輯結構和特徵的描述
    所有用戶的公共數據視圖,綜合了所有用戶的需求
  • 一個數據庫只有一個模式
  • 模式的地位:是數據庫系統模式結構的中間層
    與數據的物理存儲細節和硬件環境無關
    與具體的應用程序、開發工具及高級程序設計語言無關

定義

  • 數據的邏輯結構(數據項的名字、類型、取值範圍等)
  • 數據之間的聯繫
  • 數據有關的安全性、完整性要求

2.外模式(External Schema)

  • 數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特徵的描述

  • 數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示
    用途

  • 保證數據庫安全性的一個有力措施

  • 每個用戶只能看見和訪問所對應的外模式中的數據

3.內模式(Internal Schema)

  • 是數據物理結構和存儲方式的描述
  • 是數據在數據庫內部的表示方式
  • 一個數據庫只有一個內模式

在這裏插入圖片描述
三、數據庫的二級映像功能與數據獨立性

  • 三級模式是對數據的三個抽象級別
  • 二級映象在DBMS內部實現這三個抽象層次的聯繫和轉換
    外模式/模式映像
    模式/內模式映像

1.外模式/模式映象

  • 模式:描述的是數據的全局邏輯結構
  • 外模式:描述的是數據的局部邏輯結構
  • 同一個模式可以有任意多個外模式
  • 每一個外模式,數據庫系統都有一個外模式/模式映象,定義外模式與模式之間的對應關係
  • 映象定義通常包含在各自外模式的描述中

2.模式/內模式映象

  • 模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關係。
  • 數據庫中模式/內模式映象是唯一的
  • 該映象定義通常包含在模式描述中

數據庫系統的組成

一、數據庫
1.硬件平臺及數據庫
(1) 足夠大的內存
操作系統
DBMS的核心模塊
數據緩衝區
應用程序
(2) 足夠大的外存
磁盤或磁盤陣列
數據庫
光盤、磁帶
數據備份
(3) 較高的通道能力,提高數據傳送率

2.軟件
DBMS
支持DBMS運行的操作系統
與數據庫接口的高級語言及其編譯系統
以DBMS爲核心的應用開發工具
爲特定應用環境開發的數據庫應用系統

3.人員
數據庫管理員
系統分析員和數據庫設計人員
應用程序員
用戶

二、數據庫管理系統(及其開發工具)
三、應用系統
四、數據庫管理員

  • 監控數據庫的使用和運行
    週期性轉儲數據庫:數據文件;日誌文件
    系統故障恢復
    介質故障恢復
    監視審計文件
  • 數據庫的改進和重組
    性能監控和調優
    定期對數據庫進行重組織,以提高系統的性能
    需求增加和改變時,數據庫需要重構造

寫在最後:
本數據庫專欄是由愛喫老談酸菜的DV一同完成的,博客鏈接在主頁友鏈,是我的好哥們✈
Name:風骨散人,目前是一名雙非在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!名字的含義:我想有一天我能有能力隨心所欲不逾矩,不總是向生活低頭,有能力讓家人擁有富足的生活而不是爲了生計而到處奔波。“世人慌慌張張,不過是圖碎銀幾兩。偏偏這碎銀幾兩,能解世間惆悵,可讓父母安康,可護幼子成長 …”
文章主要內容:
Python,C++,C語言,JAVA,C#等語言的教程
ACM題解、模板、算法等,主要是數據結構,數學和圖論
設計模式,數據庫,計算機網絡,操作系統,計算機組成原理
Python爬蟲、深度學習、機器學習
計算機系408考研的所有專業課內容
目前還在更新中,先關注不迷路。微信公衆號,cnblogs(博客園),CSDN同名“風骨散人”

如果有什麼想看的,可以私信我,如果在能力範圍內,我會發布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章