リレーショナルデータベースの特徴

リレーショナルデータベースの特徴

リレーショナルデータベースは、複雑なデータを表のような細かなデータに分解し、それらを組み合わせて扱うようなデータベースです。表のことを「テーブル」と呼びます。個々のテーブルは比較的シンプルな構造になりますが、表どうしを柔軟に組み合わせる(結合する)ことで、複雑なデータ構造を表すことができます。

例えば、図2の上半分のように、「商品」と「メーカー」という2つのテーブルがあるとします。この場合、「『商品』の『メーカーID』列と、『メーカー』テーブルの『メーカーID』列の値が等しい」という条件で、これら2つのテーブルを結合することで、図の下半分のように、商品名とその商品のメーカーの情報から構成されるデータを得ることができます。

また、たいていのリレーショナルデータベースでは、「SQL」という言語でデータを扱うことができます。SQLでは、テーブルの一部の列を取り出したり、条件を指定して一部の行を取り出したりといったことを、比較的シンプルに書くことができます。

例えば、前述の図2のような操作をSQLで書くと、以下のように表すことができます。

SQLでは、データの読み込みだけでなく、追加/変更/削除や、データベースの各種の制御についても、命令が用意されています。

なお、SQLの書き方は、データベースソフトごとに細かな差はありますが、基本的な部分はおおむね統一的な書き方をするようになっています。

図2:「商品」と「メーカー」の2つのテーブルを結合する

リレーショナルデータベースに求められる機能

リレーショナルデータベースは、ビジネスの分野で幅広く使われています。そのため、複雑な利用に耐えうるだけの機能が必要とされています。

まず、どんな処理を行ったとしても、データが矛盾しないような機能が必要です。例えば、1件の処理を行う際に、複数のデータベース操作が必要だとします。この場合、データベース操作がどれか1つでも失敗すれば、処理全体を失敗として、データベースを処理前の状態に戻すことができる必要があります。この機能のことを、「トランザクション」(Transaction)と呼びます。

また、大企業のデータベースなど、データの量が膨大になるケースもあります。このようなデータベースを1台のコンピュータですべて管理するのは、物理的に不可能になることもあります。そこで、1つのデータベースを複数のコンピュータに分散して管理するような機能も必要です。

さらに、故障等のトラブルがあったとしても、データベースが利用不能に陥らないようにすることも必要です。そこで、同じデータベースを複数のコンピュータで保持しておいて、あるコンピュータが故障しても、ほかのコンピュータで処理を続けられるような機能も必要です。この機能を「レプリケーション」(Replication)と呼びます。

企業の基幹業務に使われるようなデータベース製品だと、上記のような機能をすべて装備しています。ただ、低価格な製品や、オープンソースの製品だと、上記のような機能を完全には装備していない場合もあります。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30