? ? ? ?數據庫也是計算機類筆試面試中不可避免會遇到的考點,尤其是銀行和部分傳統軟件類公司。這里根據整理的資料,對數據庫的相關知識也做個總結吧。希望學過數據庫但長時間不用的同學根據這些知識能夠回憶和重拾,沒學過的同學能掌握一些數據庫的基礎知識。
第一節
? ? ? 一、相關概念
? ? ? ?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. 索引可以分為唯一索引、非唯一索引和聚簇索引三種類型。
?
? ? ? ? 6.SQL? 創建表語句的一般格式為
? ? ? ? ? ? ? ? CREATE?TABLE?< 表名 >
? ? ? ? ? ? ? ? (?< 列名 >?< 數據類型 >[?< 列級完整性約束 >?]
? ? ? ? ? ? ? ? [ , < 列名 >?< 數據類型 >[?< 列級完整性約束 >]?]? …
? ? ? ? ? ? ? ? [ , < 表級完整性約束 >?]?)? ;
其中 < 數據類型 > 可以是數據庫系統支持的各種數據類型,包括長度和精度。 ?
? ? 列級完整性約束 為針對單個列 ( 本列 ) 的完整性約束,?包括? PRIMARY?KEY 、? REFERENCES 表名 (列 名 ) 、 UNIQUE 、 NOT?NULL? 等。 ?
? ? 表級完整性約束 可以是基于表中多列的約束,包括? PRIMARY?KEY?(? 列名列表 )? 、 FOREIGN?KEY?REFERENCES? 表名 ( 列名 )? 等。
? ? ? ?7. ?SQL? 創建索引語句的一般格式為
?
? ? ? ? ? ? ? ? CREATE?[UNIQUE]?[CLUSTER]?INDEX?< 索引名 >
? ? ? ? ? ? ? ? ON?< 表名 >?(< 列名列表 >?)? ;
其中 UNIQUE :表示創建唯一索引,缺省為非唯一索引;
? ? ? CLUSTER :表示創建聚簇索引,缺省為非聚簇索引;
? ? ? < 列名列表 > :一個或逗號分隔的多個列名,每個列名后可跟? ASC? 或? DESC ,表示升 / 降序,缺省為升序。多列時則按為多級排序。
? ? ? ? ?8. ?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 ;
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
