當前位置:首頁 » 存儲配置 » 存儲邏輯結構設計

存儲邏輯結構設計

發布時間: 2022-09-03 20:21:05

A. 什麼叫數據的邏輯結構 什麼叫數據的存儲結構

一、數據的邏輯結構。

系統的邏輯結構是從思想的角度上對系統分類,把系統分成若干個邏輯單元,不同邏輯單元分別實現自己的功能。數據的邏輯結構是對數據之間關系的描述,有時就把邏輯結構簡稱為數據結構,數據的邏輯結構分為以下四種:

1、集合結構:集合結構的集合中任何兩個數據元素之間都沒有邏輯關系,組織形式鬆散。

2、線性結構:數據結構中線性結構指的是數據元素之間存在著「一對一」的線性關系的數據結構。

3、樹狀結構:樹狀結構是一個或多個節點的有限集合。

4、網路結構:網路結構是指通信系統的整體設計,它為網路硬體、軟體、協議、存取控制和拓撲提供標准。


二、數據的存儲結構。

數據的存儲結構是指數據的邏輯結構在計算機中的表示。數據的存儲結構分為順序存儲結構和鏈接存儲結構兩種。

1、順序存儲結構:順序存儲方法它是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。

2、鏈接存儲結構:鏈接存儲方法它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現。


(1)存儲邏輯結構設計擴展閱讀:

順序儲存結構的原理

在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。


B. 如何根據一個數據的邏輯結構設計存儲結構

數據的邏輯結構是指數據元素之間的邏輯關系,即從邏輯關繫上描述數據。它與數據的存儲無關,是獨立於計算機的。數據的邏輯結構分為線性結構和非線性結構,線性表是典型的線性結構;集合、樹和圖是典型的非線性結構。

  • 集合結構中的數據元素之間除了 「同屬於一個集合」的關系外,別無其他關系。

  • 線性結構結構中的數據元素之間只存在一對一的關系。

  • 樹形結構結構中的數據元素之間存在一對多的關系。

  • 圖狀結構或網狀結構結構中的數據元素之間存在多對多的關系。

扎實的數據結構與演算法功底,能讓我們站在更高的角度去思考代碼、寫出性能更優的程序,能讓我們更快速地學習上手各種新技術(比如人工智慧、區塊鏈等),也能讓我們敲開更高級編程領域的大門。數據結構與演算法更是各大名企面試題中的常客,如果不想被行業拋棄、想進入更大的名企、在IT道路上走得更遠,掌握數據結構與演算法是非常有必要。

課程特色

1、MJ和名企演算法大咖董甫聳共同研發設計,確保課程的系統全面性、高含金量。

2、結合大量企業真實案例講解,由淺入深地帶著同學們敲出每個數據結構每個演算法的每一行代碼實現,一起感受數據結構與演算法的魅力。

3、全程直播授課,在線答疑,實時互動,讓學員不再有後顧之憂。

4、結識學習夥伴,相互監督,疑問解答,彼此分享,共同學習。

C. 搞不懂邏輯結構和存儲結構之間的關系。

存儲結構是數據的邏輯結構在計算機中的表示。

邏輯結構:

系統的邏輯結構是對整個系統從思想的分類,把系統分成若干個邏輯單元,分別實現自己的功能。一般在系統開發時,邏輯結構往往都由架構師完成。系統的邏輯結構對系統的開發起到重要性的決定。

存儲結構:

數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。數據的存儲結構是指數據的邏輯結構在計算機中的表示。

(3)存儲邏輯結構設計擴展閱讀:

邏輯結構元素決定輸入、存儲、發送、處理和信息傳遞的基本操作功能,常將邏輯結構元素稱為邏輯模塊。邏輯結構元素可以是計算機操作系統、終端模塊、通信程序模塊等。

邏輯結構元素還可以是相關的幾個邏輯模塊聯合起來的更復雜的實體。分析邏輯結構元素的相互作用,應考慮整個系統的操作,研究處理與信息流有關的進程,並決定系統的邏輯資源。

D. 邏輯結構和存儲結構的區別和相同點

