找不到任何結果

您的搜尋未與任何結果相符。

以下操作有助您找到所需內容,建議您不妨一試:

  • 檢查您關鍵字搜尋的拼字是否正確。
  • 改用您所輸入關鍵字的同義詞,例如以「應用軟體」取代「軟體」。“”“”
  • 嘗試下列其中一項熱門搜尋。
  • 開始新的搜尋。
常見問題

什麼是關係式資料庫

關係式資料庫是一種儲存並提供存取相互關係資料點的資料庫。關係式資料庫是以關係模型為基礎,一種直覺且直接的表內資料表示方式。在關係式資料庫中,資料表中的每一列資料行都是一條記錄,並有唯一的ID,稱為索引鍵。資料表的資料列中存放著資料的屬性,每條記錄通常有一個屬性值,這樣就很容易建立資料點之間的關係。

關係式資料庫範例

以下簡單範例顯示,一間小型企業可能會使用兩個資料表來處理其產品的訂單。第一個資料表是客戶資訊表,所以每條記錄都包括客戶的姓名、位址、運輸和帳單資訊、電話號碼和其他聯絡資訊。每個資訊位元 (每個屬性) 都在自己的資料列中,資料庫會為每列資料行分配唯一的 ID (索引鍵)。在第二個資料表客戶訂單表中,每條記錄都包括下訂單的客戶 ID、訂購的產品、數量、選擇的尺寸和顏色等,但不包括客戶的姓名或聯絡資訊。

這兩個資料表只有一個共同點:ID 欄 (索引鍵)。但是由於這個共同的資料列,關係式資料庫可以在兩個資料表間建立關係。然後,當公司訂單處理應用程式向資料庫提交訂單時,資料庫就可以進入客戶訂單表,調出正確的產品訂單資訊,並利用該資料表的客戶 ID 在客戶資訊表中查詢客戶的帳單和發貨資訊。接著倉庫就可以調出正確的產品,客戶就可以及時收到訂單,公司就可以獲得付款。

關係式資料庫的結構化方式

關係模型代表邏輯資料結構 (資料表、檢視和索引) 與實體儲存結構分離。這種分離代表資料庫管理員可以管理物理資料儲存,而不影響將這些資料作為邏輯結構存取。例如,重新命名一個資料庫檔案並不會重新命名其中儲存的資料表。

邏輯操作和實體操作的區分也適用於資料庫操作,這些操作是明確定義的操作,使應用程式能夠操作資料庫的資料和結構。邏輯操作允許應用程式指定其所需的內容,而實體操作則確定應如何存取該資料然後執行任務。

為了確保資料總是準確並可供存取,關係式資料庫會遵循一定的完整性規則。例如,完整性規則可以指定資料表中不允許有重複的資料行,以消除錯誤資訊進入資料庫的可能性。

關係模型

在資料庫初期,每個應用程式都以自己獨特的結構儲存資料。當開發人員想要構建應用程式來使用這些資料時,他們必須對特定的資料結構有很多瞭解,才能找到所需的資料。這些資料結構效率低下且難以維護,也難以最佳化以提供良好的應用效能。關係式資料庫模型就是為瞭解決多種任意資料結構的問題而設計的資料庫。

關係模型提供了一種標準方式來表示和查詢資料,任何應用程式均可加以使用。從一開始,開發人員就知道關係式資料庫模型的主要優勢在於對資料表的使用,資料表既直覺又高效率,可靈活儲存和存取結構化資訊。

隨著時間的推移,關係模型又出現了另一個優勢,因為開發人員開始使用結構化查詢語言 (SQL) 來編寫和查詢資料庫中的資料。多年來,SQL 已被廣泛使用為資料庫查詢語言。以關係代數為基礎,SQL 提供了內部一致的數學語言,使所有資料庫查詢的效能更容易提高。相比之下,其他方法必須定義個別查詢。

關係式資料庫的優點

各種類型和規模的組織簡單而強大的關係模型將各種類型和規模的組織用來滿足各種資訊需求。他們將關係式資料庫用於追蹤庫存、處理電子商務交易、管理大量的關鍵客戶資訊等等。關係式資料庫可用來考慮任何資訊需求,在這些需求中,資料點彼此相互關聯,並且必須以安全且符合規則的一致方式加以管理。

關係式資料庫從 1970 年代開始就已經出現了。現今,關係模型的優勢仍然使它成為最廣泛接受的資料庫模型。

資料一致性

關係模型最擅長在應用程式和資料庫副本 (稱為執行個體) 之間保持資料一致性。例如,當客戶在自動提款機上存款,然後在手機上查看帳戶餘額時,客戶希望看到這筆存款立即反映在更新的帳戶餘額中。關係式資料庫擅長處理這種資料一致性,確保一個資料庫的多個執行個體一直擁有相同的資料。

其他類型的資料庫很難在大量資料的情況下保持這種及時的一致性。有些最新的資料庫 (如 NoSQL) 只能提供“最終的一致性。”在這個原則下,當資料庫被擴展或多個使用者同時存取同一資料時,資料需要一些時間來“跟上同步速度。”有些使用情境可接受最終一致性,比如維護產品目錄中的清單,但對於關鍵的業務操作,比如購物車交易,關係式資料庫仍然需要採行黃金標準。

