數據庫一些基礎知識 / 關係 / 數據庫系統三級模式 / 數據與程序獨立性

此篇文章中總結了一些關於數據庫術語的一些概念,也加上自己初步的一些淺顯的理解,希望可以幫到大家,有錯誤的地方非常歡迎大家指出,感謝支持。
PS:♡ ̑̑ฅ(ٛ˃̶˙ω˙˂̶ٛฅ)本可愛登場!

·
一、概念:

  1. 數據:數據是數據庫中存儲的基本對象,也可稱之爲描述事物的符號記錄
    PS: 比如 數字 —— 最簡單的一種數據。
  2. 數據庫:長期存儲在計算機內、有組織的可共享的大量數據的集合
    PS: 可理解爲按一定格式,將數據存放到計算機上的倉庫。
  3. 數據庫管理系統:位於用戶與操作系統之間的一層數據管理軟件,是計算機的基本軟件。
    PS: 主要有以下功能:
    (1) 數據定義功能(見名知義)
    (2) 數據組織、存儲和管理
    (3)數據操控功能
    (4)數據庫的事務管理和運行管理
    (5) 數據庫的建立和維護
    (6)其他 ≥﹏≤
  4. 數據庫系統:由數據庫、數據庫管理系統(及其應用開發工具)、應用程序和數據庫管理員組成的存儲、管理、處理和維護數據的系統。
  5. 實體:客觀存在並可相互區別的十五稱爲實體。
    PS: 實體不一定真存在,它可以是人,也可以是抽象的概念,比如:學生的課,學生的一次選課都是實體(前者確實存在,後者是抽象的動作行爲)。
  6. 實體型:用實體名及其屬性名集合來抽象和刻畫同類實體,稱爲實體型。
    PS: 這裏定義複雜,不過不慌,比如:
    我認爲它就 像結構體 一樣,將實體的共同屬性放到一起來組成一個結構,比如一個人,他有身高、體重、年齡等屬性。則:人(身高、體重、年齡) 就是一個實體型(很簡單吧 ≥ω≤)。
  7. 實體集:很簡單,就是同一類型實體的集合。
  8. 實體之間的聯繫:通常指不同實體之間的聯繫。
    PS: 就像一個人與另一個人之間聯繫一樣,實體之間的聯繫通常指不同實體之間的聯繫。因此:實體之間的聯繫有以下幾種類型:
            一對一、一對多、多對多;

二、定義並解釋以下術語:

     1.關係:
           定義: 關係模型中的單一的數據結構,關係可以有三種類型:
                   基本表(實際存在的表,是實際存儲數據的邏輯表示)
                   查詢表(查詢結果對應的表)
                   視圖表(由基本表或其他視圖表導出的表,不對應實際存儲的數據);
           解釋: 比如:現實世界中的實體以及實體之間的聯繫我們用一種結構類型來描述,我們稱之爲關係
     2.屬性:
           定義: 在現實世界中,一個事物常常取若干特性來描述,這些特性稱爲屬性。
           解釋:我們平時玩的遊戲怪物的攻防屬性 ,哈哈(另外,打遊戲可以找我一起! O_o )。
     3.域:
           定義: 每個屬性的取值範圍對應一個值的集合,稱爲該屬性的域(domain)。
           解釋: 例如{1,2} 、大於0且小於一百的整數………可以稱之爲域。
     4.元組:
           定義: 給定一組可相同的域(n個),他們的笛卡爾積的每一個元素,稱爲n元組,簡稱元組。
           解釋: 通俗來說元組就是二維表中的行
     5.碼:
           定義: 也稱碼鍵,能唯一標識實體的屬性(可唯一確定一個元組),是整個實體的性質,而不是單個實體的性質,包括超碼、候選碼、主碼。
           解釋: 比如一個學生實體,我們知道學號不能重複,所以 學號 可以作爲本關係中的碼。
               5.1. 候選碼: 關係中的某一屬性組的值能夠唯一標識一個元組,而其子集不能,則該屬性組爲候選碼
               5.2. 主碼 :若一個關係中有多個候選碼,則選定其中的一個作爲主碼
     6.分量:
           定義: 元組中的一個屬性值。
           解釋: 通俗來說元組就是二維表中的行中的某一個值
     7.關係模式:
           定義: 對關係的描述方式。
           解釋: 一般表示爲:關係名(屬性1、屬性2、……、屬性n)
               例如:學生(學號,姓名,年齡)。
               要求:關係的每一個分量必須是不可分的數據項,並且關係必須是規範化的。
     8.數據定義語言:
           定義: 用來創建、更改和刪除數據庫對象、改變數據庫結構的語言。
           解釋: 我們可以用此語言來對數據庫中數據進行操作:
               例如: CREATE DATABASE (建立數據庫)
                           CREATE TABLE (建立數據表)
                           CREATE INDEX:建立數據表索引。
     9.數據操縱語言:
           定義: 用來檢索、插入和修改數據的語言。

           解釋: 我們可以用此語言來對數據庫中數據進行操作:
               例如:SELECT(查詢)
                          INSERT(添加)
                          UPDATE(修改)

三、數據庫系統的三級模式結構,並說明其優點:

     1.簡介:
            數據庫系統的三級模式結構是指:數據庫系統是由外模式、模式、內模式,三級構成。(這裏截取書本上的圖來加以說明)


在這裏插入圖片描述

     2.優點:
            2.1.   模  式:模式也稱概念模式或者邏輯模式。

                       優點:所有用戶的公共數據視圖。是數據庫在邏輯級上的視圖,不涉及數據的存儲細節,與具體的應用程序、開發工具、設計語言相互獨立。

            2.2. 外模式:外模式也稱 子模式 或 用戶模式。

                       優點:一個數據庫可以有多個外模式,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式通常是模式的子集。用戶只能訪問看見所對應的數據,不能看到其他數據。(保證數據庫安全性的一個有力措施)

            2.3. 內模式:內模式也稱存儲模式。

                       優點:唯一性(一個數據庫只有一個內模式),它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。比如:升降序存儲、數據是否加密等等。

四、什麼叫數據與程序的物理獨立性?什麼叫數據與程序的邏輯獨立性?爲什麼數據庫系統具有程序與數據的獨立性?

     1.物理獨立性:
                我們已經知道數據庫中模式內模式唯一的,所以模式/內模式 映像唯一的。當數據庫的存儲結構改變時,由數據管理員對模式/內模式映像做相應改變,可以使模式保持不變,從而應用程序保持不變。保證了程序物理獨立性。
     2.邏輯獨立性:
                我們已知:一個模式可以有任意多個外模式,對於每一個外模式,數據庫系統都有一個外模式/模式 映像。當模式改變時,由數據庫管理員對各個外模式/模式的映像做相應改變,可以實外模式保持不變。應用程序從而保持不變,因此保證了數據的邏輯獨立性。
     3.爲什麼數據庫具有以上獨立性:
                在介紹兩種獨立性的時候,我們已經粗略的解釋過此問題。因爲數據庫管理系統在上面提到的數據庫的三級模式中提供了兩層映像外模式/模式、模式/內模式 映像。其中:
                外模式/模式映像賦予數據庫管理系統數據的邏輯獨立性
                模式/內模式映像賦予數據庫管理系統數據的物理獨立性

以上便是對於數據庫一小部分基礎知識的整理)。其中加上的一小部分的自己的理解, 如果有不對的地方請大家一定指出來,在此萬分感謝! (❁´◡`❁)*✲゚    *♡ ̑̑ฅ(ٛ˃̶˙ω˙˂̶ٛฅ)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章