分散DBMS-概念

組織が適切に機能するためには、適切に管理されたデータベースが必要です。最近では、データベースは本質的に一元化されていました。しかし、グローバリゼーションの進展に伴い、組織は世界中で多様化する傾向にあります。中央データベースではなく、ローカルサーバーにデータを分散することを選択する場合があります。このように、の概念が到着しましたDistributed Databases

この章では、データベースとデータベース管理システム(DBMS)の概要を説明します。データベースは、関連データの順序付けられたコレクションです。DBMSは、データベースで動作するソフトウェアパッケージです。DBMSの詳細な調査は、「LearnDBMS」という名前のチュートリアルで入手できます。この章では、DDBMSの研究が容易に行えるように、主要な概念を改訂します。カバーされる3つのトピックは、データベーススキーマ、データベースのタイプ、およびデータベースの操作です。

データベースおよびデータベース管理システム

A database特定の目的のために構築された関連データの順序付けられたコレクションです。データベースは、複数のテーブルのコレクションとして編成できます。テーブルは、実世界の要素またはエンティティを表します。各テーブルには、エンティティの特徴を表すいくつかの異なるフィールドがあります。

たとえば、会社のデータベースには、プロジェクト、従業員、部門、製品、および財務記録のテーブルが含まれる場合があります。Employeeテーブルのフィールドは、Name、Company_Id、Date_of_Joiningなどです。

A database management systemデータベースの作成と保守を可能にするプログラムのコレクションです。DBMSは、データベース内のデータの定義、構築、操作、および共有を容易にするソフトウェアパッケージとして利用できます。データベースの定義には、データベースの構造の説明が含まれます。データベースの構築には、任意の記憶媒体へのデータの実際の保存が含まれます。操作とは、データベースから情報を取得し、データベースを更新し、レポートを生成することです。データを共有すると、さまざまなユーザーやプログラムがデータにアクセスしやすくなります。

DBMSアプリケーション領域の例

  • 現金自動預け払い機
  • 列車予約システム
  • 従業員管理システム
  • 学生情報システム

DBMSパッケージの例

  • MySQL
  • Oracle
  • SQLサーバー
  • dBASE
  • FoxPro
  • PostgreSQLなど

データベーススキーマ

データベーススキーマは、データベースの設計時に指定され、頻繁に変更されないデータベースの説明です。データの編成、データ間の関係、およびデータに関連する制約を定義します。

データベースは多くの場合、 three-schema architecture または ANSISPARC architecture。このアーキテクチャの目標は、ユーザーアプリケーションを物理データベースから分離することです。3つのレベルは-

  • Internal Level having Internal Schema −データベースの物理構造、内部ストレージの詳細、およびアクセスパスについて説明します。

  • Conceptual Level having Conceptual Schema−データの物理ストレージの詳細を隠しながら、データベース全体の構造を記述します。これは、エンティティ、属性とそのデータ型と制約、ユーザー操作と関係を示しています。

  • External or View Level having External Schemas or Views −データベースの残りの部分を非表示にしながら、特定のユーザーまたはユーザーのグループに関連するデータベースの部分を記述します。

DBMSの種類

DBMSには4つのタイプがあります。

階層型DBMS

階層型DBMSでは、データベース内のデータ間の関係が確立され、1つのデータ要素が別のデータ要素の従属として存在します。データ要素には親子関係があり、「ツリー」データ構造を使用してモデル化されます。これらは非常に高速でシンプルです。

ネットワークDBMS

データベース内のデータ間の関係がネットワークの形で多対多のタイプであるネットワークDBMS。多数の多対多の関係が存在するため、構造は一般に複雑です。ネットワークDBMSは、「グラフ」データ構造を使用してモデル化されます。

リレーショナルDBMS