復制的有意思伐。。。解釋你自己看上面那個復制的,不多說了。
數據的邏輯結構也稱為數據結構,分兩大類:線性結構和非線性結構。
存儲結構分四類:順序存儲、鏈接存儲、索引存儲和散列存儲。
線性結構中,包括了順序演算法,和鏈表。也就是說,存儲結構的前兩種用的是線性結構的演算法,非線性結構至少存在一個數據元素,它具有兩個或者兩個以上的前驅或後繼.典型的就是樹和二叉樹。而索引演算法用的就是樹的結構,也即是說他屬於非線性結構演算法。最好是散列存儲,典型例子就是hash(哈希)用的是隨即散列函數,當然是非線性結構演算法。
由此可見,存儲結構用的是不同的邏輯結構,也就是用了兩種不同的演算法。這個就是他們兩者的關系。
答案補充
解釋看他復制的內容。最好補充一點,數據結構是演算法,包含了順序演算法,鏈表,樹,hash,等,存貯結構就是用了上述的演算法來設計存儲。
QQ393594918,支持詢問各類演算法和數據結構問題。。。

E. 簡述數據的邏輯結構和存儲結構的區別與聯系,它們如何影響演算法的設計與實現

數據結構的存儲結構是和相應的數據在內存中的物理地址之間的關系有關。而邏輯結構只是描述數據之間的關系(三大邏輯結構的一種)。舉例說,線性表(元素之間的邏輯關系是線性的)可以是順序存儲的方式,即所有元素相鄰存放,在物理地址上是連續的(存儲結構);而對於鏈式存儲的線性表,他的所有元素之間不一定是線性相連的,可能是第一個結點(元素)的地址為0x123,而第二個元素又出現在物理地址0x100上。也就是說邏輯結構是線性的但是存儲結構不一定就是線性的了。

F. 說明在創建資料庫時如何合理規劃資料庫的物理存儲結構和邏輯存儲結構

Oracle資料庫的邏輯結構和物理結構

Oracle 資料庫的邏輯結構是由一些資料庫對象組成,如資料庫表空間、表、索引、段、視圖、存儲過程、觸發器等。資料庫的邏輯存儲結構(表空間等)決定了資料庫的物理空間是如何被使用的,資料庫對象如表、索引等分布在各個表空間中。

Oracle 資料庫的物理結構從操作系統一級查看,是由一個個的文件組成,從物理上可劃分為:數據文件、日誌文件、控制文件和參數文件。數據文件中存放了所有的數據信息;日誌文件存放資料庫運行期間產生的日誌信息,它被重復覆蓋使用,若不採用歸檔方式的話,已被覆蓋的日誌信息將無法恢復;控制文件記錄了整個資料庫的關鍵結構信息,它若被破壞,整個資料庫將無法工作和恢復;參數文件中設置了很多Oracle 資料庫的配置參數,當資料庫啟動時,會讀取這些信息。

邏輯結構的優化

邏輯結構優化用通俗的話來說就是通過增加、減少或調整邏輯結構來提高應用的效率,下面通過對基本表的設計及索引、聚簇的討論來分析ORACLE邏輯結構的優化。

1、基本表擴展

資料庫性能包括存儲空間需求量的大小和查詢響應時間的長短兩個方面。為了優化資料庫性能,需要對資料庫中的表進行規范化。一般來說,邏輯資料庫設計滿足第三範式的表結構容易維護且基本滿足實際應用的要求。所以,實際應用中一般都按照第三範式的標准進行規范化,從而保證了資料庫的一致性和完整性,設計人員往往會設計過多的表間關聯,以盡可能地降低數據冗餘。但在實際應用中這種做法有時不利於系統運行性能的優化:如過程從多表獲取數據時引發大量的連接操作,在需要部分數據時要掃描整個表等,這都消耗了磁碟的I/O 和CPU 時間。

為解決這一問題,在設計表時應同時考慮對某些表進行反規范化,方法有以下幾種:一是分割表。分割表可分為水平分割表和垂直分割表兩種:水平分割是按照行將一個表分割為多個表,這可以提高每個表的查詢速度,但查詢、更新時要選擇不同的表,統計時要匯總多個表,因此應用程序會更復雜。垂直分割是對於一個列很多的表,若某些列的訪問頻率遠遠高於其它列,就可以將主鍵和這些列作為一個表,將主鍵和其它列作為另外一個表。通過減少列的寬度,增加了每個數據頁的行數,一次I/O就可以掃描更多的行,從而提高了訪問每一個表的速度。但是由於造成了多表連接,所以應該在同時查詢或更新不同分割表中的列的情況比較少的情況下使用。二是保留冗餘列。當兩個或多個表在查詢中經常需要連接時,可以在其中一個表上增加若干冗餘的列,以避免表之間的連接過於頻繁,一般在冗餘列的數據不經常變動的情況下使用。三是增加派生列。派生列是由表中的其它多個列的計算所得,增加派生列可以減少統計運算,在數據匯總時可以大大縮短運算時間。

