? ? ? ?數(shù)據(jù)庫也是計算機類筆試面試中不可避免會遇到的考點,尤其是銀行和部分傳統(tǒng)軟件類公司。這里根據(jù)整理的資料,對數(shù)據(jù)庫的相關(guān)知識也做個總結(jié)吧。希望學(xué)過數(shù)據(jù)庫但長時間不用的同學(xué)根據(jù)這些知識能夠回憶和重拾,沒學(xué)過的同學(xué)能掌握一些數(shù)據(jù)庫的基礎(chǔ)知識。
第一節(jié)
? ? ? 一、相關(guān)概念
? ? ? ?1. Data:數(shù)據(jù),是數(shù)據(jù)庫中存儲的基本對象,是描述事物的符號記錄。
? ? ? ?2. Database:數(shù)據(jù)庫,是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。
? ? ? ?3. DBMS:數(shù)據(jù)庫管理系統(tǒng),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織、存儲和管理數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。
? ? ? ?4. DBS:數(shù)據(jù)庫系統(tǒng),指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員(DBA)構(gòu)成。
? ? ? ?5. 數(shù)據(jù)模型:是用來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息的工具,是對現(xiàn)實世界的模擬,是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ);其組成元素有數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束。
? ? ? ?6. 概念模型:也稱信息模型,是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計。
? ? ? ?7. 邏輯模型:是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。
? ? ? ?8. 物理模型:是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法,是面向計算機系統(tǒng)的。
? ? ? ?9. 實體和屬性:客觀存在并可相互區(qū)別的事物稱為實體。實體所具有的某一特性稱為屬性。
? ? ? ?10.E-R圖:即實體-關(guān)系圖,用于描述現(xiàn)實世界的事物及其相互關(guān)系,是數(shù)據(jù)庫概念模型設(shè)計的主要工具。
? ? ? ?11.關(guān)系模式:從用戶觀點看,關(guān)系模式是由一組關(guān)系組成,每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。
? ? ? ?12.型/值:型是對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明;值是型的一個具體賦值,是型的實例。
? ? ? ?13.數(shù)據(jù)庫模式:是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項的名字、類型、取值范圍等)和特征(數(shù)據(jù)之間的聯(lián)系以及數(shù)據(jù)有關(guān)的安全性、完整性要求)的描述。
? ? ? ?14.數(shù)據(jù)庫的三級系統(tǒng)結(jié)構(gòu):外模式、模式和內(nèi)模式。
? ? ? ?15.數(shù)據(jù)庫內(nèi)模式:又稱為存儲模式,是對數(shù)據(jù)庫物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。一個數(shù)據(jù)庫只有一個內(nèi)模式。
? ? ? ?16.數(shù)據(jù)庫外模式:又稱為子模式或用戶模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。通常是模式的子集。一個數(shù)據(jù)庫可有多個外模式。
? ? ? ?17.數(shù)據(jù)庫的二級映像:外模式/模式映像、模式/內(nèi)模式映像。
? ? ?
?二、重點知識點
? ? ? ?1.?數(shù)據(jù)庫系統(tǒng)由 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng) 和 數(shù)據(jù)庫管理員 構(gòu)成。
? ? ? ?2.?數(shù)據(jù)模型的組成要素是: 數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、完整性約束條件 。
? ? ? ?3.?實體型之間的聯(lián)系分為 一對一、一對多 和 多對多 三種類型。
? ? ? ?4.?常見的數(shù)據(jù)模型包括: 關(guān)系、層次、網(wǎng)狀、面向?qū)ο蟆ο箨P(guān)系映射 等幾種。
? ? ? ?5.?關(guān)系模型的完整性約束包括: 實體完整性、參照完整性和用戶定義完整性 。
? ? ? 6.?闡述數(shù)據(jù)庫三級模式、二級映象的含義及作用。
? ? ? ??數(shù)據(jù)庫三級模式反映的是數(shù)據(jù)的三個抽象層次:?
模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯
結(jié)構(gòu)和特征的描述。內(nèi)模式又稱為存儲模式,是對數(shù)據(jù)庫物理結(jié)構(gòu)和存儲方式的描述。外模式又稱為子模式或用戶模式,是對特定數(shù)據(jù)庫用戶相關(guān)的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
。
?
? ? ? ??數(shù)據(jù)庫三級模式通過二級映象在?DBMS?內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換。外模式面向應(yīng)用程序,?通過外模式/模式映象與邏輯模式建立聯(lián)系,?實現(xiàn)數(shù)據(jù)的邏輯獨立性。?模式/內(nèi)模式映象建立模式與內(nèi)模式之間的一對一映射,?實現(xiàn)數(shù)據(jù)的物理獨立性。
?
第二節(jié)
一、相關(guān)概念
?
? ? ? ?1. 主鍵 :?能夠 唯一地標識一個元組的屬性或?qū)傩越M稱為關(guān)系的鍵或候選鍵 。?若一個關(guān)系有多個候選 鍵 則可選其一作為主 鍵 (Primary?key)。
? ? ? ? 2.? 外 鍵 :如果 一個關(guān)系的一個或一組屬性引用(參照)了另一個關(guān)系的 主 鍵 ,則稱這個或這組屬性為外碼或外鍵(Foreign?key)。
? ? ? ? 3.?關(guān)系數(shù)據(jù)庫:?依照關(guān)系模型建立的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。?它是在某個應(yīng)用領(lǐng)域的所有關(guān)系的集合。
? ? ? ? 4.?關(guān)系模式:?簡單地說,關(guān)系模式就是對關(guān)系的型的定義,?包括關(guān)系的屬性構(gòu)成、各屬性的數(shù)據(jù)類型、?屬性間的依賴、?元組語義及完整性約束等。?關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容,?關(guān)系模型是型,?關(guān)系是值,?關(guān)系模型是靜態(tài)的、?穩(wěn)定的,?而關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。
? ? ? ? 5.?.?實體完整性:用于標識實體的唯一性。它要求 基本關(guān)系必須要有一個能夠標識元組唯一性的主鍵,主鍵不能為空,也不可取重復(fù)值 。
? ? ? ? 6.?參照完整性:?用于維護實體之間的引用關(guān)系。?它要求 一個關(guān)系的外鍵要么為空,?要么取與被參照關(guān)系對應(yīng)的 主鍵 值,即 外鍵 值必須是 主鍵 中已存在的值 。
? ? ? ? 7.?用戶定義的完整性:就是針對某一具體應(yīng)用的數(shù)據(jù)必須滿足的 語義約束 。包括 非空、?唯一和布爾條件約束 三種情況。
? ? ? 二、重要知識點
?
? ? ? 1.?關(guān)系數(shù)據(jù)庫語言分為關(guān)系代數(shù)、關(guān)系演算和結(jié)構(gòu)化查詢語言三大類。
? ? ? 2.?關(guān)系的?5?種基本操作是選擇、投影、并、差、笛卡爾積。
? ? ? 3.關(guān)系模式是對關(guān)系的描述,五元組形式化表示為:R(U,D,DOM,F(xiàn)),其中
? ? ? ? ? ? R?——?關(guān)系名
? ? ? ? ? ??U?——?組成該關(guān)系的屬性名集合
? ? ? ? ? ??D?——?屬性組?U?中屬性所來自的域
? ? ? ? ? ??DOM?——?屬性向域的映象集合
? ? ? ? ? ??F?——?屬性間的數(shù)據(jù)依賴關(guān)系集合
? ? ? ?4.笛卡爾乘積,選擇和投影運算如下
第三節(jié)
一、相關(guān)概念
?
? ? ? ?1.?SQL:結(jié)構(gòu)化查詢語言的簡稱,?是關(guān)系數(shù)據(jù)庫的標準語言。SQL?是一種通用的、?功能極強的關(guān)系數(shù)據(jù)庫語言,?是對關(guān)系數(shù)據(jù)存取的標準接口,?也是不同數(shù)據(jù)庫系統(tǒng)之間互操作的基礎(chǔ)。集數(shù)據(jù)查詢、數(shù)據(jù)操作、數(shù)據(jù)定義、和數(shù)據(jù)控制功能于一體。
? ? ? ? 2.?數(shù)據(jù)定義:數(shù)據(jù)定義功能包括模式定義、表定義、視圖和索引的定義。
? ? ? ? 3.?嵌套查詢:指將一個查詢塊嵌套在另一個查詢塊的?WHERE?子句或?HAVING?短語的條件中的查詢。
? ? ? 二、重要知識點
? ? ? ?
1. SQL 數(shù)據(jù)定義語句的操作對象有:模式、表、視圖和索引。
? ? ? ?
2. SQL 數(shù)據(jù)定義語句的命令動詞是:CREATE、DROP 和 ALTER。
? ? ? ?
3. RDBMS 中索引一般采用 B+樹或 HASH 來實現(xiàn)。
? ? ? ?
4. 索引可以分為唯一索引、非唯一索引和聚簇索引三種類型。
?
? ? ? ? 6.SQL? 創(chuàng)建表語句的一般格式為
? ? ? ? ? ? ? ? CREATE?TABLE?< 表名 >
? ? ? ? ? ? ? ? (?< 列名 >?< 數(shù)據(jù)類型 >[?< 列級完整性約束 >?]
? ? ? ? ? ? ? ? [ , < 列名 >?< 數(shù)據(jù)類型 >[?< 列級完整性約束 >]?]? …
? ? ? ? ? ? ? ? [ , < 表級完整性約束 >?]?)? ;
其中 < 數(shù)據(jù)類型 > 可以是數(shù)據(jù)庫系統(tǒng)支持的各種數(shù)據(jù)類型,包括長度和精度。 ?
? ? 列級完整性約束 為針對單個列 ( 本列 ) 的完整性約束,?包括? PRIMARY?KEY 、? REFERENCES 表名 (列 名 ) 、 UNIQUE 、 NOT?NULL? 等。 ?
? ? 表級完整性約束 可以是基于表中多列的約束,包括? PRIMARY?KEY?(? 列名列表 )? 、 FOREIGN?KEY?REFERENCES? 表名 ( 列名 )? 等。
? ? ? ?7. ?SQL? 創(chuàng)建索引語句的一般格式為
?
? ? ? ? ? ? ? ? CREATE?[UNIQUE]?[CLUSTER]?INDEX?< 索引名 >
? ? ? ? ? ? ? ? ON?< 表名 >?(< 列名列表 >?)? ;
其中 UNIQUE :表示創(chuàng)建唯一索引,缺省為非唯一索引;
? ? ? CLUSTER :表示創(chuàng)建聚簇索引,缺省為非聚簇索引;
? ? ? < 列名列表 > :一個或逗號分隔的多個列名,每個列名后可跟? ASC? 或? DESC ,表示升 / 降序,缺省為升序。多列時則按為多級排序。
? ? ? ? ?8. ?SQL? 查詢語句的一般格式為
? ? ? ? ? ? ? ? SELECT?[ALL | DISTINCT]?< 算術(shù)表達式列表 >?FROM?< 表名或視圖名列表 >
? ? ? ? ? ? ? ? [?WHERE?< 條件表達式? 1>?]
? ? ? ? ? ? ? ? [?GROUP?BY?< 屬性列表? 1>?[?HAVING?< 條件表達式? 2?>?]?]
? ? ? ? ? ? ? ? [?ORDER?BY?< 屬性列表? 2>?[?ASC | DESC?]?]? ;
其中
? ? ?? ALL / DISTINCT :?缺省為? ALL ,?即列出所有查詢結(jié)果記錄,?包括重復(fù)記錄。? DISTINCT 則對重復(fù)記錄只列出一條。
? ? ??? 算術(shù)表達式列表 :一個或多個逗號分隔的算術(shù)表達式,表達式由常量 ( 包括數(shù)字和 字符串 ) 、列名、函數(shù)和算術(shù)運算符構(gòu)成。每個表達式后還可跟別名。也可用? * 代表 查詢表中的所有列。
? ? ?? < 表名或視圖名列表 > :?一個或多個逗號分隔的表或視圖名。?表或視圖名后可跟別名。
? ? ?? 條件表達式? 1 :包含關(guān)系或邏輯運算符的表達式,代表查詢條件。
? ? ?? 條件表達式? 2 :包含關(guān)系或邏輯運算符的表達式,代表分組條件。
? ? ?? < 屬性列表? 1> :一個或逗號分隔的多個列名。
? ? ?? < 屬性列表? 2> :?一個或逗號分隔的多個列名,?每個列名后可跟? ASC? 或? DESC ,?表示升 / 降序,缺省為升序。
? ? ? 關(guān)于SQL語句的知識這里先作如上簡略介紹,具體寫法下次將專門拿出一篇來敘述。
第四節(jié)
一、相關(guān)概念和知識
?
? ? ? ?1.觸發(fā)器是 用戶定義在基本表上的一類由事件驅(qū)動的特殊過程 。由服務(wù)器自動激活,?能執(zhí)行更為復(fù)雜的檢查和操作,具有更精細和更強大的數(shù)據(jù)控制能力。使用?CREATE?TRIGGER?命令建立觸發(fā)器。
? ? ? ? 2.計算機系統(tǒng)存在 技術(shù)安全、管理安全和政策法律 三類安全性問題。
? ? ? ? 3.?TCSEC/TDI?標準由 安全策略、責(zé)任、保證和文檔 四個方面內(nèi)容構(gòu)成。
?
? ? ? ? 4.?常用存取控制方法包括 自主存取控制(DAC)和強制存取控制(MAC) 兩種。
? ? ? ? 5.?自主存取控制(DAC)的?SQL?語句包括 ?GRANT?和?REVOKE? 兩個。?用戶權(quán)限由數(shù)據(jù)對象和操作類型兩部分構(gòu)成。
? ? ? ?6.?常見SQL 自主權(quán)限控制命令和例子。
? ? ? ? ?1) 把對 Student 和 Course 表的全部權(quán)限授予所有用戶。
? ? ? ?
? ? ? ?
GRANT ALL PRIVILIGES ON TABLE Student,Course TO PUBLIC ;
? ? ? ? ?
2) 把對 Student 表的查詢權(quán)和姓名修改權(quán)授予用戶 U4。
? ? ? ?
? ? ? ?
GRANT SELECT,UPDATE(Sname) ON TABLE Student TO U4 ;
? ? ? ? ?
3) 把對 SC 表的插入權(quán)限授予 U5 用戶,并允許他傳播該權(quán)限。
? ? ? ?
? ? ? ?
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION ;
? ? ? ? ?
4) 把用戶 U5 對 SC 表的 INSERT 權(quán)限收回,同時收回被他傳播出去的授權(quán)。
? ? ? ?
? ? ? ?
REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;
? ? ? ? ?
5) 創(chuàng)建一個角色 R1,并使其對 Student 表具有數(shù)據(jù)查詢和更新權(quán)限。
? ? ? ?
? ? ? ?
CREATE ROLE R1;
? ? ? ?
? ? ? ?
GRANT SELECT,UPDATE ON TABLE Student TO R1;
? ? ? ? ?
6) 對修改 Student 表結(jié)構(gòu)的操作進行審計。
? ? ? ?
? ? ? ?
AUDIT ALTER ON Student ;
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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