分散式資料庫管理系統 - 概念



任何組織的正常運作都需要一個維護良好的資料庫。在過去,資料庫通常是集中式的。然而,隨著全球化的發展,組織往往遍佈全球。他們可以選擇將資料分佈到本地伺服器上,而不是集中到一箇中央資料庫中。於是,分散式資料庫的概念應運而生。

本章概述了資料庫和資料庫管理系統(DBMS)。資料庫是相關資料的有序集合。DBMS 是用於處理資料庫的軟體包。在我們的名為“學習 DBMS”的教程中提供了對 DBMS 的詳細研究。在本章中,我們將回顧主要概念,以便於輕鬆學習 DDBMS。涵蓋的三個主題是資料庫模式、資料庫型別和資料庫操作。

資料庫和資料庫管理系統

資料庫是為特定目的構建的相關資料的有序集合。資料庫可以組織為多個表的集合,其中每個表代表一個現實世界中的元素或實體。每個表都有幾個不同的欄位,表示實體的特徵。

例如,公司資料庫可能包含專案、員工、部門、產品和財務記錄的表。Employee 表中的欄位可能是 Name、Company_Id、Date_of_Joining 等。

資料庫管理系統是一組程式,用於建立和維護資料庫。DBMS 可作為軟體包提供,用於促進資料庫中資料的定義、構建、操作和共享。資料庫的定義包括資料庫結構的描述。資料庫的構建涉及將資料實際儲存在任何儲存介質中。操作是指從資料庫中檢索資訊、更新資料庫和生成報表。資料的共享促進了不同使用者或程式訪問資料。

DBMS 應用領域的示例

  • 自動櫃員機
  • 火車預訂系統
  • 員工管理系統
  • 學生資訊系統

DBMS 軟體包的示例

  • MySQL
  • Oracle
  • SQL Server
  • dBASE
  • FoxPro
  • PostgreSQL 等。

資料庫模式

資料庫模式是對資料庫的描述,在資料庫設計期間指定,並且很少更改。它定義了資料的組織、它們之間的關係以及與它們相關的約束。

資料庫通常透過三級模式體系結構ANSISPARC 體系結構表示。這種體系結構的目標是將使用者應用程式與物理資料庫分離。三個級別是 -

  • 內部級包含內部模式 - 它描述了資料庫的物理結構、內部儲存的細節以及資料庫的訪問路徑。

  • 概念級包含概念模式 - 它描述了整個資料庫的結構,同時隱藏了資料物理儲存的細節。這說明了實體、具有其資料型別和約束的屬性、使用者操作和關係。

  • 外部級或檢視級包含外部模式或檢視 - 它描述了與特定使用者或一組使用者相關的資料庫的一部分,同時隱藏了資料庫的其餘部分。

DBMS 的型別

DBMS 有四種類型。

層次式 DBMS

在層次式 DBMS 中,資料庫中資料之間的關係是建立的,以便一個數據元素作為另一個數據元素的下級存在。資料元素具有父子關係,並使用“樹”資料結構建模。它們非常快速和簡單。

Hierarchical DBMS

網路 DBMS

網路 DBMS 中,資料庫中資料之間的關係是網路形式的多對多關係。由於存在大量多對多關係,因此結構通常很複雜。網路 DBMS 使用“圖”資料結構建模。

Network DBMS

關係型 DBMS

在關係型資料庫中,資料庫以關係的形式表示。每個關係都模擬一個實體,並表示為一個值的表。在關係或表中,行稱為元組,表示單個記錄。列稱為欄位或屬性,表示實體的特徵屬性。RDBMS 是最流行的資料庫管理系統。

例如 - 學生關係 -

Relational DBMS

面向物件 DBMS

面向物件 DBMS 來源於面向物件程式設計正規化的模型。它們有助於表示資料庫中儲存的一致資料以及執行程式中發現的瞬態資料。它們使用稱為物件的小型可重用元素。每個物件都包含一個數據部分和一組對資料進行操作的操作。物件及其屬性透過指標訪問,而不是儲存在關係表模型中。

例如 - 簡化的銀行賬戶面向物件資料庫 -

Object-oriented DBMS

分散式 DBMS

分散式資料庫是一組互連的資料庫,分佈在計算機網路或網際網路上。分散式資料庫管理系統 (DDBMS) 管理分散式資料庫,並提供機制以使資料庫對使用者透明。在這些系統中,資料有意分佈在多個節點之間,以便能夠最佳地利用組織的所有計算資源。

DBMS 操作

資料庫上的四個基本操作是建立、檢索、更新和刪除。

  • 建立資料庫結構並使用資料填充它 - 建立資料庫關係涉及指定要儲存的資料的資料結構、資料型別和約束。

    示例 - 建立學生表的 SQL 命令 -

CREATE TABLE STUDENT ( 
   ROLL INTEGER PRIMARY KEY, 
   NAME VARCHAR2(25), 
   YEAR INTEGER, 
   STREAM VARCHAR2(10) 
);
  • 定義資料格式後,實際資料將根據格式儲存在某些儲存介質中。

    示例 SQL 命令將單個元組插入學生表 -

INSERT INTO STUDENT ( ROLL, NAME, YEAR, STREAM) 
VALUES ( 1, 'ANKIT JHA', 1, 'COMPUTER SCIENCE');
  • 檢索資料庫中的資訊 - 檢索資訊通常涉及選擇表的子集或在執行一些計算後顯示錶中的資料。它是透過查詢表來完成的。

    示例 - 要檢索計算機科學專業的所有學生的姓名,需要執行以下 SQL 查詢 -

SELECT NAME FROM STUDENT 
WHERE STREAM = 'COMPUTER SCIENCE';
  • 更新儲存的資訊並修改資料庫結構 - 更新表涉及將現有錶行中的舊值更改為新值。

    示例 - SQL 命令將專業從電子更改為電子與通訊 -

UPDATE STUDENT 
SET STREAM = 'ELECTRONICS AND COMMUNICATIONS' 
WHERE STREAM = 'ELECTRONICS';
  • 修改資料庫意味著更改表的結構。但是,修改表受許多限制。

    示例 - 要向 Student 表新增新的欄位或列(例如地址),我們使用以下 SQL 命令 -

ALTER TABLE STUDENT 
ADD ( ADDRESS VARCHAR2(50) ); 
  • 刪除儲存的資訊或刪除整個表 - 刪除特定資訊涉及從滿足某些條件的表中刪除選定的行。

    示例 - 要刪除所有目前在四年級即將畢業的學生,我們使用 SQL 命令 -

DELETE FROM STUDENT 
WHERE YEAR = 4;
  • 或者,可以從資料庫中刪除整個表。

    示例 - 要完全刪除學生表,使用的 SQL 命令是 -

DROP TABLE STUDENT;
廣告

© . All rights reserved.