第一篇:【數(shù)據(jù)庫知識點總結(jié)】
數(shù)據(jù)庫概念總結(jié)
第一章 緒論
1、數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。可以是數(shù)字也可以是文字、圖形、圖像聲音、語言等。
2、數(shù)據(jù)庫:是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。具有永久存儲、有組織和可共享三個基本特點。
3、數(shù)據(jù)庫管理系統(tǒng):位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學地組織和存儲數(shù)據(jù),高效地獲取和維護數(shù)據(jù)。
4、數(shù)據(jù)庫管理系統(tǒng)主要功能:數(shù)據(jù)定義功能、數(shù)據(jù)組織存儲和管理、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的事務(wù)管理和運行管理、數(shù)據(jù)庫的建立和維護功能、其他。
5、數(shù)據(jù)庫系統(tǒng):是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。
特點:數(shù)據(jù)結(jié)構(gòu)化(與文件系統(tǒng)的本質(zhì)區(qū)別)、數(shù)據(jù)的共享性高,冗余度低,易擴充、數(shù)據(jù)獨立性高(通過三級模式和二級映像功能來保證)、數(shù)據(jù)由DBMS統(tǒng)一管理和控制
6、DBMS須提供以下幾方面的數(shù)據(jù)控制功能:數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性檢查、并發(fā)控制、數(shù)據(jù)庫恢復。
7、數(shù)據(jù)管理技術(shù)的發(fā)展過程:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段
8、數(shù)據(jù)庫的體系結(jié)構(gòu)為三級結(jié)構(gòu),它們是存儲層、概念層和外部層。
9、在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實世界的模擬。
兩類數(shù)據(jù)模型:概念模型、邏輯模型和物理模型。
10、數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的完整性約束條件。
11、模式:是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。
外模式/模式映像:保證了數(shù)據(jù)的邏輯獨立性 模式/ 內(nèi)模式映像:保證了數(shù)據(jù)的物理獨立性。
12、什么是數(shù)據(jù)庫的邏輯獨立性?物理獨立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨立性?
邏輯獨立性是指用戶的用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,使得當數(shù)據(jù)的邏輯結(jié)構(gòu)變了,用戶程序可以不變。物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)是相互獨立的,使得當數(shù)據(jù)的物理結(jié)構(gòu)改變了,應(yīng)用程序也可以不變。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,將數(shù)據(jù)的具體組織留給DBMS 管理,使用戶能邏輯地組織數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機上的具體表示方式和存儲方式。為了能夠在內(nèi)部實現(xiàn)三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在三級模式之間提供了兩級映像:外模式/模式映像、模式/ 內(nèi)模式映,保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。
13、數(shù)據(jù)庫系統(tǒng)的組成:硬件平臺及數(shù)據(jù)庫,軟件,人員
人員:數(shù)據(jù)庫管理員,系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人員,應(yīng)用程序員,最終用戶
數(shù)據(jù)庫管理員:決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu),決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略,定義數(shù)據(jù)的安全性要求和完整性約束條件,監(jiān)控數(shù)據(jù)庫的使用和運行,數(shù)據(jù)庫的改進和重組重構(gòu)
第二章 關(guān)系數(shù)據(jù)庫
1、關(guān)系模型主要是用二維表格結(jié)構(gòu)表達實體集,用外鍵表示實體間聯(lián)系。
2、選擇、投影、并、差、笛卡爾積是5 種基本操作。
3、專門的關(guān)系運算包括選擇、投影、連接、除運算等。
第三章 SQL
1、SQL 特點:綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結(jié)構(gòu)提供多種使用方式、語言簡潔,易學易用。
2、聚集函數(shù):COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)SUM([DISTINCT|ALL]<列名>)AVG([DISTINCT|ALL]<列名>)MAX([DISTINCT|ALL]<列名>)MIN([DISTINCT|ALL]<列名>)
3、視圖的作用:
1、能夠簡化用戶的操作
2、使用戶能以多種角度看待同一數(shù)據(jù)
3、對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性
4、能夠?qū)C密數(shù)據(jù)提供安全保護
5、適當?shù)睦靡晥D可以更清晰的表達查詢
4、WHERE 子句與HAVING 短語的區(qū)別在于作用對象不同。前者作用于基本表或視圖,從中選擇滿足條件的元組。后者作用于組,從中選擇滿足條件的組。
5、=ANY 等價于IN 謂詞, 第四章 數(shù)據(jù)庫安全性 1、數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露,更改或破壞。 2、計算機系統(tǒng)的三類安全性問題:技術(shù)安全、管理安全、政策法律。 3、常用的安全技術(shù)有:1.用戶識別和鑒別2.存取控制機制3.自主存取控制4.強制存取控制(MAC)5.視圖機制。6.審計(Audit)功能7.數(shù)據(jù)加密 4、視圖的好處:簡化用戶操作、使用戶能以多種角度看待同一數(shù)據(jù)、對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性、對機密數(shù)據(jù)提供安全保護、適當利用可以更清晰的表達查詢。 5、實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的技術(shù)和方法 — 最重要的是存取控制技術(shù)、視圖技術(shù)和審計技術(shù) 第五章 數(shù)據(jù)庫完整性 1、數(shù)據(jù)庫完整性是指數(shù)據(jù)的正確性和相容性。 2、數(shù)據(jù)的完整為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),即防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。安全性是保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。因此數(shù)據(jù)完整性防范的是合法用戶的無意操作導致的數(shù)據(jù)錯誤,數(shù)據(jù)安全性防范的是非法用戶的惡意操作導致的數(shù)據(jù)錯誤。 3、實體完整性:若屬性(指一個或一組屬性)A 是基本關(guān)系R 的主屬性,則A 不能取空值。 4、參照完整性:若屬性(或?qū)傩越M)F 是基本關(guān)系R 的外碼,它與基本關(guān)系S 的主碼K 相對應(yīng)(基本關(guān)系R 和S 不一定是不同的關(guān)系),則對于R 中每個元組在F 上的值必須為: 或者取空值(F 的每個屬性值均為空值); 或者等于S 中某個元組的主碼值。 5、觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。 6、在參照完整性中,為什么外碼的屬性值也可以為空?什么時候可以為空? 若F 是基本關(guān)系R 的外碼,它與基本關(guān)系S 的主碼K,相對應(yīng)(基本關(guān)系R 和S 不一定是不同的關(guān)系)則對于R 中每個元組在F 上的值可以取空值,或者等于S 中某個元組的主碼值。即,如果F 本身不是一個主屬性,則能取空值,否則不能取空值。 第六章 關(guān)系數(shù)據(jù)理論 1、數(shù)據(jù)依賴是一個關(guān)系內(nèi)部屬性與屬性之間的一種約束關(guān)系。 2、函數(shù)依賴:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y 是U 的子集。若對于R(U)的任意一個可能的關(guān)系r,r 中不可能存在兩個元組在X 上的屬性值相等,而在Y 上的屬性值不等,則稱X 函數(shù)確定Y 或Y 函數(shù)依賴于X,記作X →Y。 3、多值依賴:設(shè)R(U)是屬性集U 上的一個關(guān)系模式。X,Y,Z 是U 的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴成立,當且僅當對R(U)的任一關(guān)系r,給定的一對(x,z)值,有一組Y 的值,這組值僅僅決定于x 值而與z 值無關(guān)。4、1NF:每一個分量必須是不可分的數(shù)據(jù)項。2NF:R ∈1NF,且每一個非主屬性完全依賴于碼 3NF:關(guān)系模式R中若不存在這樣的碼X,屬性組Y 及非主屬性 Z(ZY)使得XY,YZ 成立,YX,則稱R3NF。 BCNF:關(guān)系模式R ∈1NF。XY 且YX 時X 必含有碼,則稱RBCNF。4NF :關(guān)系模式 R ∈1NF,如果對于R 的每個非多值依賴X Y(YX),X 都含有碼,則稱R4NF。 5、規(guī)范化小結(jié):1NF—2NF 消除非主屬性對碼的部分函數(shù)依賴 ——3NF 消除非主屬性對碼的傳遞函數(shù)依賴—BCNF消除主屬性對碼的部分和傳遞函數(shù)依賴—4NF 消除非平凡且非函數(shù)依賴的多值依賴。 第七章 數(shù)據(jù)庫設(shè)計 1、數(shù)據(jù)庫設(shè)計定義:對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。 2、特點:三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)。結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合。 3、基本步驟:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護。 4、需求分析階段任務(wù):信息要求、處理要求、安全性與完整性要求。 5、需求分析階段:綜合各個用戶的應(yīng)用需求 概念設(shè)計階段:形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式(E-R圖)邏輯設(shè)計階段:將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,形成數(shù)據(jù)庫邏輯模式;再建立必要的視圖,形成數(shù)據(jù)的外模式 物理設(shè)計階段:進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式 6、數(shù)據(jù)字典:系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。通常包括數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲和處理 5 部分。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。 7、概念結(jié)構(gòu)設(shè)計方法:自頂向下、自底向上、逐步擴張、混合策略。 8、確定數(shù)據(jù)庫物理結(jié)構(gòu):確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括:確定關(guān)系、索引、聚簇、日志、備份等的存儲安排和存儲結(jié)構(gòu)。確定系統(tǒng)配置。 第八章 數(shù)據(jù)庫編程 1、游標是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL 語句的執(zhí)行結(jié)果,每個游標區(qū)都有一個名字。用戶可以通過游標逐一獲取記錄,并賦給主變量,交由主語言進一步處理。 2、嵌入式SQL語句與主語言之間的通信:向主語言傳遞SQL語句的執(zhí)行狀態(tài)信息,使主語言能夠據(jù)此控制程序流程,主要用SQL通信區(qū)(SQLCA)實現(xiàn)。主語言向SQL語句提供參數(shù),主要用主變量實現(xiàn)。將SQL語句查詢數(shù)據(jù)庫的結(jié)果交主語言處理,主要用主變量和游標實現(xiàn)。 3、存儲過程是由PL/SQL 語句書寫的過程,這個經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中,因此稱它為存儲過程,使用時只要調(diào)用即可。優(yōu)點:運行效率高、降低了客戶機和服務(wù)器之間的通信量、有利于集中控制,方便維護。 4、ODBC的工作流程:配置數(shù)據(jù)源,初始化環(huán)境,建立連接,分配語句句柄,執(zhí)行SQL語句,結(jié)果集處理,中止 第九章 關(guān)系查詢處理和查詢優(yōu)化 1、查詢處理步驟:查詢分析 對查詢語句進行掃描、詞法分析和語法分析。 查詢檢查 根據(jù)數(shù)據(jù)字典對合法的查詢語句進行語義檢查根據(jù)數(shù)據(jù)字典中的用戶權(quán)限和完整性約束定義對用戶的存取權(quán)限進行檢查 查詢優(yōu)化 選擇一個高效執(zhí)行的查詢處理策略 查詢執(zhí)行 依據(jù)優(yōu)化器得到的執(zhí)行策略生成查詢計劃,由代碼生成器生成執(zhí)行這個查詢計 劃的代碼。 2、連接操作的實現(xiàn) 嵌套循環(huán)方法 排序-合并方法 索引連接方法 Hash Join方法 3、查詢優(yōu)化的總目標 是選擇有效的策略,求得給定關(guān)系表達式的值,使得查詢代價最小(實際上是較小)。 第十章 數(shù)據(jù)庫恢復技術(shù) 1、事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。特性:原子性、一致性、隔離性、持續(xù)性。 2、故障種類:事務(wù)內(nèi)部故障、系統(tǒng)故障、介質(zhì)故障、計算機病毒 3、數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)庫恢復中采用的基本技術(shù)即DBA 定期地將整個數(shù)據(jù)庫復制到磁帶或另一個磁盤上保存起來的過程。 4、日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。主要有兩種格式:以記錄為單位的日志文件和以數(shù)據(jù)塊為單位的日志文件。 5、數(shù)據(jù)庫鏡像即根據(jù)DBA 的要求,自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復制到另一個磁盤上。 第十一章 并發(fā)控制 1、并發(fā)控制機制的任務(wù):對并發(fā)操作進行正確調(diào)度,保證事務(wù)的隔離性,保證數(shù)據(jù)庫的一致性 2、并發(fā)操作帶來的數(shù)據(jù)不一致性主要包括丟失修改、不可重復讀和讀“臟”數(shù)據(jù)等。 3、封鎖就是事務(wù)T 在對某個數(shù)據(jù)對象操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。基本的封鎖類型在兩種:排它鎖(X 鎖,寫鎖)和共享鎖(S 鎖,讀鎖)。 4、預防死鎖的方法:一次封鎖法,順序封鎖法 死鎖的診斷與解除 超時法 等待圖法 5、可串行化調(diào)度:多個事務(wù)的并發(fā)執(zhí)行是正確的,當且僅當其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。 6、兩段鎖協(xié)議是指事務(wù)必須分兩個階段對數(shù)據(jù)項加鎖和解鎖。在對任何數(shù)據(jù)進行讀、寫操作之前,首先要申請該數(shù)據(jù)的封鎖;在釋放一個封鎖之后,事務(wù)不再申請和獲得任何其他封鎖.7、封鎖對象的大小稱為封鎖粒度。 8、選擇封鎖粒度的原則:需要處理多個關(guān)系的大量元組的用戶事務(wù):以數(shù)據(jù)庫為封鎖單位; 需要處理大量元組的用戶事務(wù):以關(guān)系為封鎖單元; 只處理少量元組的用戶事務(wù):以元組為封鎖單位 文件處理系統(tǒng)存在問題:數(shù)據(jù)的冗余和不一致,數(shù)據(jù)訪問困難,數(shù)據(jù)孤立,完整性問題,原子性問題,并發(fā)訪問異常,安全性問題 數(shù)據(jù)庫三級抽象物理層:最低層次的抽象,描述數(shù)據(jù)實際上是怎樣存儲的。邏輯層:比物理層層次稍高的抽象,描述數(shù)據(jù)庫中存儲什么數(shù)據(jù)及這些數(shù)據(jù)間存在什么關(guān)系。視圖層:最高層次的抽象,只描述整個數(shù)據(jù)庫的某個部分 數(shù)據(jù)操縱語言DML:使用戶可以訪問或操作那些按其某種適當?shù)臄?shù)據(jù)模型組織起來的數(shù)據(jù)。過程化DML:要求用戶指定需要什么數(shù)據(jù)以及如何獲得這些數(shù)據(jù)。非過程化DML:只要求用戶指定需要什么數(shù)據(jù),而不指明如何獲得這些數(shù)據(jù) 事務(wù)狀態(tài)圖 活動狀態(tài):初始狀態(tài);事務(wù)執(zhí)行時處于這個狀態(tài)。部分提交狀態(tài):最后一條語句執(zhí)行后。失敗狀態(tài):發(fā)現(xiàn)正常的執(zhí)行不能繼續(xù)之后。中止狀態(tài):事務(wù)回滾并且數(shù)據(jù)庫已恢復到事務(wù)開始執(zhí)行前的狀態(tài)之后。提交狀態(tài):成功完成后 事務(wù)進入中止狀態(tài),系統(tǒng)有兩種選擇:重啟事務(wù):事務(wù)中止是硬件錯誤或不是由事務(wù)的內(nèi)部邏輯產(chǎn)生的軟件錯誤時。殺死事務(wù):事務(wù)的內(nèi)部邏輯錯誤,或者由于輸入錯誤,或所需數(shù)據(jù)在數(shù)據(jù)庫中沒有找到 可恢復調(diào)度:對于每對事務(wù) 1.constraint約束: alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主鍵 alter table [table_name] drop constraint [pk_name];//刪除主鍵 alter table [table_name] add constraint [fk_name] foreign key(fkname)references [tablename](fkname);//添加外 鍵 alter table [table_name] drop constraint [fk_name];//刪除外鍵 2.union 關(guān)鍵字: A username, B username rod bruce rose marina select username from A union select username from B 2、幾個高級查詢運算詞 A: UNION 運算符 UNION 運算符通過組合其他兩個結(jié)果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結(jié)果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來 自 TABLE2。 B: EXCEPT 運算符 EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。 C: INTERSECT 運算符 INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。 注:使用運算詞的幾個查詢結(jié)果行必須是一致的。 3.復合主鍵一般不設(shè)外鍵 4.組函數(shù)也稱為聚合函數(shù)。 例如:我們把學生可以分為男生和女生兩個組,如果想求每組的人數(shù),平均身高,平均年齡等,就需要用到分組函數(shù)了。 在SQL中常用的組函數(shù)有以下幾個: COUNT():求出全部的記錄數(shù) MAX():求出一組中的最大值 MIN():求出一組中的最小值 AVG():求出一組中的平均值 SUM():求和 范例:COUNT()函數(shù) SELECT COUNT(empno)FROM emp; 我們常用COUNT(*),最好能夠用字段代替* 范例:MAX()、MIN()函數(shù),求最大最小值,一般是針對于數(shù)值的字段的,求出所有員工的的最高工資,和最底工資和平均工 資。 SELECT MAX(sal)最高工資,MIN(sal)最底工資,AVG(sal)平均工資 FROM emp; 范例:求出部門10的所有員工工資的總合 SELECT SUM(sal)工資綜合 FROM emp WHERE deptno=10; 如果如下查詢輸出部門編號和其部門所有員工的工資總和,會產(chǎn)生錯誤。 SELECT deptno ,SUM(sal)工資綜合 FROM emp WHERE deptno=10; 錯誤: “不是單組分組函數(shù)” 發(fā)生以上的錯誤信息,是因為這樣的查詢需要進行分組統(tǒng)計。 分組統(tǒng)計有其固定的語法格式: SELECT {DISTINCT} *| 查詢列 列別名1,查詢列2 列別名2,…… FROM 表名稱1 表別名1,表名稱2 表別名2,…… {WHERE 條件(s)} {ORDER BY 排序的字段1,排序的字段2 ASC|DESC} {GROUP BY 分組字段} 所以老師寫的是錯的! 5.//從t_student表中刪除名字重復的記錄的信息 delete from t_student where sid not in(select sid from(select min(sid)sid,sname from t_student group by sname)); // delete from tablename where id not in(select max(id)from tablename group by col1,col2,...) 6.sequence 在oracle中sequence就是序號,每次取的時候它會自動增加。sequence與表沒有關(guān)系。 (1) CREATE SEQUENCE seqTest INCREMENT BY 1--每次加幾個 START WITH 1--從1開始計數(shù) NOMAXvalue--不設(shè)置最大值 NOCYCLE--一直累加,不循環(huán) CACHE 10;--設(shè)置緩存cache個序列,如果系統(tǒng)down掉了或者其它情況將會導致序列不連續(xù),也可以設(shè)置為----NOCACHE(2) 定義好sequence后,你就可以用currVal,nextVal取得值。 CurrVal:返回 sequence的當前值 NextVal:增加sequence的值,然后返回 增加后sequence值 eg: SELECT Sequence名稱.CurrVal FROM DUAL; select seqtest.currval from dual(3) 在Sql語句中可以使用sequence的地方: -不包含子查詢、snapshot、VIEW的 SELECT 語句 -INSERT語句的子查詢中 -INSERT語句的values中 -UPDATE 的 SET中 如在插入語句中 insert into 表名(id,name)values(seqtest.Nextval,'sequence 插入測試'); 7.范式: 所謂第一范式(1NF)是指在關(guān)系模型中,對域添加的一個規(guī)范要求,所有的域都應(yīng)該是原子性的,即數(shù)據(jù)庫表的每一 列都是不可分割的原子數(shù)據(jù)項,而不能是集合,數(shù)組,記錄等非原子數(shù)據(jù)項。即實體中的某個屬性有多個值時,必須拆分 為不同的屬性。在符合第一范式(1NF)表中的每個域值只能是實體的一個屬性或一個屬性的一部分。簡而言之,第一范式 就是無重復的域。 第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。 第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或記錄必須可以被唯一地區(qū)分。選取一個能區(qū)分每個實體的屬性或?qū)傩越M,作 為實體的唯一標識。第二范式(2NF)要求實體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一 部分的屬性,如果存在,那么這個屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成一個新的實體,新實體與原實體之間是一 對多的關(guān)系。為實現(xiàn)區(qū)分通常需要為表加上一個列,以存儲各個實例的唯一標識。簡而言之,第二范式就是在第一范式的基礎(chǔ)上屬性完全依賴于主鍵。例如在員工表中的身份證號碼即可實現(xiàn)每個一員工的區(qū)分,該身份證號碼即為候選鍵,任何 一個候選鍵都可以被選作主鍵。在找不到候選鍵時,可額外增加屬性以實現(xiàn)區(qū)分,如果在員工關(guān)系中,沒有對其身份證號 進行存儲,而姓名可能會在數(shù)據(jù)庫運行的某個時間重復,無法區(qū)分出實體時,設(shè)計辟如ID等不重復的編號以實現(xiàn)區(qū)分,被 添加的編號或ID選作主鍵。 第三范式(3NF)是第二范式(2NF)的一個子集,即滿足第三范式(3NF)必須滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一個關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息。例如,存在一個部門信息表,其中每個部門 有部門編號(dept_id)、部門名稱、部門簡介等信息。那么在員工信息表中列出部門編號后就不能再將部門名稱、部門簡 介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式(3NF)也應(yīng)該構(gòu)建它,否則就會有 大量的數(shù)據(jù)冗余。簡而言之,第三范式就是屬性不依賴于其它非主屬性,也就是在滿足2NF的基礎(chǔ)上,任何非主屬性不得傳 遞依賴于主屬性。 《黃色填充區(qū)域是不確定區(qū)域 需要在找找》 1.數(shù)據(jù)庫有什么特點? 主要特點(1)實現(xiàn)數(shù)據(jù)共享。(2)減少數(shù)據(jù)的冗余度。(3)數(shù)據(jù)的獨立性。(4)數(shù)據(jù)實現(xiàn)集中控制。(5)數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用; ②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性; ③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用; ④故障的發(fā)現(xiàn)和恢復:由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞(6)故障恢復。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞。 2.數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、硬件、操作人員的合在一起的總稱 數(shù)據(jù)庫管理系統(tǒng),用來管理數(shù)據(jù)及數(shù)據(jù)庫的系統(tǒng)。數(shù)據(jù)庫系統(tǒng)包含數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫及數(shù)據(jù)庫開發(fā)工具所開發(fā)的軟件(數(shù)據(jù)庫應(yīng)用系統(tǒng))。 3.內(nèi)模式 內(nèi)模式也稱存儲模式,一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。 4.外模式也稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。 5.數(shù)據(jù)模型的三要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及完整性約束條件 1):數(shù)據(jù)結(jié)構(gòu),就是前面說的數(shù)據(jù)在數(shù)據(jù)區(qū)中的存儲結(jié)構(gòu),在關(guān)系模型中就是采用的關(guān)系模型了,就是“二維表”的形式 2):數(shù)據(jù)操作,指的是對數(shù)據(jù)的一些操作,包括查詢、刪除、更新、插入等等 3):數(shù)據(jù)的完整性約束:就是對所存數(shù)據(jù)的約束規(guī)則,有實體完整性、參照完整性等等,就是取值唯 一、不能為空等一系列操作 6.E-R圖即實體-聯(lián)系圖(Entity Relationship Diagram),是指提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。 7.ER圖的基本要素:實體(即數(shù)據(jù)對象)、關(guān)系和屬性 8.概念數(shù)據(jù)模型是按用戶的觀點對數(shù)據(jù)和信息建模,是現(xiàn)實世界到信息世界的第一層抽象。基本數(shù)據(jù)模型是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,是現(xiàn)實世界數(shù)據(jù)特征的抽象,用于DBMS的實現(xiàn)(層次模型,網(wǎng)狀模型,關(guān)系模型)(1)可以定制生成標準的模型報告;(2)可以轉(zhuǎn)換為面向?qū)ο竽P停∣OM); (3)完成多種數(shù)據(jù)庫的詳細物理設(shè)計(涵蓋常用的各種數(shù)據(jù)庫的DBMS),并生成數(shù)據(jù)庫對象的.sql腳本; 9.數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。 →:數(shù)據(jù)流(流動的數(shù)據(jù),有流向) □:外部實體(不同于數(shù)據(jù)庫實體,指人,物,部門,科室,單位等)○:數(shù)據(jù)處理(對數(shù)據(jù)的加工,是對數(shù)據(jù)進行處理的單元,指功能模塊,能做什么)〒:數(shù)據(jù)存儲 (信息的靜態(tài)存儲) 10.數(shù)據(jù)字典(Data Dictionary,DD)各類數(shù)據(jù)描述的集合,它是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù)。 通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。11.主鍵和外鍵的關(guān)系(案例題) 12.用T-SQL語句如何創(chuàng)建表 如何刪除表 ppt 6-2 13.笛卡爾積(Cartesian Product)通俗點說就是指包含兩個集合中任意取出兩個元素構(gòu)成的組合的集合。 設(shè):關(guān)系R為m列(m 個屬性),k1行(k1個元組); 關(guān)系S為n列(n個屬性),k2行(k2個元組)。 ? 公式:R×S={tRtS │tR ∈R ∧ tS ∈S } ? 語義:笛卡爾積仍是一個關(guān)系,該關(guān)系的結(jié)構(gòu)是R和S結(jié)構(gòu)之連接,即前m 個屬性來自R,后n個屬性來自S,該關(guān)系的值是由R中的每個元組連接S中的每個元組所構(gòu)成元組的集合。 ? 注意:新關(guān)系的屬性個數(shù)等于m+n,元組個數(shù)等于k1*k2。 ? 14.投影(Projection) 設(shè):t是關(guān)系R中的一個元組,A是要從R中投影出的屬性子集。 ? 公式:∏A(R)={ t.A│t ∈R } ? 語義:從關(guān)系R中按所需順序選取若干個屬性構(gòu)成新關(guān)系。 ? 注意:新關(guān)系的元組數(shù)小于等于原關(guān)系的元組數(shù),新關(guān)系的屬性數(shù)不多于原關(guān)系中的屬性數(shù)。 ? ∏是希臘字母,即π的大寫形式,在數(shù)學中表示求積運算或直積運算,形式上類似于Σ,有時也用來代表圓周率值,即讀作/pai/ ? 15.連接(Join) 設(shè):A,B分別是關(guān)系R和S中的屬性,t是連接關(guān)系中的一個元組。 ? 公式: ? 語義:兩個關(guān)系R和S按相應(yīng)屬性值的比較條件連接起來,生成一個新關(guān)系,也稱為θ連接。 ? 等值連接 – R×S+選擇(θ為=) – 按照兩關(guān)系中對應(yīng)屬性值相等的條件所進行的連接 ? 自然連接 – 等值連接+去重復屬性 – 記作:R S 16.第一范式(1NF):在關(guān)系模式R中的每一個具體關(guān)系r中,如果每個屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。第二范式(2NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個候選關(guān)鍵字,則稱關(guān)系R 是屬于第二范式的。 第三范式(3NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。 17.字符串的定界符可以用單引號,雙引號,和方括號,18.LEN 返回文本串的字符數(shù).left:返回從字符串左邊開始指定個數(shù)的字符 19.索引的特點:有效組織表數(shù)據(jù)的方式它由表中一列或多列按照一定的排列順序組成。、用戶可以通過合理地創(chuàng)建索引大大提高數(shù)據(jù)庫的查找速度 索引也可以保證列的唯一性,從而確保表中數(shù)據(jù)的完整性 索引中包含鍵值,這些鍵值存儲在一種數(shù)據(jù)結(jié)構(gòu)(B-樹)中,通過鍵值可以快速地找到與鍵值相關(guān)的數(shù)據(jù)記錄 索引創(chuàng)建原則:經(jīng)常被查詢的列 需要排序的列 外鍵或主鍵列 值唯一的列 在下列情況下不適合建立索引。在查詢中很少被引用的列。 包含太多重復值的列。 數(shù)據(jù)類型為bit、varchar(max)、varbinary(max)等的列不能建立索引。 20.聚簇索引的特點:聚簇索引確定表中數(shù)據(jù)的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。由于聚簇索引規(guī)定數(shù)據(jù)在表中的物理存儲順序,因此一個表只能包含一個聚簇索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。漢語字典也是聚簇索引的典型應(yīng)用,在漢語字典里,索引項是字母+聲調(diào),字典正文也是按照先字母再聲調(diào)的順序排列。 聚簇索引對于那些經(jīng)常要搜索范圍值的列特別有效。使用聚簇索引找到包含第一個值的行后,便可以確保包含后續(xù)索引值的行在物理相鄰。例如,如果應(yīng)用程序執(zhí)行的一個查詢經(jīng)常檢索某一日期范圍內(nèi)的記錄,則使用聚集索引可以迅速找到包含開始日期的行,然后檢索表中所有相鄰的行,直到到達結(jié)束日期。這樣有助于提高此類查詢的性能。同樣,如果對從表中檢索的數(shù)據(jù)進行排序時經(jīng)常要用到某一列,則可以將該表在該列上聚簇(物理排序),避免每次查詢該列時都進行排序,從而節(jié)省成本。聚集索引根據(jù)鍵值的大小對行進行物理排序,所以每個表只能有一個聚集索引。 21.alter table 修改表 Update 更新表 為數(shù)據(jù)表創(chuàng)建索引的目的:a 提高查詢檢索的性能 23;創(chuàng)建索引的兩種方法:在【新建索引】窗口中創(chuàng)建索引(1 用索引創(chuàng)建向?qū)?chuàng)建索引;2 直接創(chuàng)建索引) 使用SSMS創(chuàng)建索引 使用T-SQL創(chuàng)建表的索引 24一對一關(guān)聯(lián):在一對一關(guān)系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相關(guān)列都是主鍵或都具有唯一約束,則可以創(chuàng)建一對一關(guān)系。25:什么是數(shù)據(jù)表:一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。 數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。沒有數(shù)據(jù)表,關(guān)鍵字、主鍵、索引等也就無從談起。在數(shù)據(jù)庫畫板中可以顯示數(shù)據(jù)庫中的所有數(shù)據(jù)表(即使不是用PowerBuilder創(chuàng)建的表),創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。 數(shù)據(jù)表(或稱表)是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個框架,數(shù)據(jù)表才是其實質(zhì)內(nèi)容。根據(jù)信息的分類情況,一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。26;sql: 結(jié)構(gòu)化查詢語言(Structured Query Language)” 其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學,SQL語言是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴展名。 語言特點:一體化 使用反式靈活 非過程化 語言簡潔 語法簡單 好學好用 27:交叉連接查詢:交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù) 據(jù)行數(shù)等于第一個表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個表中符合查詢條件的數(shù)據(jù)行數(shù)。例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數(shù)將等 于6*8=48行。 28;什么情況下應(yīng)該盡量創(chuàng)建索引:數(shù)據(jù)量大(建議分區(qū))、數(shù)據(jù)插入刪除不是太頻繁、又需要經(jīng)常按某些字段進行條件檢索的表。在一個或者一些字段需要頻繁用作查詢條件,并且表數(shù)據(jù)較多的時候,創(chuàng)建索引會明顯提高查詢速度,因為可由全表掃描改成索引掃描。(無索引時全表掃描也就是要逐條掃描全部記錄,直到找完符合條件的,索引掃描可以直接定位)索引并不是越多越好,太多索引會占用很多的索引表空間,甚至比存儲一條記錄更多。對于需要頻繁新增記錄的表,最好不要創(chuàng)建索引,沒有索引的表,執(zhí)行insert、append都很快,有了索引以后,會多一個維護索引的操作,一些大表可能導致insert 速度非常慢 29:sql sever 中的數(shù)據(jù)類型 SQL中的五種數(shù)據(jù)類型:字符型,文本型,數(shù)值型,邏輯型和日期型 30:關(guān)系數(shù)據(jù)庫中的投影操作是指從關(guān)系中。A.去掉若干屬性列組成新的關(guān)系 B.選擇出若干屬性列組成新的關(guān)系 C.去掉滿足條件的諸元組 D.選擇滿足條件的諸元組(A 抽出特定的記錄 B抽出特定的字段 C建立相應(yīng)的影像 D建立相應(yīng)的視圖)31:關(guān)系數(shù)據(jù)模型有許多優(yōu)點,但下面所列的條目中哪一條不是它的優(yōu)點? A.結(jié)構(gòu)簡單 B.適用于集合操作 C.有標準語言 D.可表示復雜的語義 正確答案:D 解析:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束3大要素組成。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)單一,在關(guān)系模型中,現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系來表示。關(guān)系操作的特點是集合操作方式,即操作的對象和結(jié)果都是集合。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算均是抽象的查詢語言這些抽象的語言與具體的DBMS中實現(xiàn)的實際語言并不完全一樣,但它們能用作評估實際系統(tǒng)中查詢語言能力的標準或基礎(chǔ)。數(shù)據(jù)庫的數(shù)據(jù)完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,那是一種語義概念,包括兩個主要方面:與現(xiàn)實世界中應(yīng)用需求的數(shù)據(jù)的相容性和正確性。數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的相容性和正確性。32數(shù)據(jù)庫概念模型應(yīng)具備(特點。Ⅰ.豐富的語言表達能力 Ⅱ.易于交流和理解 Ⅲ.易于變動 Ⅳ.易于向各種數(shù)據(jù)模型轉(zhuǎn)換 A.Ⅰ和Ⅱ B.Ⅰ、Ⅱ、Ⅲ C.Ⅱ、Ⅲ、Ⅳ D.全是 正確答案:D 概念模型應(yīng)具有較強的語義表達能力,簡單,清晰,易于用戶理解。易于項其他數(shù)據(jù)模型轉(zhuǎn)換 (相關(guān)知識)組織、存儲和管理數(shù)據(jù)的倉庫 32關(guān)系數(shù)據(jù)庫的規(guī)范化理論指出,關(guān)系數(shù)據(jù)庫中的關(guān)系應(yīng)滿足一定的要求,最起碼的要求是達到1NF,既滿足()。A: 主關(guān)鍵字唯一標識表中的每一行 B: 關(guān)系中的行不允許重復 C: 每個非關(guān)鍵字列都完全依賴于主關(guān)鍵字 D: 每個屬性都有是不可再分的基本數(shù)據(jù)項 33關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括。A.排序、索引、統(tǒng)計 B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序 D.顯示、打印、制表 34.概念結(jié)構(gòu)設(shè)計階段得到的結(jié)果是______。A、包括存儲結(jié)構(gòu)和存取方法的物理結(jié)構(gòu) B、某個DBMS所支持的數(shù)據(jù)模型 C、E-R圖表示的概念模型 D、數(shù)據(jù)字典描述的數(shù)據(jù)需求 35數(shù)據(jù)庫需求分析階段的主要任務(wù):對現(xiàn)實世界要處理的對象(組織、部門、企業(yè))等進行詳細的調(diào)查,通過對原系統(tǒng)的了解,手機支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對其進行處理,在此基礎(chǔ)上確定新系統(tǒng)的功能。 用戶需求分析階段的主要工作包括2方面:可行性分析 成本(資源)分析 哪個不是DBA數(shù)據(jù)庫管理員的職責 A完整性約束說明 B定義數(shù)據(jù)庫模式 C數(shù)據(jù)庫安全 D數(shù)據(jù)庫管理系統(tǒng)設(shè)計 下列工作中,不屬于數(shù)據(jù)庫管理員DBA的職責是()。A.建立數(shù)據(jù)庫 B.輸入和存儲數(shù)據(jù)庫數(shù)據(jù) C.監(jiān)督和控制數(shù)據(jù)庫的使用 D.數(shù)據(jù)庫的維護和改進 以下是公認的DBA職責: 1、監(jiān)視數(shù)據(jù)庫。 2、記錄和統(tǒng)計系統(tǒng)和性能的表現(xiàn)技術(shù)信息。 3、構(gòu)造數(shù)據(jù)庫框架、配置數(shù)據(jù)庫實例。 4、維護數(shù)據(jù)庫網(wǎng)絡(luò)安全,過濾非法查詢信息。 5、及時備份數(shù)據(jù)庫 6、利用備份,還原數(shù)據(jù)庫,甚至是遷移數(shù)據(jù)庫。 7、為開發(fā)人員定制、配置專用的測試服務(wù)器。 8、數(shù)據(jù)庫技術(shù)最新的研發(fā)方向。 9、數(shù)據(jù)庫調(diào)優(yōu)。 10、完整熟悉數(shù)據(jù)庫操作流程。 11、診斷數(shù)據(jù)庫,找出數(shù)據(jù)庫的不足之處和生成數(shù)據(jù)庫解決方案。 12、完整培訓數(shù)據(jù)庫系統(tǒng)那個環(huán)境。 13、與系統(tǒng)管理員保持良好的合作關(guān)系。 14、創(chuàng)建有效的、定期維護的安全的數(shù)據(jù)庫。37: 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨立性是指,當系統(tǒng)數(shù)據(jù)存儲結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)發(fā)生變化時,不會影響應(yīng)用程序。 數(shù)據(jù)獨立性包括物理獨立性和邏輯獨立性。物理獨立性指應(yīng)用程序與存儲在磁盤的數(shù)據(jù)庫中數(shù)據(jù)相互獨立,即數(shù)據(jù)物理存儲改變時應(yīng)用程序不變。邏輯獨立性指應(yīng)用程序與數(shù)據(jù)庫邏輯結(jié)構(gòu)相互獨立,即數(shù)據(jù)邏輯結(jié)構(gòu)改變時,應(yīng)用程序可以不變。 38在數(shù)據(jù)管理技術(shù)發(fā)展階段中,文件系統(tǒng)階段與數(shù)據(jù)庫系統(tǒng)階段的主要區(qū)別之一是數(shù)據(jù)庫系統(tǒng)()。 A.數(shù)據(jù)可共享 B.數(shù)據(jù)可長期保存 C.采用一定的數(shù)據(jù)模型組織數(shù)據(jù) D.有專門的軟件對數(shù)據(jù)進行管理 正確答案:C 解析:數(shù)據(jù)庫采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)共享性高、冗余度小、易擴充:有較高的數(shù)據(jù)獨立性;數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口:系統(tǒng)提供數(shù)據(jù)庫的恢復、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性4個方面的數(shù)據(jù)控制功能。相對于文件系統(tǒng)管理數(shù)據(jù)的方式,它采用一定的數(shù)據(jù)模型來組織和管理數(shù)據(jù)。 39數(shù)據(jù)庫系統(tǒng)有哪些特點: 數(shù)據(jù)的結(jié)構(gòu)化,數(shù)據(jù)的共享性好,數(shù)據(jù)的獨立性好,數(shù)據(jù)存儲粒度小,數(shù)據(jù)管理系統(tǒng),為用戶提供了友好的接口。數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),是數(shù)據(jù)模型,現(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。 數(shù)據(jù)庫系統(tǒng)的主要特點有:1)實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余2)采用特定的數(shù)據(jù)模型3)具有較高的數(shù)據(jù)獨立性4)有統(tǒng)一的數(shù)據(jù)控制功能另外,數(shù)據(jù)庫系統(tǒng)由5大部分組成:硬件系統(tǒng),數(shù)據(jù)庫集合,數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件,數(shù)據(jù)庫管理員和用戶 40:數(shù)據(jù)庫,是一個長期存儲在計算機內(nèi)的、有組織的、有共享的、統(tǒng)一管理的數(shù)據(jù)集合。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。 41:數(shù)據(jù)庫的發(fā)展歷史經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。人工管理數(shù)據(jù)具有如下特點 1、數(shù)據(jù)不保存 2、數(shù)據(jù)需要由應(yīng)用程序自己管理沒有相應(yīng)的軟件系統(tǒng)負責數(shù)據(jù)的管理工作 3、數(shù)據(jù)不共享 4、數(shù)據(jù)不具有獨立性數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后必須對應(yīng)用程序做相應(yīng)的修改這就進一步加重了程序員的負擔。 文件系統(tǒng)階段特點為 1、數(shù)據(jù)可以長期保存 2、由專門的軟件即文件系統(tǒng)進行數(shù)據(jù)管理 使應(yīng)用程序與數(shù)據(jù)之間有了一定的獨程序和數(shù)據(jù)之間由軟件提供的存取方法進行轉(zhuǎn)換立性程序員可以不必過多地考慮物理細節(jié)將精力集中于算法。 3、數(shù)據(jù)共享性差 4、數(shù)據(jù)獨立性低 數(shù)據(jù)庫系統(tǒng)階段特點為 1、數(shù)據(jù)結(jié)構(gòu)化 2、數(shù)據(jù)的共享性好冗余度低 3、數(shù)據(jù)獨立性高 4、數(shù)據(jù)由DBMS統(tǒng)一管理和控制 一、人工管理階段:特點 數(shù)據(jù)的管理者:人 數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:無共享,冗余度極大 數(shù)據(jù)的獨立性:不獨立,完全依賴于程序 數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu) 數(shù)據(jù)控制能力:應(yīng)用程序自己控制 二、文件系統(tǒng)階段:特點 數(shù)據(jù)的管理者:文件系統(tǒng) 數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:共享性差,冗余度大 數(shù)據(jù)的獨立性:獨立性差 數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu) 數(shù)據(jù)控制能力:應(yīng)用程序自己控制 三、數(shù)據(jù)庫系統(tǒng)階段:特點 數(shù)據(jù)的管理者:數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)面向的對象:整個應(yīng)用系統(tǒng) 數(shù)據(jù)的共享程度:共享性高,冗余度小 數(shù)據(jù)的獨立性:具有高度的物理獨立性和邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述 數(shù)據(jù)控制能力:由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復能力(其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段.) 未知:1關(guān)系數(shù)據(jù)模型三要素 2物理模式 內(nèi)模式 子模式 3 Identify 的使用特點 4;在數(shù)據(jù)模型中的家族關(guān)系的特點 5.sql sever 2008的系統(tǒng)數(shù)據(jù)庫是什么 6什么是子數(shù)據(jù)表 上機操作:1、用select語句查詢前十行數(shù)據(jù)、用select語句查詢前20%的數(shù)據(jù) 3、用select語句查詢指定列數(shù)據(jù) 4、什么是查詢設(shè)計器 5、在select語句中如何使用GROUP BY 6、exists子查詢語句如何使用 7、insert into 插入語句如何使用 8 update delect語法格式 9、用select語句能夠進行模糊查詢 –like 如何使用 10、用select語句如何使用聚合函數(shù)進行統(tǒng)計 匯總 分組 11、在.sql sever中如何進行自動編號設(shè)計 什么是自動編號 12、not in 的使用 any some all 的使用、select can’(*)的使用 數(shù)據(jù)庫設(shè)計 概念 1.1 描述 數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù)。 1.2 數(shù)據(jù)庫設(shè)計包含四部分 <1>需求分析 <2>概念結(jié)構(gòu)設(shè)計 <3>邏輯結(jié)構(gòu)設(shè)計 <4>物理結(jié)構(gòu)設(shè)計 1.3 數(shù)據(jù)庫設(shè)計的原則 <1>明白自己的系統(tǒng)為OLTP系統(tǒng)還是OLAP系統(tǒng) <2>降低對數(shù)據(jù)庫功能的依賴 <3>嚴格遵從數(shù)據(jù)庫三范式 <4>適當?shù)目紤]數(shù)據(jù)分塊 <5>盡量保證記錄的唯一標識存在 概念結(jié)構(gòu)設(shè)計 2.1 E--R圖設(shè)計 E--R圖分為局部E--R圖和全局E--R圖 E--R模型基本符號 實體的表示:長方形 聯(lián)系的表示:菱形,如1: 1、1:n(m:1)、(m:n)屬性的表示:橢圓形 2.2 確定實體與屬性的原則: <1>能作為屬性的盡量作為屬性而不要劃為實體 <2>作為屬性的數(shù)據(jù)元素與實體之間的聯(lián)系只能是1:n的聯(lián)系 <3>作為屬性的數(shù)據(jù)項不能再用其他屬性加以描述,也不能與其他實體或?qū)傩园l(fā)生聯(lián)系。邏輯結(jié)構(gòu)設(shè)計 3.1 概念 是將基本E--R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)的過程。 3.2 邏輯結(jié)構(gòu)設(shè)計的過程分為 <1>將概念結(jié)構(gòu)轉(zhuǎn)換為現(xiàn)有DBMS支持的關(guān)系、網(wǎng)狀或?qū)哟文P椭械哪骋环N數(shù)據(jù)模型 <2>從功能和性能要求上對轉(zhuǎn)換的模型進行評價,看它是否滿足用戶要求 <3>對數(shù)據(jù)模型進行優(yōu)化 3.3 邏輯結(jié)構(gòu)設(shè)計的原則 <1>一個實體型轉(zhuǎn)換為一個關(guān)系模型,實體的屬性就是關(guān)系的屬性,實體的鍵就是關(guān)系的鍵; <2>一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的每個實體型的鍵以及聯(lián)系的屬性都轉(zhuǎn)換為關(guān)系的屬性。配置數(shù)據(jù)庫連接 4.1 步驟 1.打開powerdesigner,依次點擊:database--connect 2.點擊connect,打開對話窗口: 3.然后點擊Configuer按鈕,彈出數(shù)據(jù)源配置Configuer Data Connections對話框: 4.把頁簽切換到第三個Connetion Profiles頁簽中,如果連接存在,選中就行,如果不存在,點擊add Data Source數(shù)據(jù)庫圖標進行新增,彈出Connection Profile Definition對話框 此對話框中需要輸入以下信息 Connection profile name: 輸入數(shù)據(jù)庫連接文件名,它會自動加上后綴名.dcp; Directory:數(shù)據(jù)庫連接文件存放路徑;可以任意; Connetction type: 選擇JDBC; DBMS type : 數(shù)據(jù)庫類型選擇Oracle; Server name: 服務(wù)器名稱;也相當于對應(yīng)PL/SQL登陸頁面的數(shù)據(jù)庫; Database name: 數(shù)據(jù)庫名字; User name: 登陸數(shù)據(jù)庫名字; Password: 密碼 JDBC Driver class: 驅(qū)動類;只要下拉框選擇就行; JDBC Driver Jar URL: 訪問的服務(wù)器路徑 JDBC connection files: 驅(qū)動包;需要指向ojdbc14.jar或者其他驅(qū)動的包的按鈕路徑; 5.點擊Test Connection 按鈕進行連接測試; 測試連接是否成功;成功會彈出成功或者失敗消息框,測試成功后。點擊確定按鈕,返回數(shù)據(jù)源配置Configuer Data Connections對話框,列表中就會多出一個.dcp文件,點擊確定即可。導出數(shù)據(jù)庫 5.1 步驟 導出數(shù)據(jù)庫表方法如下: 1.啟動PowerDesigner 2.菜單:File->Reverse Engineer->Database 出來New Physical Data Model對話框,DBMS選擇ORACLE Version 10g 選項,其他可以選擇默認值,點擊“確定”按鈕,彈出Database Reverse Engineering Options對話框: 3.然后在下拉框中選擇我們之前建立的數(shù)據(jù)源文件,并再次輸入數(shù)據(jù)庫User ID和password,點擊Connection即可連接至數(shù)據(jù)庫,并得取所有的數(shù)據(jù)庫對象,在此我們選擇所有的Table。 PowerDesigner 6.1 描述 Power Designer 是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統(tǒng)進行分析設(shè)計,他幾乎包括了數(shù)據(jù)庫模型設(shè)計的全過程。利用Power Designer可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,還可以為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,也能對團隊設(shè)計模型進行控制。他可以與許多流行的數(shù)據(jù)庫設(shè)計軟件,例如PowerBuilder,Delphi,VB等相配合使縮短開發(fā)時間和使系統(tǒng)設(shè)計更優(yōu)化。 power designer是能進行數(shù)據(jù)庫設(shè)計的強大的軟件,是一款開發(fā)人員常用的數(shù)據(jù)庫建模工具。使用它可以分別從概念數(shù)據(jù)模型(Conceptual Data Model)和物理數(shù)據(jù)模型(Physical Data Model)兩個層次對數(shù)據(jù)庫進行設(shè)計。在這里,概念數(shù)據(jù)模型描述的是獨立于數(shù)據(jù)庫管理系統(tǒng)(DBMS)的實體定義和實體關(guān)系定義;物理數(shù)據(jù)模型是在概念數(shù)據(jù)模型的基礎(chǔ)上針對目標數(shù)據(jù)庫管理系統(tǒng)的具體化。導入數(shù)據(jù)庫 7.1 方法 將視圖切換到physical模型下,連接數(shù)據(jù)庫:單擊databasedatabase connection,彈出下面窗口,進行數(shù)據(jù)庫的連接。 鏈接完成后單擊toolsforward engineerschema generate,將彈出下面的窗口,單擊generate,即可將物理模型導入數(shù)據(jù)庫。實體 8.1 實體間的關(guān)系 實體間的三種關(guān)系: 1.標識關(guān)系(identifying relationship); 2.多對多關(guān)系(many-to-many relationship); 3.非標識關(guān)系(non-identifying relationship)。 標識關(guān)系是指把實體1中的主鍵作為實體2中的外鍵,且作為實體2的主鍵,非標識關(guān)系是指把實體1中的主鍵作為實體2中的外鍵,但不作為實體2的主鍵,8.2 概念 Erwin中的實體有兩種:獨立實體和依賴實體。實體被指定作為獨立實體,或依賴實體,取決于其鍵的獲得方式。獨立實體由方角盒來指定,獨立實體不依賴于模型中任何其它實體來標識;依賴實體被指定為圓角盒,依賴實體依存于模型中的其它實體,修改實體名 8.3 修改實體名稱 方法一:單擊實體名,按F2鍵可 以對實體名稱進行修改; 方法二:右鍵單擊欲進行修改的實體,選擇Entity Properties; 8.4 方法三:雙擊實體修改。列的增刪 方法一:右鍵單擊所選實體?≡馎tiue,在彈出的trbts窗口中添加é境蛐薷氖糶裕?方法二:單擊所選實體,按tb鍵也可以進行添加,刪除或修改操作。第二篇:數(shù)據(jù)庫知識點總結(jié)
第三篇:Oracle數(shù)據(jù)庫 知識點總結(jié)
第四篇:數(shù)據(jù)庫復習總結(jié)知識點
第五篇:數(shù)據(jù)庫設(shè)計知識點總結(jié)