因此,在資料庫的設計中,數據應當按兩種類別進行組織:頻繁訪問的數據和頻繁修改的數據。對於頻繁訪問但是不頻繁修改的數據,內部設計應當物理不規范化。對於頻繁修改但並不頻繁訪問的數據,內部設計應當物理規范化。有時還需將規范化的表作為邏輯資料庫設計的基礎,然後再根據整個應用系統的需要,物理地非規范化數據。規范與反規范都是建立在實際的操作基礎之上的約束,脫離了實際兩者都沒有意義。只有把兩者合理地結合在一起,才能相互補充,發揮各自的優點。

2、索引和聚簇

創建索引是提高檢索效率最有效的方法之一,索引把表中的邏輯值映射到安全的RowID,能快速定位數據的物理地址,可以大大加快資料庫的查詢速度,一個建有合理索引的資料庫應用系統可能比一個沒有建立索引的資料庫應用系統效率高幾十倍,但並不是索引越多越好,在那些經常需要修改的數據列上建立索引,將導致索引B*樹的不斷重組,造成系統性能的下降和存儲空間的浪費。對於一個大型表建立的索引,有時並不能改善數據查詢速度,反而會影響整個資料庫的性能。這主要是和SGA的數據管理方式有關,Oracle在進行數據塊高速緩存管理時,索引數據比普通數據具有更高的駐留許可權,在進行空間競爭時,Oracle會先移出普通數據,對建有索引的大型表進行數據查詢時,索引數據可能會用完所有的數據塊緩存空間,Oracle不得不頻繁地進行磁碟讀寫來獲取數據,所以,在對一個大型表進行分區之後,可以根據相應的分區建立分區索引。

Oracle提供了另一種方法來提高查詢速度,就是聚簇(Cluster)。所謂聚簇,簡單地說就是把幾個表放在一起,按一定公共屬性混合存放。聚簇根據共同碼值將多個表的數據存儲在同一個Oracle塊中,這時檢索一組Oracle塊就同時得到兩個表的數據,這樣就可以減少需要存儲的Oracle塊,從而提高應用程序的性能。

對於邏輯結構的優化,還應將表數據和索引數據分開表空間存儲,分別使用獨立的表空間。因為如果將表數據和索引數據放在一起,表數據的I/O操作和索引的I/O操作將產生影響系統性能的I/O競爭,降低系統的響應效率。將表數據和索引數據存放在不同的表空間中,並在物理層面將這兩個表空間的數據文件放在不同的物理磁碟上,就可以避免這種競爭了。

物理結構的優化

資料庫的數據最終是存儲在物理磁碟上的,對數據進行訪問就是對這些物理磁碟進行讀寫,因此對於這些物理存儲的優化是系統優化的一個重要部分。對於物理存儲結構優化,主要是合理地分配邏輯結構的物理存儲地址,這樣雖不能減少對物理存儲的讀寫次數,但卻可以使這些讀寫盡量並行,減少磁碟讀寫競爭,從而提高效率,也可以通過對物理存儲進行精密的計算減少不必要的物理存儲結構擴充,從而提高系統利用率。

1、磁碟讀寫並行優化

對於資料庫的物理讀寫,Oracle系統本身會進行盡可能的並行優化,例如在一個最簡單的表檢索操作中,如果表結構和檢索域上的索引不在一個物理結構上,那麼在檢索的過程中,對索引的檢索和對表的檢索就是並行進行的。

2、操作並行優化

操作並行的優化是基於操作語句的統計結果,首先是統計各個表的訪問頻率,表之間的連接頻率,根據這些數據按如下原則分配表空間和物理磁碟,減少系統進程和用戶進程的磁碟I/O競爭;把需要連接的表格在表空間/物理磁碟上分開;把高頻訪問的表格在表空間/物理磁碟上分開;把經常需要進行檢索的表格的表結構和索引在表空間/物理磁碟上分開。

3、減少存儲結構擴展

如果應用系統的資料庫比較脆弱,並在不斷地增長或縮小,這樣的系統在非動態變化周期內效率合理,但是當在動態變化周期內的時候,性能卻很差,這是由於Oracle的動態擴展造成的。在動態擴張的過程中,Oracle必須根據存儲的要求,在創建行、行變化獲取預設值時,擴展和分配新的存儲空間,而且表格的擴展往往並不是事情的終結,還可能導致數據文件、表空間的增長,這些擴展會導致在線系統反應緩慢。對於這樣的系統,最好的辦法就是在建立的時候預先分配足夠的大小和合適的增長幅度。在一個對象建立的時候要根據應用充分地計算他們的大小,然後再根據這些數據來定義對象Initial、Next和Minextents的值,使資料庫在物理存儲上和動態增長次數上達到一個比較好的平衡點,使這些對象既不經常發生增長,也不過多地佔用資料庫。