承諾和原子性

關係式資料庫會在極精細層次上處理業務規則和策略,有嚴格的承諾策略 (即使資料庫的改變變為永久性)。例如,假設有庫存資料庫追蹤三個總是一起使用的零件。當有一個零件從庫存中調出時,您也必須調出另外兩個零件。如果三個零件中有一個無法取得,則所有的部件都無法調出,所有的三個零件都必須在資料庫做出任何承諾之前可供取用。關係式資料庫知道可以對所有三個零件做出承諾前,不會對其中一個零件要求做出承諾。這種多方位的承諾能力被稱為原子性。原子性是保持資料庫中資料準確的關鍵,也是確保資料符合業務規則、法規和政策的關鍵。

ACID和關係式資料庫

四個關鍵的屬性定義了關係式資料庫交易:原子性 (atomicity)、一致性 (consistency)、隔離性 (isolation) 和耐久性 (durability) 通常又簡稱為 ACID

  • 原子性定義了構成完整的資料庫交易的所有元素。
  • 一致性定義了在交易後保持資料點處於正確狀態的規則。
  • 隔離性使交易的效果在提交之前不會向其他人顯示,以避免混淆。
  • 耐久性確保一旦提交交易後,資料變化就成為永久性。

儲存過程和關係式資料庫

資料存取涉及許多重複操作。例如,從資料表中獲取資訊的簡單查詢可能需要重複數百次或數千次才能得到所需結果。這些資料存取功能需要某種類型的程式碼來存取資料庫。應用程式開發人員不希望在每個新的應用程式中為這些功能編寫新的程式碼。幸運的是,關係式資料庫允許您儲存過程,它是可以透過簡單的應用程式呼叫來存取的程式碼區塊。例如,一個儲存過程可以為多個應用程式的使用者提供一致的記錄標記。儲存過程還可以協助開發人員確保以特定方式實現應用程式中的某些資料功能。

資料庫鎖定和並行

當多個使用者或應用程式試圖同時更改相同的資料時,資料庫內會出現衝突。鎖定和並行技術可以減少衝突的可能性,同時保持資料的完整性。

鎖定可以防止其他使用者和應用程式在更新資料時存取資料。在一些資料庫中,鎖定適用於整個資料表,但這會對應用程式的效能產生負面影響。其他資料庫 (如 Oracle 關係式資料庫) 會在記錄層級上套用鎖定,使資料表內的其他記錄可用,有助於確保更好的應用程式效能。

並行管理多個使用者或應用程式同時在同一資料庫上調用查詢時的活動。這種功能可以根據為資料控制所定義的策略,為使用者和應用程式提供正確的存取權限。

選擇關係式資料庫時應注意的事項

用於儲存、管理、查詢和擷取關係式資料庫中儲存資料的軟體,稱為關係式資料庫管理系統 (RDBMSf)。RDBMS 提供使用者和應用程式與資料庫之間的介面,以及管理資料儲存、存取和效能的管理功能。

在資料庫類型和關係式資料庫產品中選擇時,有幾個因素可以指導您的決策。您選擇的 RDBMS 需視您的業務需求而定。問自己以下問題:

  • 我們的資料準確性要求為何?資料的儲存和準確性是否會仰賴業務邏輯?我們的資料是否對準確性有嚴格的要求 (例如,財務資料和政府報告)?
  • 我們需要可擴展性嗎?需要管理的資料規模是多少,預期增長是多少?資料庫模型是否需要支援鏡像資料庫副本 (作為獨立的執行個體) 以實現可擴展性?如果需要,它能在這些執行個體之間保持資料的一致性嗎?
  • 並行有多重要?多個使用者和應用程式是否需要同時存取資料?資料庫軟體是否在保護資料的同時支援並行?
  • 我們對效能和可靠性的需求為何?我們是否需要高效能且高可靠性的產品?對查詢-回應效能有什麼要求?供應商對服務層級協議 (SLA) 或計畫外停機的承諾為何?

關係式資料庫的未來:自主驅動資料庫

多年來,關係式資料庫已經變得更好更快、更強大也更容易使用。但它們也變得更加複雜,管理資料庫長期以來一直是一項全職工作。開發人員不得不把大部分時間花在最佳化資料庫效能所需的管理活動上,而不是利用他們的專業知識來專注開發能為業務帶來價值的創新應用。

如今,自主技術建立在關係模型的優勢基礎上,提供了一種新型的關係式資料庫。自主驅動資料庫 (又稱自主資料庫) 保持了關係模型的強大功能和優勢,但使用人工智慧 (AI)、機器學習和自動化來監控和改善查詢效能和管理任務。例如,為了提高查詢效能,自主驅動資料庫可以假設和測試索引,使查詢速度更快,然後將最好的索引推送到生產中,一切全由資料庫自主完成。自主驅動資料庫可以持續地進行這些改進,而不需要人工參與。

自主技術讓開發人員能從管理資料庫的日常工作得到解脫。例如,他們不再需要提前確定基礎架構要求。相反地,有了自主驅動資料庫,他們可以根據需要新增儲存和運算資源,以支援資料庫的成長。只需幾個步驟,開發人員就可以輕鬆建立自主關係式資料庫,從而加快應用開發的時間。