數據庫知識總結(1)

數據庫也是計算機類筆試面試中不可避免會遇到的考點,尤其是銀行和部分傳統軟件類公司。這裏根據整理的資料,對數據庫的相關知識也做個總結吧。希望學過數據庫但長時間不用的同學根據這些知識能夠回憶和重拾,沒學過的同學能掌握一些數據庫的基礎知識。

第一節

一、相關概念
  1. Data:數據,是數據庫中存儲的基本對象,是描述事物的符號記錄。
  2. Database:數據庫,是長期儲存在計算機內、有組織的、可共享的大量數據的集合。
  3. DBMS:數據庫管理系統,是位於用戶與操作系統之間的一層數據管理軟件,用於科學地組織、存儲和管理數據、高效地獲取和維護數據。
  4. DBS:數據庫系統,指在計算機系統中引入數據庫後的系統,一般由數據庫、數據庫管理系統、應用系統、數據庫管理員(DBA)構成。
  5. 數據模型:是用來抽象、表示和處理現實世界中的數據和信息的工具,是對現實世界的模擬,是數據庫系統的核心和基礎;其組成元素有數據結構、數據操作和完整性約束。
  6. 概念模型:也稱信息模型,是按用戶的觀點來對數據和信息建模,主要用於數據庫設計。
  7. 邏輯模型:是按計算機系統的觀點對數據建模,用於DBMS實現。
  8. 物理模型:是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法,是面向計算機系統的。
  9. 實體和屬性:客觀存在並可相互區別的事物稱爲實體。實體所具有的某一特性稱爲屬性。
    10.E-R圖:即實體-關係圖,用於描述現實世界的事物及其相互關係,是數據庫概念模型設計的主要工具。
    11.關係模式:從用戶觀點看,關係模式是由一組關係組成,每個關係的數據結構是一張規範化的二維表。
    12.型/值:型是對某一類數據的結構和屬性的說明;值是型的一個具體賦值,是型的實例。
    13.數據庫模式:是對數據庫中全體數據的邏輯結構(數據項的名字、類型、取值範圍等)和特徵(數據之間的聯繫以及數據有關的安全性、完整性要求)的描述。
    14.數據庫的三級系統結構:外模式、模式和內模式。
    15.數據庫內模式:又稱爲存儲模式,是對數據庫物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。一個數據庫只有一個內模式。
    16.數據庫外模式:又稱爲子模式或用戶模式,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是數據庫用戶的數據視圖。通常是模式的子集。一個數據庫可有多個外模式。
    17.數據庫的二級映像:外模式/模式映像、模式/內模式映像。
二、重點知識點
  1. 數據庫系統由數據庫、數據庫管理系統、應用系統和數據庫管理員構成。

  2. 數據模型的組成要素是:數據結構、數據操作、完整性約束條件。

  3. 實體型之間的聯繫分爲一對一、一對多和多對多三種類型。

  4. 常見的數據模型包括:關係、層次、網狀、面向對象、對象關係映射等幾種。

  5. 關係模型的完整性約束包括:實體完整性、參照完整性和用戶定義完整性。

  6. 闡述數據庫三級模式、二級映象的含義及作用。
    數據庫三級模式反映的是數據的三個抽象層次: 模式是對數據庫中全體數據的邏輯結構和特徵的描述。內模式又稱爲存儲模式,是對數據庫物理結構和存儲方式的描述。外模式又稱爲子模式或用戶模式,是對特定數據庫用戶相關的局部數據的邏輯結構和特徵的描述。
    數據庫三級模式通過二級映象在 DBMS 內部實現這三個抽象層次的聯繫和轉換。外模式面向應用程序, 通過外模式/模式映象與邏輯模式建立聯繫, 實現數據的邏輯獨立性。 模式/內模式映象建立模式與內模式之間的一對一映射, 實現數據的物理獨立性。

第二節

一、相關概念
  1. 主鍵: 能夠唯一地標識一個元組的屬性或屬性組稱爲關係的鍵或候選鍵。 若一個關係有多個候選鍵則可選其一作爲主鍵(Primary key)。

  2. 外鍵:如果一個關係的一個或一組屬性引用(參照)了另一個關係的主鍵,則稱這個或這組屬性爲外碼或外鍵(Foreign key)。

  3. 關係數據庫: 依照關係模型建立的數據庫稱爲關係數據庫。 它是在某個應用領域的所有關係的集合。

  4. 關係模式: 簡單地說,關係模式就是對關係的型的定義, 包括關係的屬性構成、各屬性的數據類型、 屬性間的依賴、 元組語義及完整性約束等。 關係是關係模式在某一時刻的狀態或內容, 關係模型是型, 關係是值, 關係模型是靜態的、 穩定的, 而關係是動態的、隨時間不斷變化的,因爲關係操作在不斷地更新着數據庫中的數據。

  5. . 實體完整性:用於標識實體的唯一性。它要求基本關係必須要有一個能夠標識元組唯一性的主鍵,主鍵不能爲空,也不可取重複值。

  6. 參照完整性: 用於維護實體之間的引用關係。 它要求一個關係的外鍵要麼爲空, 要麼取與被參照關係對應的主鍵值,即外鍵值必須是主鍵中已存在的值。

  7. 用戶定義的完整性:就是針對某一具體應用的數據必須滿足的語義約束。包括非空、 唯一和布爾條件約束三種情況。

二、重要知識點
  1. 關係數據庫語言分爲關係代數、關係演算和結構化查詢語言三大類。

  2. 關係的 5 種基本操作是選擇、投影、並、差、笛卡爾積。

  3. 關係模式是對關係的描述,五元組形式化表示爲:R(U,D,DOM,F),其中

     R —— 關係名
    
     U —— 組成該關係的屬性名集合
    
     D —— 屬性組 U 中屬性所來自的域
    
     DOM —— 屬性向域的映象集合
    
     F —— 屬性間的數據依賴關係集合
    
  4. 笛卡爾乘積,選擇和投影運算如下
    在這裏插入圖片描述