G. 何謂數據的邏輯結構何謂數據的存儲結構兩者有何聯系

邏輯結構指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後件關系,而與他們在計算機中的存儲位置無關。邏輯結構包括:

1、集合結構:數據結構中的元素之間除了「同屬一個集合」 的相互關系外,別無其他關系。

2、線性結構:數據結構中的元素存在一對一的相互關系。

3、樹形結構:數據結構中的元素存在一對多的相互關系。

4、圖形結構:數據結構中的元素存在多對多的相互關系。

存儲結構指數據元素連同其邏輯關系在存儲器上的存放形式,主要的有四類:順序、鏈接、索引、散列。一種數據結構可表示成一種或多種存儲結構。

兩者的關系在於:邏輯結構用於設計演算法,存儲結構用於演算法編碼實現。具體而言某種存儲結構與某種邏輯結構沒有必然的聯系,演算法的實現效率越高、解決問題越方便。

(7)存儲邏輯結構設計擴展閱讀

數據結構是指同一數據元素類中各數據元素之間存在的關系。數據結構分別為邏輯結構、存儲結構(物理結構)和數據的運算。

數據的邏輯結構是從具體問題抽象出來的數學模型,是描述數據元素及其關系的數學特性的,有時就把邏輯結構簡稱為數據結構。邏輯結構是在計算機存儲中的映像,形式地定義為(K,R)(或(D,S)),其中,K是數據元素的有限集,R是K上的關系的有限集。

根據數據元素間關系的不同特性,通常有下列四類基本的結構:集合結構、線性結構、樹型結構、圖形結構。

線性結構的特點是數據元素之間是一種線性關系,數據元素「一個接一個的排列」。在一個線性表中數據元素的類型是相同的,或者說線性表是由同一類型的數據元素構成的線性結構。

線性表是最簡單、最基本、也是最常用的一種線性結構。 它有兩種存儲方法:順序存儲和鏈式存儲,它的主要基本操作是插入、刪除和檢索等。

數據結構在計算機中的表示(映像)稱為數據的物理(存儲)結構。它包括數據元素的表示和關系的表示。數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。

1、順序存儲方法:它是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。順序存儲結構是一種最基本的存儲表示方法,通常藉助於程序設計語言中的數組來實現。

2、鏈接存儲方法:它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現

3、索引存儲方法:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址。

4、散列存儲方法:就是根據結點的關鍵字直接計算出該結點的存儲地址。

數據結構中,邏輯上(邏輯結構:數據元素之間的邏輯關系)可以把數據結構分成線性結構和非線性結構。

線性結構的順序存儲結構是一種順序存取的存儲結構,線性表的鏈式存儲結構是一種隨機存取的存儲結構。線性表若採用鏈式存儲表示時所有結點之間的存儲單元地址可連續可不連續。邏輯結構與數據元素本身的形式、內容、相對位置、所含結點個數都無關。

H. 如何根據數據的邏輯結構設計相應的存儲結構

邏輯結構將的是關系,比如集合,線性,非線性,都是元素或者結點之間的關系,而存儲結構講的是數據元素的表示和關系的表示.前一個是抽象的,後一個是具體的,可以實現的.
同一種邏輯結構採用不同的存儲方法,可以得到不同的存儲結構.比如線性結構採用採用順序存儲方法,就可以得到順序表,採用鏈式存儲方法就可以得到鏈表.

熱點內容
登陸頁面源碼 發布:2025-01-09 02:13:04 瀏覽:539
Uc瀏覽器上傳 發布:2025-01-09 01:50:16 瀏覽:531
javamysqljar 發布:2025-01-09 01:50:14 瀏覽:773
屏幕設置密碼怎麼設置 發布:2025-01-09 01:48:01 瀏覽:345
快吧我的世界盒子伺服器連接不上 發布:2025-01-09 01:36:11 瀏覽:384
搭建中轉雲伺服器挖礦 發布:2025-01-09 01:27:12 瀏覽:552
存儲過程中的for循環 發布:2025-01-09 01:25:38 瀏覽:865
阿里雲伺服器寬頻是專線嗎 發布:2025-01-09 01:22:42 瀏覽:606
上門修個密碼箱鎖多少錢 發布:2025-01-09 01:21:49 瀏覽:270
python企業培訓 發布:2025-01-09 01:17:14 瀏覽:894