RDBとは
RDB(relational database)とは、「リレーショナル型データベース」の略称であり、データベースの1つです。データは「テーブル」と呼ばれる構造によって成り立っており、「行」と「列」から構成される2次元の表形式でデータが整理されます。
データベースにはRDBの他に、階層型データベースとネットワーク型データベースがあります。
データベースという言葉の大半は、このRDBのことを指します。
RDBの特徴
ここでは、RDBの特徴を4つご紹介します。
データをテーブルとして格納する
テーブル(表)はExcelのシートのような見た目をしています。
列(カラム)は縦に伸びるデータであり、様々な項目を作成します。学生の情報を管理する場合、学年、組、学籍番号、氏名などを記述します。
行(レコード)は横に伸びるデータであり、列の各項目にデータを登録・保存します。例えば、列に「学年」、「組」、「学籍番号」、「氏名」があれば、「1」、「5」、「28」、「佐藤花子」というデータを登録できます。
テーブル同士の関係性を示す
RDBでは、異なるテーブルに格納された同一値のないデータ(一意)をキーとして関連付けることができます。例えば、商品コード(一意のキー)と商品名が格納されたテーブル、顧客情報と顧客が購入した商品の商品コードが格納されたテーブルを関連付けた場合、顧客情報と購入商品名を簡単に把握することができます。
SQLを使用する
RDBの作成や操作をするには、SQLが使用されます。SQL(Structured Query Language)は「構造化問い合わせ言語」といい、データベースからのデータ取得、データの変更や削除などの操作をするためのデータベース言語です。そのため、SQLのみでプログラムを作成することはできませんが、Javaなどのプログラミング言語の中に記述することでデータベースにアクセスするプログラムを作成することができます。例えば、サイトへのユーザ登録やログインなどがあります。
ACID特性を持つ
ACIDとは、原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)の頭文字を取ったものです。ACID特性はデータを更新して、更新情報が確定するまでの一連の流れを管理(トランザクション管理)する上で持つべき4つの重要な特性です。
- 原子性:一連の操作がすべて実行されるか何もしないこと
- 一貫性:データベースが正確な状態であること
- 独立性:複数のアクセスに対してトランザクションが独立して動作すること
- 耐久性:トランザクションが成功した場合はその結果を永続的に保存すること
これらの特性によってデータの整合性と信頼性を保ちます。
RDBのメリット・デメリット
RDBは、データ管理のために広く使用されているデータベース形式です。RDBを使用することにはさまざまなメリットがありますが、一方でデメリットもあります。
メリット
データの整合性
RDBはトランザクション管理によって常にデータの整合性を保っています。これにより、データベースの操作中にエラーが発生した場合であっても、データが不整合になるリスクや破損するリスクを防ぐことができます。
データの正規化
正規化とは、データの重複などがない状態に整理することです。テーブルを作成する際、それらを設定することができるため、信頼性が高いデータ管理を行うことができます。
容易な操作
RDBはSQLによって容易に操作することができます。RDBの操作はデータの更新や削除だけでなく、条件に一致したデータのみを絞り込むことも可能です。
デメリット
データ量によって処理速度が遅くなる
大量のデータを登録・更新・削除する場合には処理速度が遅くなります。これは、データの取得に多くのテーブルを参照するなどの処理が必要になるためです。そのため、プログラムが複雑かつデータ量が大きいほど処理速度が落ちる傾向にあります。
保存できるデータに限りがある
RDBでは、テーブルを作成する際、格納されるデータがどのデータ型であるかを定義する必要があります。カラムごとにデータ型を事前に定義しておくことで整合性を保つことに役立ちますが、画像や音声などのデータは登録できないなど柔軟性が不足しています。
RDBMSとは
リレーショナル型データベースは、RDBMS(Relational Database Management System:リレーショナル型データベース管理システム)と呼ばれるソフトウェアによって作成・管理・操作を行います。
代表的なRDBMSとして、以下のようなものがあります。
- Oracle Database
- SQL Server
- PostgreSQL
- MySQL
まとめ
今回は、RDBについて解説しました。
RDBは現在最も使用されているデータベースであり、多くの企業やアプリケーションで使用されています。RDBの特徴を理解し興味が湧いた方は、ぜひSQL文を使った実践をしてみてください!
無料のプログラミングスクール「テクドリ」の卒業生のインタビュー動画を、インスタグラムほか公式SNSにて公開中!