第三節

一、相關概念
  1. SQL:結構化查詢語言的簡稱, 是關係數據庫的標準語言。SQL 是一種通用的、 功能極強的關係數據庫語言, 是對關係數據存取的標準接口, 也是不同數據庫系統之間互操作的基礎。集數據查詢、數據操作、數據定義、和數據控制功能於一體。

  2. 數據定義:數據定義功能包括模式定義、表定義、視圖和索引的定義。

  3. 嵌套查詢:指將一個查詢塊嵌套在另一個查詢塊的 WHERE 子句或 HAVING 短語的條件中的查詢。

二、重要知識點
  1. SQL 數據定義語句的操作對象有:模式、表、視圖和索引。

  2. SQL 數據定義語句的命令動詞是:CREATE、DROP 和 ALTER。

  3. RDBMS 中索引一般採用 B+樹或 HASH 來實現。

  4. 索引可以分爲唯一索引、非唯一索引和聚簇索引三種類型。
    在這裏插入圖片描述

  5. SQL 創建表語句的一般格式爲

        CREATE TABLE <表名>
    
        ( <列名> <數據類型>[ <列級完整性約束> ]
    
        [,<列名> <數據類型>[ <列級完整性約束>] ] …
    
        [,<表級完整性約束> ] ) ;
    

其中<數據類型>可以是數據庫系統支持的各種數據類型,包括長度和精度。

列級完整性約束爲針對單個列(本列)的完整性約束, 包括 PRIMARY KEY、 REFERENCES表名(列名)、UNIQUE、NOT NULL 等。

表級完整性約束可以是基於表中多列的約束,包括 PRIMARY KEY ( 列名列表) 、FOREIGN KEY REFERENCES 表名(列名) 等。

  1. SQL 創建索引語句的一般格式爲
    CREATE [UNIQUE] [CLUSTER] INDEX <索引名>

         ON <表名> (<列名列表> ) ;
    

其中UNIQUE:表示創建唯一索引,缺省爲非唯一索引;

CLUSTER:表示創建聚簇索引,缺省爲非聚簇索引;

<列名列表>:一個或逗號分隔的多個列名,每個列名後可跟 ASC 或 DESC,表示升/降序,缺省爲升序。多列時則按爲多級排序。

  1. SQL 查詢語句的一般格式爲

        SELECT [ALL|DISTINCT] <算術表達式列表> FROM <表名或視圖名列表>
    
        [ WHERE <條件表達式 1> ]
    
        [ GROUP BY <屬性列表 1> [ HAVING <條件表達式 2 > ] ]
    
        [ ORDER BY <屬性列表 2> [ ASC|DESC ] ] ;
    

其中

ALL/DISTINCT: 缺省爲 ALL, 即列出所有查詢結果記錄, 包括重複記錄。 DISTINCT則對重複記錄只列出一條。

算術表達式列表:一個或多個逗號分隔的算術表達式,表達式由常量(包括數字和字符串)、列名、函數和算術運算符構成。每個表達式後還可跟別名。也可用 *代表查詢表中的所有列。

<表名或視圖名列表>: 一個或多個逗號分隔的表或視圖名。 表或視圖名後可跟別名。

條件表達式 1:包含關係或邏輯運算符的表達式,代表查詢條件。

條件表達式 2:包含關係或邏輯運算符的表達式,代表分組條件。

<屬性列表 1>:一個或逗號分隔的多個列名。

<屬性列表 2>: 一個或逗號分隔的多個列名, 每個列名後可跟 ASC 或 DESC, 表示升/降序,缺省爲升序。

關於SQL語句的知識這裏先作如上簡略介紹,具體寫法下次將專門拿出一篇來敘述。

第四節

一、相關概念和知識

1.觸發器是用戶定義在基本表上的一類由事件驅動的特殊過程。由服務器自動激活, 能執行更爲複雜的檢查和操作,具有更精細和更強大的數據控制能力。使用 CREATE TRIGGER 命令建立觸發器。

2.計算機系統存在技術安全、管理安全和政策法律三類安全性問題。

3.TCSEC/TDI 標準由安全策略、責任、保證和文檔四個方面內容構成。

4.常用存取控制方法包括自主存取控制(DAC)和強制存取控制(MAC)兩種。

5.自主存取控制(DAC)的 SQL 語句包括 GRANT 和 REVOKE 兩個。 用戶權限由數據對象和操作類型兩部分構成。
在這裏插入圖片描述

6.常見SQL 自主權限控制命令和例子。
1) 把對 Student 和 Course 表的全部權限授予所有用戶。
GRANT ALL PRIVILIGES ON TABLE Student,Course TO PUBLIC ;

2)把對 Student 表的查詢權和姓名修改權授予用戶 U4。
GRANT SELECT,UPDATE(Sname) ON TABLE Student TO U4 ;

3)把對 SC 表的插入權限授予 U5 用戶,並允許他傳播該權限。
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION ;

4)把用戶 U5 對 SC 表的 INSERT 權限收回,同時收回被他傳播出去的授權。
REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;

5)創建一個角色 R1,並使其對 Student 表具有數據查詢和更新權限。
CREATE ROLE R1;
GRANT SELECT,UPDATE ON TABLE Student TO R1;

6)對修改 Student 表結構的操作進行審計。
AUDIT ALTER ON Student ;

原文:https://blog.csdn.net/han_xiaoyang/article/details/11006703

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