自考《互聯(lián)網(wǎng)數(shù)據(jù)庫》1-11章問答資料(一)

字號:

§1
    1.數(shù)據(jù)庫技術(shù)是隨著數(shù)據(jù)管理的需要而產(chǎn)生的。數(shù)據(jù)處理的的核心是數(shù)據(jù)管理。數(shù)據(jù)管理指的是對數(shù)據(jù)的分類、組織、編碼、儲存、檢索和維護。
    2.數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段
    3. 人工管理階段:數(shù)據(jù)不保存、數(shù)據(jù)需要由應用程序自己進行管理、基本上沒有文件概念、數(shù)據(jù)不共享
    4.文件系統(tǒng)階段:數(shù)據(jù)可以長期保存、文件系統(tǒng)管理數(shù)據(jù)、文件已經(jīng)多樣化、數(shù)據(jù)的存取基本上以記錄為單位。
    缺點有:數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大;數(shù)據(jù)和程序缺乏獨立性
    5.數(shù)據(jù)庫管理階段:
    (1)數(shù)據(jù)結(jié)構(gòu)化。
    (2)數(shù)據(jù)共享性高、冗余度小、易擴充。
    (3)數(shù)據(jù)獨立性高。
    (4)統(tǒng)一的數(shù)據(jù)管理和控制:數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性控制、數(shù)據(jù)庫恢復和并發(fā)控制。
    (5)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。
    DB:數(shù)據(jù)庫(Database),DB是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。
    DBMS:數(shù)據(jù)庫管理系統(tǒng)(Database Management System),DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS.
    DBS:數(shù)據(jù)庫系統(tǒng)(Database System),DBS是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。
    數(shù)據(jù)庫技術(shù):是一門研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、管理和使用的軟件學科。
    第一代數(shù)據(jù)庫系統(tǒng),即層次數(shù)據(jù)庫系統(tǒng)和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)
    第二代數(shù)據(jù)庫系統(tǒng),即關(guān)系數(shù)據(jù)庫系統(tǒng)
    第三代數(shù)據(jù)庫系統(tǒng),即面向?qū)ο髷?shù)據(jù)庫系統(tǒng)
    數(shù)據(jù)庫學科的研究范圍:數(shù)據(jù)庫管理系統(tǒng)軟件的研制; 數(shù)據(jù)庫設(shè)計; 數(shù)據(jù)庫理論
    數(shù)據(jù)模型是現(xiàn)實世界數(shù)據(jù)特征的抽象。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。
    數(shù)據(jù)模型應滿足三方面要求:一是能比較真實地模擬現(xiàn)實世界;二是容易為人所理解;三是便于在計算機上實現(xiàn)。
    根據(jù)模型應用目的分為:⑴概念模型,也稱信息模型,它是按用戶的觀點對數(shù)據(jù)和信息建模。⑵數(shù)據(jù)模型,主要包括層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο髷?shù)據(jù)模型,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。
    數(shù)據(jù)模型三個要素:
    ⑴數(shù)據(jù)結(jié)構(gòu) 描述系統(tǒng)的靜態(tài)特性
    ⑵數(shù)據(jù)操作 描述系統(tǒng)的動態(tài)特性
    ⑶數(shù)據(jù)的約束條件 是一組完整性規(guī)則的集合
    概念模型
    數(shù)據(jù)描述的三個領(lǐng)域:現(xiàn)實世界、信息世界和機器世界
    數(shù)據(jù)描述的兩種形式:物理描述和邏輯描述。前者是指數(shù)據(jù)在存儲設(shè)備上的存取方式,后者是指程序員或用戶以用以操作的數(shù)據(jù)形式。
    兩個實體型之間的聯(lián)系可以分為三類:
    一對一聯(lián)系(1∶1);一對多聯(lián)系(1∶n);多對多聯(lián)系(m∶n)
    E-R圖提供了表示實體型、屬性和聯(lián)系的方法。實體-聯(lián)系方法(E-R方法)是抽象和描述現(xiàn)實世界的有力工具。
    實體型:用矩形表示,矩形框內(nèi)寫明實體名。
    屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。
    聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別志有關(guān)實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1∶1,1∶n或m∶n)。
    數(shù)據(jù)模型
    數(shù)據(jù)模型: 層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο髷?shù)據(jù)模型。
    其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。
    層次模型:用樹型結(jié)構(gòu)表示實體間聯(lián)系的數(shù)據(jù)模型
    層次模型有以下兩個限制:
    ⑴只有一個結(jié)點沒有雙親結(jié)點,稱之為根結(jié)點;
    ⑵根以外的其他結(jié)點有且只有一個雙親結(jié)點。
    層次數(shù)據(jù)模型可以直接表示一對多(包括一對一)的聯(lián)系;
    層次模型表示多對多聯(lián)系,必須首先將其分解成一對多聯(lián)系。分解方法有兩種:冗余結(jié)點法和虛擬結(jié)點法。
    網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。
    (1)允許一個以上的結(jié)點無雙親;(2)一個結(jié)點可以有多于一個的雙親。
    關(guān)系模型:是由若干個關(guān)系模式組成的集合,其主要特征是用二維表格結(jié)構(gòu)表達實體集,用外鍵表示實體間聯(lián)系。
    關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,也就是說,不允許表中還有表。
    數(shù)據(jù)系統(tǒng)的三級模式結(jié)構(gòu):外模式(物理模式)、模式(邏輯模式)和內(nèi)模式
    兩級映象:
    外模式/模式映象 一般在外模式中描述。
    模式/內(nèi)模式映象 一般在內(nèi)模式中描述。
    兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。
    數(shù)據(jù)庫管理系統(tǒng)的功能:
    ⑴數(shù)據(jù)定義
    ⑵數(shù)據(jù)操縱
    ⑶數(shù)據(jù)庫運行管理
    ⑷數(shù)據(jù)組織、存儲和管理
    ⑸數(shù)據(jù)庫的建立和維護
    ⑹數(shù)據(jù)通信接口
    數(shù)據(jù)庫管理系統(tǒng)組成:
    ⑴數(shù)據(jù)定義語言及其翻譯處理程序
    ⑵數(shù)據(jù)操縱語言及其編譯(或解釋)程序
    ⑶數(shù)據(jù)庫運行控制程序
    ⑷實用程序
    一個設(shè)計優(yōu)良的DBMS:
    ⑴友好的用戶界面
    ⑵比較完備的功能
    ⑶較高的運行效率
    ⑷清晰的系統(tǒng)結(jié)構(gòu)和開放性
    §2
    關(guān)系數(shù)據(jù)庫系統(tǒng)與非關(guān)系數(shù)據(jù)庫系統(tǒng)的區(qū)別是,關(guān)系系統(tǒng)只有“表”這一種數(shù)據(jù)結(jié)構(gòu);而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對這些數(shù)據(jù)結(jié)構(gòu)有其他的操作。
    關(guān)系模型的組成:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整性約束
    關(guān)系數(shù)據(jù)語言
    關(guān)系代數(shù)語言 例如ISBL
    元組關(guān)系演算語言 例如ALPHA,QUEL
    關(guān)系演算語言
    域關(guān)系演算語言 例如QBE
    具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言 例如SQL
    關(guān)系的三類完整性約束:實體完整性、參照完整性和用戶定義的完整性
    實體完整性規(guī)則:要求關(guān)系中組成主鍵的屬性上不能有空值。
    參照完整性規(guī)則:要求不引用不存在的實體。
    用戶定義完整性規(guī)則:由具體應用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。
    關(guān)系數(shù)據(jù)語言的共同特點是:語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。
    基本關(guān)系具有以下六條性質(zhì):
    ①列是同質(zhì)的(Homogeneous),即每一列中的分量同一類型的數(shù)據(jù),來自同一個域。②不同的列可出自同一個域,稱其中的每列為一個屬性,不同的屬性要給予不同的屬性名。
    ③列的順序無所謂,即列的次序可以任意交換。
    ④任意兩個元組不能完全相同。
    ⑤行的順序無所謂,即行的次序可以任意交換。
    ⑥分量必須取原子值,即每一個分量都必須是不可分的數(shù)據(jù)項。
    關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項。
    關(guān)系是關(guān)系模式在某一個時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的,穩(wěn)定的,而關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。但在實際當中,人們常常把關(guān)系模式和關(guān)系都稱為關(guān)系。
    實體完整性規(guī)則說明如下:
    (1)實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應現(xiàn)實世界的一 個實體集。例如學生關(guān)系對應于學生的集合。
    (2)現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種性標識。
    (3)相應地,關(guān)系模型中以主碼作為性標識。
    (4)主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。
    關(guān)系可以有三種類型:基本關(guān)系(通常又稱為基本表或基表)、查詢表和視圖表
    元組變量主要有兩方面的用途:
    ①簡化關(guān)系名。
    ②操作條件中使用量詞時必須用元組變量。
    §3
    SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體。
    特點包括:①綜合統(tǒng)一、②高度非過程化、③面向集合的操作方式、④以同一種語法結(jié)構(gòu)提供兩種使用方式、⑤語言簡潔,易學易用。
    定義和合理地使用視圖能帶來的好處為:
    ⑴、視圖能夠簡化用戶的操作
    ⑵、視圖使用戶能以多種角度看待同一數(shù)據(jù)
    ⑶、視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性
    ⑷、視圖能夠?qū)C密數(shù)據(jù)提供安全保護
    視圖更新操作規(guī)則的限制:
    如果視圖是從多個基本表使用聯(lián)接操作導出的,則不允許更新。
    如果導出的視圖使用了分組和聚合操作,也不允許更新。
    如果視圖是從單個基本表使用選擇和投影操作導出的,并且包括了基本表的主鍵或某個候選鍵,則可以執(zhí)行操作。
    SQL中數(shù)據(jù)控制功能包括事務管理功能和數(shù)據(jù)保護功能,即數(shù)據(jù)庫的恢復、并發(fā)控制;數(shù)據(jù)庫的安全性和完整性。
    §4
    數(shù)據(jù)依賴是通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系,是現(xiàn)實世界屬性間相互聯(lián)系的抽象,是數(shù)據(jù)內(nèi)在的性質(zhì),是語義的體現(xiàn)?,F(xiàn)在人們已經(jīng)提出了許多種類型的數(shù)據(jù)依賴,其中最重要的是函數(shù)依賴和多值依賴。
    關(guān)系模式規(guī)范化時一般應遵循以下原則:
    (1)關(guān)系模式進行無損連接分解。
    (2)合理選擇規(guī)范化程度。
    (3)正確性與可實現(xiàn)性原則。
    關(guān)系模式規(guī)范化的基本步驟如圖所示。
    ①對1NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換為若干個2NF關(guān)系。
    ②對2NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的傳遞函數(shù)依賴,從而產(chǎn)生一組3NF關(guān)系。
    ③對3NF關(guān)系進行投影,消除原關(guān)系中主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴(也就是說,使決定屬性都成為投影的候選碼),得到一組BCNF關(guān)系。
    消除決定屬性集非碼的非平凡函數(shù)依賴
    1NF
    消除非主屬性對碼的部分函數(shù)依賴
    2NF
    消除非主屬性對碼的傳遞函數(shù)依賴
    3NF
    消除主屬性對碼的部分和傳遞函數(shù)依賴
    BCNF
    消除非平凡且非函數(shù)依賴的多值依賴
    4NF
    消除不是由候選碼所蘊含的連接依賴
    5NF
    以上三步也可以合并為一步:對原關(guān)系進行投影,消除決定屬性不是候選碼的任何函數(shù)依賴。
    ④對BCNF關(guān)系進行投影,消除原關(guān)系中非平凡且非函數(shù)依賴的多值依賴,從而產(chǎn)生一組4NF關(guān)系。
    ⑤對4NF關(guān)系進行投影,消除原關(guān)系中不是由候選碼所蘊含的連接依賴,即可得到一組5NF關(guān)系。
    5NF是最終范式。
    1NF/2NF/3NF存在的問題: ①插入異常 ②刪除異常 ③數(shù)據(jù)冗余度大 ④修改復雜
    BCNF問題:①數(shù)據(jù)冗余度大 ②增加操作復雜 ③刪除操作復雜 ④修改操作復雜
    關(guān)系模式分解的三個定義(判斷對關(guān)系模式的一個分解是否與原關(guān)系模式等價可以有三種不同的標準):
    (1)分解具有“無損連接性”。
    (2)分解要“保持函數(shù)依賴”。
    (3)分解既要“保持函數(shù)依賴”,又要具有“無損連接性”。
    規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:
    ①若要求分解具有無損連接性,那么模式分解一定能夠達到4NF.
    ②若要求分解保持函數(shù)依賴,那么模式分解一定能夠達到3NF,但不一定能夠達到BCNF.
    ③若要求分解既具有無損連接性,又保持函數(shù)依賴,則模式分解一定能夠達到3NF,但不一定能夠達到BCNF
    BCNF的關(guān)系模式都具有如下3個性質(zhì):
    ①所有非主屬性都完全函數(shù)依賴于每個候選碼。
    ②所有主屬性都完全函數(shù)依賴于每個不包含它的候選碼。
    ③沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。
    §5
    數(shù)據(jù)庫的被破壞主要有以下幾個方面:
    (1)系統(tǒng)的軟、硬件故障,造成數(shù)據(jù)被破壞。
    (2)數(shù)據(jù)庫的并發(fā)操作引起數(shù)據(jù)的不一致性。
    (3)自然的或人為的破壞。
    (4)對數(shù)據(jù)庫數(shù)據(jù)的更新操作有誤。
    針對上述問題,數(shù)據(jù)庫管理系統(tǒng)提供相應的功能:
    (1)數(shù)據(jù)庫恢復:在系統(tǒng)失效后的數(shù)據(jù)庫恢復,配合定時備份數(shù)據(jù)庫,使數(shù)據(jù)庫不丟失數(shù)據(jù)。
    (2)并發(fā)控制:保證多用戶能共享數(shù)據(jù)庫,并維護數(shù)據(jù)的一致性。
    (3)安全性保護:防止對數(shù)據(jù)庫的非法使用,以避免數(shù)據(jù)的泄露、纂改或破壞。
    (4)完整性保護:保證數(shù)據(jù)的正確性和一致性。
    數(shù)據(jù)庫安全控制的一般方法:
    ①用戶標識和鑒定;②存取控制;③定義視圖;④審計;⑤數(shù)據(jù)加密。
    數(shù)據(jù)庫的安全性主要是指保護數(shù)據(jù)庫,防止由于非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫的完整性:數(shù)據(jù)的正確性、一致性和相容性。
    數(shù)據(jù)的完整性與安全性是數(shù)據(jù)庫保護的兩個不同的方面。安全性是防止用戶非法使用數(shù)據(jù)庫。完整性則是防止合法用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫中加入不合語義的數(shù)據(jù)。
    事務:并發(fā)控制的單位,是用戶定義的一組數(shù)據(jù)庫操作序列。
    特征:原子性、一致性、隔離性、持久性。
    并發(fā)控制的主要技術(shù)是采用封鎖機制。封鎖就是事務T可以向系統(tǒng)發(fā)出請求,對某個數(shù)據(jù)對象(最常用的是記錄)加鎖。于是事務T對這個數(shù)據(jù)對象就有一定的控制。基本的封鎖類型有兩種:排它鎖(X鎖)和共享鎖(S鎖)。
    和操作系統(tǒng)一樣,封鎖的方法可能引起活鎖和死鎖。
    活鎖是指當若干事務要對同一數(shù)據(jù)項加鎖時,造成一些事務的永遠等待,得不到控制權(quán)的現(xiàn)象;死鎖是指兩個以上事務集合中的每個事務都在等待加鎖當前已被另一事務加鎖的數(shù)據(jù)項,從而造成相互等待的現(xiàn)象。
    數(shù)據(jù)庫中解決死鎖的常用方法有:
    ⑴、要求每個事務一次就將所有要使用的數(shù)據(jù)全部加鎖,否則就不能執(zhí)行。
    ⑵、采用按序加鎖法。
    ⑶、不采取任何措施來預防死鎖的發(fā)生,而是周期性的檢查系統(tǒng)中是否有死鎖。
    可串行化的調(diào)度:如果幾個事務并行(交錯)執(zhí)行的結(jié)果和按次序串行執(zhí)行的結(jié)果相同,則稱該并行執(zhí)行結(jié)果是正確的。這樣的調(diào)度稱為可串行化的調(diào)度。
    兩段鎖協(xié)議是指所有事務必須分兩個階段對數(shù)據(jù)庫項加鎖和解鎖。
    兩段鎖協(xié)議規(guī)定所有的事務應遵守下列規(guī)則:
    ⑴、在對任何數(shù)據(jù)進行讀、寫操作之前,事務首先要獲得對該數(shù)據(jù)的封鎖。
    ⑵、在釋放一個封鎖之后,事務再獲得任何其他封鎖。
    所謂“兩段”鎖含義是:事務分為兩個階段。第一階段是獲得封鎖,也稱為擴展階段。在該階段,事務可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何鎖。第二階段是釋放封鎖,也稱為收縮階段。在該階段,事務可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但是不能再申請任何鎖。
    數(shù)據(jù)庫系統(tǒng)故障可分為:事務內(nèi)部的故障、系統(tǒng)故障、介質(zhì)故障、計算機病毒。
    轉(zhuǎn)儲:靜態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進行任何存取、修改活動)
    動態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間允許對數(shù)據(jù)進行存取或修改)
    海量轉(zhuǎn)儲(每次轉(zhuǎn)儲全部數(shù)據(jù)庫)
    增量轉(zhuǎn)儲(每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù))
    日志文件是用來記錄對數(shù)據(jù)庫每一次更新活動的文件。在轉(zhuǎn)儲中必須建立日志文件,后援副本和日志文件綜合起來才能有效地恢復數(shù)據(jù)庫。
    利用日志文件恢復事務的過程:
    ①從頭掃描日志文件,找出哪些事務在故障發(fā)生時已經(jīng)結(jié)束,哪些事務尚未結(jié)束;
    ②對尚未結(jié)束的事務進行撤銷處理,對已經(jīng)結(jié)束的事務進行重做處理。
    ①硬件故障;病毒破壞:當數(shù)據(jù)庫本身被破壞時,可重裝轉(zhuǎn)儲數(shù)據(jù)庫的后備副本,然后運行日志文件,執(zhí)行事務恢復,這樣就可以重建數(shù)據(jù)庫。
    ②發(fā)生事務故障;系統(tǒng)故障:當數(shù)據(jù)庫本身沒被破壞,但內(nèi)容已經(jīng)不可靠時,可利用日志文件恢復事務,從而使數(shù)據(jù)庫回到某一正確狀態(tài),這時不必重裝后備副本。
    §6
    信息系統(tǒng)是提供信息、輔助人們對環(huán)境進行控制和進行決策的系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。
    數(shù)據(jù)庫設(shè)計內(nèi)容:結(jié)構(gòu)(數(shù)據(jù))設(shè)計;行為(處理)設(shè)計。
    數(shù)據(jù)庫設(shè)計分為以下六個階段:①需求分析階段、②概念結(jié)構(gòu)設(shè)計階段、③邏輯結(jié)構(gòu)設(shè)計階段、④數(shù)據(jù)庫物理設(shè)計階段、⑤數(shù)據(jù)庫實施階段、⑥數(shù)據(jù)庫運行和維護階段。
    數(shù)據(jù)庫設(shè)計過程中注意的問題:
    (1)數(shù)據(jù)庫設(shè)計過程中要充分調(diào)動用戶的積極性。
    (2)應用環(huán)境的改變、新技術(shù)的出現(xiàn)等都會導致應用需求的變化,因此在設(shè)計數(shù)據(jù)庫時必須充分考慮到系統(tǒng)的可擴性。
    (3)在設(shè)計數(shù)據(jù)庫應用的過程中,必須充分考慮到已有應用,盡量使用戶能夠平穩(wěn)地從舊系統(tǒng)遷移到新系統(tǒng)。
    調(diào)查的重點是“數(shù)據(jù)”和“處理”,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的要求:
    (1)信息要求。指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。
    (2)處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。
    (3)安全性與完整性要求。
    數(shù)據(jù)字典:是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。
    數(shù)據(jù)字典包括:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程。
    數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。
    在需求分析階段需要注意的是:
    (1)需求分析階段的一個重要而困難的任務是收集將來應用所涉及的數(shù)據(jù),設(shè)計人員應充分考慮到可能的擴充和改變,使設(shè)計易于更改,系統(tǒng)易于擴充,這是第一點。
    (2)必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應用系統(tǒng)設(shè)計的特點。數(shù)據(jù)庫應用系統(tǒng)和廣泛的用戶有密切的聯(lián)系。因此用戶的參與是數(shù)據(jù)庫設(shè)計不可分割的一部分。在數(shù)據(jù)分析階段,任何調(diào)查研究沒有用戶的積極參加是寸步難行的。設(shè)計人員應該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立數(shù)據(jù)庫環(huán)境下的共同概念,并對設(shè)計工作的最后結(jié)果承擔共同的責任。
    概念結(jié)構(gòu)的主要特點是:
    (1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。
    (2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。
    (3)易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充。
    (4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。
    設(shè)計概念結(jié)構(gòu)通常有四類方法:自頂向下、自底向上、逐步擴張、混合策略。
    實際上實體與屬性是相對而言的,實體與屬性之間并沒有形式上可以截然劃分的界限,但可以給出兩條準則:
    (1)作為“屬性”,不能再具有需要描述的性質(zhì)?!皩傩浴北仨毷遣豢煞值臄?shù)據(jù)項,不能包含其他屬性。
    (2)“屬性”不能與其他實體具有聯(lián)系,即E-R圖中所表示的聯(lián)系是實體之間的聯(lián)系。
    凡滿足上述兩條準則的事物,一般均可作為屬性對待。
    關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,方法如下。
    ①、確定數(shù)據(jù)依賴。
    ②、對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。
    ③、按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。
    ④、按照需求分析階段得到的各種應用對數(shù)據(jù)處理的要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。
    數(shù)據(jù)庫的物理結(jié)構(gòu)依賴于所選用的DBMS,依賴于計算機硬件環(huán)境,設(shè)計人員進行設(shè)計時主要需要考慮以下幾個方面:
    確定數(shù)據(jù)的存儲結(jié)構(gòu)、設(shè)計數(shù)據(jù)的存取路徑、確定數(shù)據(jù)的存放位置、確定系統(tǒng)配置。
    數(shù)據(jù)庫實施主要包括以下工作:
    ①、定義數(shù)據(jù)庫結(jié)構(gòu)
    ②、數(shù)據(jù)裝載
    ③、編制與調(diào)試應用程序
    ④、數(shù)據(jù)庫試運行
    數(shù)據(jù)庫維護工作主要內(nèi)容:
    ①、數(shù)據(jù)庫的轉(zhuǎn)儲和恢復
    ②、數(shù)據(jù)庫的安全性、完整性控制
    ③、數(shù)據(jù)庫性能的監(jiān)督、分析和改進
    ④、數(shù)據(jù)庫的重組織和重構(gòu)造