資料庫概念結構
1. 資料庫結構廣義狹義的概念是用處是
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。數據結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法: Sartaj Sahni 在他的《數據結構、演算法與應用》一書中稱:「數據結構是數據對象,以及存在於該對象的實例和組成實 例的數據元素之間的各種聯系。這些聯系可以通過定義相關的函數來給出。」他將數據對象(data object)定義為「一個數據對象是實例或值的集合」。 Clifford A.Shaffer 在《數據結構與演算法分析》一書中的定義是:「數據結構是 ADT(抽象數據類型 Abstract Data Type) 的物理實現。」 Lobert L.Kruse 在《數據結構與程序設計》一書中,將一個數據結構的設計過程分成抽象層、數據結構層和實現層。其中,抽象層是指抽象數據類型層,它討論數據的邏輯結構及其運算,數據結構層和實現層討論一個數據結構的表示和在計算機內的存儲細節以及運算的實現。一般認為,一個數據結構是由數據元素依據某種邏輯聯系組織起來的。對數據元素間邏輯關系的描述稱為數據的邏輯結構;數據必須在計算機內存儲,數據的存儲結構是數據結構的實現形式,是其在計算機內的表示;此外討論一個數據結構必須同時討論在該類數據上執行的運算才有意義。 數據結構的用處是和演算法緊密相連的,主要是為了演算法的需要,將原始數據格式化為利於演算法的設計和效率的一些格式,就好像我們做菜的時候,根據做法的不同,可能需要將材料切片,或者是剁碎,而這個做法就相當於演算法,切片或剁碎就是數據結構的作用了,將數據格式化一下,利於演算法的執行,做菜的時候,就是利於我們做菜的時候色、香、味、型更俱全一個道理.
2. 什麼是資料庫的概念結構
1. 資料庫定義:資料庫是長期儲存在計算機內、有組織的、可共享的大量數據的集合。資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可為各種用戶共享。2. 資料庫管理技術發展的三個階段:人工管理階段,文件系統階段,資料庫系統階段。3. DBMS(資料庫管理系統)是位於用戶與操作系統之間的一層數據管理軟體。主要功能:1,數據定義功能。2,數據組織、存儲和管理。3,數據操縱功能。4,資料庫的事務管理和運行管理。5,資料庫的建立和維護功能。6,其他功能。4. 什麼是數據模型及其要素? (設計題): 數據模型是資料庫中用來對現實世界進行抽象的工具,是資料庫中用於提供信息表示和操作手段的形式構架。一般地講,數據模型是嚴格定義的概念的集合。這些概 念精確地描述系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。 (1)數據結構:是所研究的對象類型的集合,是對系統的靜態特性的描述。 (2)數據操作:是指對資料庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。 (3)數據的約束條件:是完整性規則的集合,完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。最常用的數據模型:層次模型,網狀模型,關系模型,面積對象模型,對象關系模型。5.常用的數據模型有哪些(邏輯模型是主要的),各有什麼特徵,數據結構是什麼樣的。答:數據模型可分為兩類:第一類是概念模型,也稱信息模型,它是按用戶的觀點來地數據和信息建模,主要用於資料庫設計。第二類是邏輯模型和物理模型。其中邏輯模型主要包括層次模型、層次模型、關系模型、面向對象模型和對象關系模型等。它是按計算機系統的觀點對數據建模,主要用於DBMS的實現。物理模型是對數據最低層的抽象,它描述數據在系統內部的表示方式和存取方法,在磁碟或磁帶上的存儲方式和存取方法,是面向計算機系統的。物理模型是具體實現是DBMS的任務,資料庫設計人員要了解和選擇物理醋,一般用戶則不必考慮物理級的細節。層次數據模型的數據結構特點:一是:有且只有一個結點沒有雙親結點,這個結點稱為根結點。二是:根 以外的其他結點有且只有一個雙親結點。優點是:1.層次 數據結構比較簡單清晰。2.層次資料庫的查詢效率高。3.層次數據模型提供了良好的完整性支持。缺點主要有:1.現實世界中很多聯系是非層次性的,如結點之間具有多對多聯系。2.一個結點具有多個雙親等 ,層次模型表示這類聯系的方法很笨拙,只能通過引入冗餘數據或創建非自然的數據結構來解決。對插入和刪除操作的限制比較多,因此應用程序的編寫比較復雜。3.查詢子女結點必須通過雙親結點。4.由於結構嚴密,層次命令趨於程序化。可見用層次模型對具有一對多的層次聯系的部門描述非常自然,直觀容易理解,這是層次資料庫的突出優點。網狀模型:特點:1.允許一個以上的結點無雙親2.一個結點可以有多於一個的雙親。網狀數據模型的優點主要有:1.能夠更為直接地描述現實世界,如一個結點可以有多個雙親。結點
之間可以有多種上聯第。2.具有良好的性能,存取效率較高。缺點主要有:1.結構比較復雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越復雜,不利於最終 用戶掌握。2.網狀模型的DDL,DML復雜,並且要嵌入某一種高級語言中,用戶不容易掌握,不容易使用。關系數據模型具有下列優點:1.關系模型與非關系模型不同,它是建立在嚴格的數學概念的基礎上的。2.關系模型的概念單一。3.關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性,更好的安全保密性,也簡化了程序員的工作和資料庫開發的建立 的工作。主要的缺點是:由於存取路徑房租明,查詢效率往往不如非關系數據模型。因此為了提高性能,DBMS必須對用戶的查詢請求進行優化。因此增加 了開發DBMS的難度,不過用戶不必考慮這些系統內部的優化技術細節。6.三級體系結構,外模式,模式 ,內模式定義是什麼?模式也稱邏輯模式,是資料庫中全體數據的邏輯結構和牲的描述,是所有用戶的公共數據視圖。 外模式也稱子模式或用戶模式,它是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖是與某一應用有關的數據的邏輯表示。 內模式也稱存儲模式 ,是一個資料庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在資料庫內部的表示方式。7.兩級映像和兩級獨立性,為什麼叫物理獨立性和邏輯獨立性。當模式改變時由資料庫管理員對各個外模式、模式的映像亻相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立生,簡稱數據的邏輯獨立性。當資料庫的存儲結構改變了,由資料庫管理員對模式、內模式映像作 相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。8.資料庫系統一般由資料庫、資料庫管理系統 (及其開發工具)、應用系統和資料庫管理員構成。9.關系的完整性(實體完整性、參照完整性、和用戶定義的完整性)三部分內容,其中前二者是系統自動支持的,DBMS完整性控制子系統的三個主要功能?:提供定義完整性約束條件的機制,提供完整性檢查的方法,違約處理。16.SQL的定義;即結構化查詢語言,是關系資料庫的標准語言,是一個通用的、功能極強的關系資料庫語言。分類(互動式和嵌入式)17.group by 和having子句的作用20.視圖的概念:視圖是從一個或幾個基本表導出的表。及相關操作:定義視圖,查詢視圖,更新視圖。視圖更新有什麼操作:插入,刪除,和修改。22.資料庫規范化的方法函數依賴的定義什麼叫1NF2NF3NF BCNF定義:關系資料庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同範式。滿足最低要求的叫第一範式,簡稱1NF。在第一範式中滿足進一步要求的為第二範式,其餘以此類推。各種範式之間的聯系有:5NF(4NF(BCNF(3NF(2NF(1NF。25.資料庫設計的幾個階段,每個階段常用的方法和簡要的內容:六個階段:需求分析、概念結構設計、羅織結構設計、物理設計、資料庫實施、資料庫運行和維護。28.事務的概念?事務有哪些基本屬性commit roll back含義:事務:是用戶定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的單位。四個特性:原子性,一致性,隔離性,持續性。Commit(提交:提交事務的所有操作) rollback(回滾:在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對資料庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。 29.什麼叫資料庫系統的可恢復性?:資料庫管理系統具有把資料庫從錯誤狀態恢復到某一已知的正確狀態的功能,這就是資料庫系統的可恢復性。資料庫故障的種類:事務內部的故障,系統故障(軟故障),介質故障(硬故障),計算機病毒。30.不進行並發控制可能產生的問題?:多個事務對資料庫並發操作可能造成事務ACID特點遭到在破壞。如何解決(三個):1,丟失修改 2,不可重復讀 3,讀「臟」數據。31.三級封鎖協議?能解決什麼問題?:一級封鎖協議:事務T在修改數據R之前必須先對其加X鎖,直到事務結束才釋放。事務結束包括正常結束(COMMIT)和非正常結束(ROLLBACK)。一級封鎖協議中,如果是讀數據不修改,是不需要加鎖的,可防止丟失修改。二級封鎖協議:在一級封鎖協議基礎上,加上事務T在讀數據R之前必須先對其加上S鎖,讀完後即可釋放S鎖。在二級封鎖協議中,由於讀完數據後即可釋放S鎖,所以它不能保證可重復讀。三級封鎖協議:一級封鎖協議加上事務T在讀取數據R之前必須先對其加S鎖,直到事務結束才釋放。三級封鎖協議除了防止了丟失修改和不讀「臟」數據外,還進一步防止了不可重復讀。上述三級協議的主要區別在於:什麼操作需要申請封鎖,以及何時釋放鎖。一般採取哪三種措施?插入呢?刪除呢?:1,拒絕執行(不允許該操作執行),2,級連操作(當刪除或修改被參照表的一個元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組),3,設置為空值(當刪除或修改被參照表的一個元組時造成了不一致,則將參照表中的所有不造成不一致的元組的對應屬性設置為空值)。38.視圖對資料庫安全性的作用?:1,視圖能夠簡化用戶的操作,2,視力使用戶能以多種角度看待同一數據,3,視圖對重構資料庫提供了一定程度的邏輯獨立性,4,視圖能夠對機密數據提供安全保護,5,適當的利用視圖可以更清晰的表達查詢。資料庫:儲存在計算機內,永久存儲、有組織、有共享的大量數據的集合。數據管理技術的發展階段:1.人工管理階段:數據不保存,應用程序管理數據,數據不共享,數據不具有獨立性。2.文件系統階段:數據可以長期保存,由文件系統管理數據;數據共享性太差,冗餘度大,數據獨立性差。3.資料庫系統階段:出現資料庫管理系統。資料庫系統的特點:數據結構化(本質區別);數據共享性高、冗餘度低、易擴充;數據獨立性高;數據有DBMS統一管理和控制。資料庫管理系統:1.定義:DBMS,是位於用戶與操作系統之間的一層數據管理軟體。2.功能:數據定義功能;數據組織、存儲和管理;數據操縱功能;資料庫的事務管理和運行管理;資料庫的建立和維護功能;通信功能、數據轉換功能、互訪和互操作功能。資料庫系統:1.概念:DBS,是指在計算機系統中引入資料庫後的系統。2.組成:一般由資料庫、資料庫管理系統、應用系統、資料庫管理員構成。3.分類:集中式,C/S式,並行式,分布式。數據模型:1.定義:現實世界數據特徵的抽象。2.組成,三要素:數據結構、數據操作、數據的完整性約束。兩類數據模型為1)概念模型2)邏輯模型和物理模型。數據結構:描述資料庫的組成對象以及對象之間的聯系,主要描述與對象的類型、內容、性質有關的對象和與數據之間聯系有關的對象。常用的數據模型:1.層次模型,用樹形結構表示各類實體以及實體間的聯系。2.網狀模型,允許一個以上的結點無雙親,允許一個結點可以有多於一個的雙親。3.關系模型,包含單一數據結構
3. 什麼是資料庫的概念結構設計。
資料庫的概念結構設計是至關重要的設計環節,它起始於將需求分析階段獲取的用戶需求提煉成信息的抽象形式,即概念模型。這個過程具體涉及兩個關鍵步驟:
首先,我們通過設計局部的E-R模型,也稱為分E-R模型,這一步驟相當於構建用戶視角,深入理解用戶對數據的需求和期望。這種模型反映了用戶在特定場景下的信息需求,通過實體、屬性和聯系來描繪數據的結構。
其次,將這些局部的E-R模型整合起來,形成總體E-R模型,即視圖集成。這一步驟旨在協調各個局部模型之間的關系,確保它們在整體上邏輯清晰,沒有沖突,形成一個完整且一致的數據模型。視圖集成是將各個用戶視圖合並成一個全局視角,以便於後續的資料庫邏輯設計和物理實現。
總的來說,概念結構設計是資料庫設計的橋梁,它將用戶需求轉化為資料庫的藍圖,為實際的資料庫設計和實施奠定了堅實的基礎。
4. 什麼是資料庫的概念結構設計簡述資料庫概念結構設計的步驟...
資料庫的概念結構設計是資料庫設計過程中的一個重要階段,它主要任務是分析和表達用戶需求,將概念模型轉化為一般的數據模型。其目的在於明確系統的信息架構和數據組織形式,以確保數據准確性和一致性,便於存儲和訪問數據。這一設計關乎整個資料庫系統的邏輯結構和數據完整性規則。以下是資料庫概念結構設計的步驟:
步驟:
1. 需求分析:這是概念結構設計的起始點。通過收集和分析用戶的業務需求、數據處理需求和數據共享需求等信息,明確系統的功能和性能要求。需求分析階段也涉及了解組織現狀,包括現行系統的使用情況等。
2. 概念化數據:在理解用戶需求的基礎上,使用統一建模語言或專門的資料庫建模工具創建實體關系圖,明確實體、屬性以及實體間的關系。這一階段是對現實世界的數據進行抽象化處理,形成概念模型。
3. 設計資料庫概念模型:根據需求分析的結果和概念化數據的內容,構建資料庫的概念模型。這個模型是對現實世界的邏輯視圖,反映了數據的組織結構、關系和約束。常用的資料庫概念模型設計工具有ER圖、關系數據模型等。設計過程關注完整性約束條件以及主鍵、外鍵的設定等。這一階段不涉及具體的物理實現細節,如存儲介質等。目的是保證系統能正確地處理數據和完整性要求。這個階段還要考慮安全性和用戶許可權的設計問題。同時還要進行數據分類和編碼規則的設計。最後對設計的概念模型進行審查和優化以確保其滿足業務需求並具有良好的性能。
通過上述步驟,資料庫的概念結構設計實現了從現實世界到信息世界的映射,為後續的物理設計和實現提供了基礎。正確的概念結構設計能夠確保資料庫系統的穩定性、可擴展性和易用性。
5. 什麼是資料庫的概念結構 試述其特點和設計策略
資料庫設計6個基本步驟:需求分析;概念結構設計;邏輯結構設計;物理結構設計;資料庫實施;資料庫運行和維護。
特點: (1) 能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理要求,是對現實世界的一個真實模型;2館
(2)易於理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是資料庫設計2成功的關鍵;
(3)易於更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充;
(4)易於向關系、網狀、層次等各種數據模型轉換。概念結構的設計策略通常有四種。設計策略:(1)自頂向下,即首先定義全局概念結構的框架,然後逐步細化;
(2)自底向上,即首先定義各局部應用的概念結構,然後將它們集成起來,得到全局概念繼構;(3)逐步擴張,首先定義最重要的核心概念結構,然後向外擴充,以滾雪球的方式逐步生求其他概念結構,直至總體概念結構;
(4)混合策略,即將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結格框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。