リレーショナルデータベースでは、データベースはリレーションの形式で表されます。各リレーションはエンティティをモデル化し、値のテーブルとして表されます。リレーションまたはテーブルでは、行はタプルと呼ばれ、単一のレコードを示します。列はフィールドまたは属性と呼ばれ、エンティティの特性を示します。RDBMSは、最も人気のあるデータベース管理システムです。

例-学生関係-

オブジェクト指向DBMS

オブジェクト指向DBMSは、オブジェクト指向プログラミングパラダイムのモデルから派生しています。これらは、データベースに格納されている整合性のあるデータと、プログラムの実行で見られる一時的なデータの両方を表すのに役立ちます。それらは、オブジェクトと呼ばれる小さくて再利用可能な要素を使用します。各オブジェクトには、データ部分と、データを処理する一連の操作が含まれています。オブジェクトとその属性は、リレーショナルテーブルモデルに格納されるのではなく、ポインタを介してアクセスされます。

例-単純化された銀行口座オブジェクト指向データベース-

分散DBMS

分散データベースは、コンピューターネットワークまたはインターネットを介して分散される相互接続されたデータベースのセットです。分散データベース管理システム(DDBMS)は、分散データベースを管理し、データベースをユーザーに対して透過的にするメカニズムを提供します。これらのシステムでは、組織のすべてのコンピューティングリソースを最適に使用できるように、データが意図的に複数のノードに分散されます。

DBMSの操作

データベースに対する4つの基本的な操作は、作成、取得、更新、および削除です。

  • CREATE データベース構造とデータの入力-データベース関係の作成には、データ構造、データ型、および格納するデータの制約を指定することが含まれます。

    Example −学生テーブルを作成するSQLコマンド−

CREATE TABLE STUDENT ( 
   ROLL INTEGER PRIMARY KEY, 
   NAME VARCHAR2(25), 
   YEAR INTEGER, 
   STREAM VARCHAR2(10) 
);
  • データ形式が定義されると、実際のデータはその形式に従っていくつかの記憶媒体に保存されます。

    Example 単一のタプルを学生テーブルに挿入するSQLコマンド-

INSERT INTO STUDENT ( ROLL, NAME, YEAR, STREAM) 
VALUES ( 1, 'ANKIT JHA', 1, 'COMPUTER SCIENCE');
  • RETRIEVEデータベースからの情報–情報の取得には、通常、テーブルのサブセットを選択するか、いくつかの計算が実行された後にテーブルからデータを表示することが含まれます。これは、テーブルを照会することによって行われます。

    Example − Computer Scienceストリームのすべての学生の名前を取得するには、次のSQLクエリを実行する必要があります−

SELECT NAME FROM STUDENT 
WHERE STREAM = 'COMPUTER SCIENCE';
  • UPDATE 保存された情報とデータベース構造の変更–テーブルの更新には、既存のテーブルの行の古い値を新しい値に変更することが含まれます。

    Example −ストリームをElectronicsからElectronics and Communicationsに変更するSQLコマンド−

UPDATE STUDENT 
SET STREAM = 'ELECTRONICS AND COMMUNICATIONS' 
WHERE STREAM = 'ELECTRONICS';
  • データベースの変更とは、テーブルの構造を変更することを意味します。ただし、テーブルの変更にはいくつかの制限があります。

    Example − Studentテーブルに住所などの新しいフィールドまたは列を追加するには、次のSQLコマンドを使用します−

ALTER TABLE STUDENT 
ADD ( ADDRESS VARCHAR2(50) );
  • DELETE 保存された情報またはテーブル全体の削除–特定の情報を削除するには、特定の条件を満たすテーブルから選択した行を削除します。

    Example- 4にあるすべての学生を削除するには番目の彼らが渡しているとき、私たちは、SQLコマンドを使用し、現在年を-

DELETE FROM STUDENT 
WHERE YEAR = 4;
  • または、テーブル全体をデータベースから削除することもできます。

    Example −学生テーブルを完全に削除するために使用されるSQLコマンドは次のとおりです。

DROP TABLE STUDENT;