--- tags: Database --- # 基本資料庫 <style> .yello{ color: #E13636; } </style> <style> .blue{ color: #1F86E0; } </style> ## <span class="blue">資料庫(Database):</span> 隨著磁碟的出現,電腦科技的發展,需要處理的資訊量逐漸膨脹, 為了將這些檔案加以儲存而設計出資料庫系統,組織龐大的資訊量並加以整合。 ## <span class="blue">資料庫事務的ACID性:</span> <table style="text-align:center; width:100%; "> <colgroup span="4"></colgroup> <tr> <th style="text-align:center">特性</th> <th style="text-align:center">內容</th> </tr> <tr> <th style="text-align:left">單元性 <span class="yello">A</span>tomicity</th> <th style="text-align:center">使用過程中的每個操作皆視為同一個工作,要麻都執行完要麻都不執行</th> </tr> <tr> <th style="text-align:left">一致性 <span class="yello">C</span>onsistency</th> <th style="text-align:center">使用前後資料須滿足完整性限制條件,維持資料的一致性</th> </tr> <tr> <th style="text-align:left">隔離性 <span class="yello">I</span>solation</th> <th style="text-align:center">多位使用者同時使用時,彼此的操作存取是獨立執行且不會影響到對方</th> </tr> <tr> <th style="text-align:left">持續性 <span class="yello">D</span>urability</th> <th style="text-align:center">資料庫的資料更改執行為永久改變</th> </tr> </table> ## <span class="blue">資料庫綱要(Schema):</span> 資料庫管理系統所管理的資料庫可分割成**資料**(Data)和描述資料的**綱要**(Schema), 資料是沒經過整理和分析的原始數值、文字或符號,綱要簡單來說就是資料庫的架構, 大致區分為三個概括層次:外層、概念層和內層。 • 外部綱要(External Schema):描述資料庫外部層顯示的資料,只描述部分的資料但最接近使用者。 • 概念綱要(Conceptual Schema):概念綱要是描述概念層的完整資料庫,描述資料本身的意義, 介於外部和內部之間的間接層。 • 內部綱要(Internal Schema):描述內部層實際觀點的資料,定義資料的儲存結構和那些資料需要建立索引,資料庫只有一個內部綱要。 ```graphviz graph graphname { 外部綱要1 -- 概念綱要; 外部綱要2 -- 概念綱要; 外部綱要3 -- 概念綱要; 概念綱要 -- 內部綱要; } ``` wait... > [color=#594cbf][name=KB] ##### tags: `Database`