データベース(4章)

データベースの概要

データベースとは

データベース(DB:Database)とは、情報(データ)の貯蔵や操作、検索ができるようにするための仕組みをいいます。コンピュータを使用したシステムでは、ユーザが情報を効率的に利用するために、データベース管理システム(DBMS:Database Management System)が利用されます。

図書館を例にとって考えてみましょう。図書館では貸し出すための図書を数多く所蔵しています。それぞれの図書は、タイトルや著者名、出版社、出版日、総ページ数、所蔵年月日など、さまざまな情報を持っています。利用者はこれらの本の中から、読みたい本を探して借りることができます。

また、図書の検索がしやすくなるように、内容ごとに分類・整理されている必要があります。この場合、個々の図書が「データ」であり、図書館そのものを「データベース」と考えることができます。

また、一般的に、貸出管理をはじめとして、新刊図書の入荷対応、書棚の整理整頓、破れた本の補修などの管理業務が別途必要です。このような図書館全体の管理をする図書館司書にあたるものを「データベース管理システム」といいます。

Work:身の回りのデータベース
個人またはグループで演習を行います。身の回りにある「データベース」を考えてみましょう。また、それらはどのように管理され、どのように利用されているかを考え、グループのメンバーに対してできるだけ詳しく説明しましょう。
① 各自で身の回りの「データベース」を1つ考える。
② その「データベース」がどのように管理(検索・追加・削除など)されているかを考える。
③ その「データベース」がどの場面で、どのように利用されているかを考える。
④ グループで各自の考えを発表し合い、発表者を決める。

データベースの種類

データベースは、「階層型データベース」、「ネットワーク型データベース」、「リレーショナル(関係)型データベース」の3つの種類に分けることができます。以下でそれぞれの概要を解説します。

 階層型データベース

階層型データベースは、データを木(ツリー)構造で表すデータベースです。一本の幹から複数に枝分かれをして伸び、多数の葉をつける木に見立てて、木構造と呼んでいます。
階層型データベースでは、頂点のデータ(ノード)から下位のノードがぶら下がる形態を取ります。このとき、上位のノードを「親ノード」といい、下位のノードを「子ノード」といいます。

1つの親ノードは、下位に複数の子ノードを持つことができますが、子ノードは複数の親ノードを持つことはできません(親ノードと子ノードは「1 : n」の関係)。
そのため、特定のデータを探したい場合、頂点から見て1つのルートしか存在しないため、非常に高速に検索できるのが大きな特徴です。ただし、子ノードが複数の親ノードに属する場合、重複登録が必要であり、柔軟性が低いのがデメリットとなります。
主な階層型データベースの例として、URLとIPアドレスの関連付けるDNS(Domain Name System)などがあります。(※DNSは「ネットワーク基礎」で詳しく取り扱います)

 ネットワーク型データベース

ネットワーク型データベースは、各ノードが任意の個数の親レコードおよび、子レコードを持つことができるデータベースです。各ノード間の関係を柔軟に表現できる点が特徴です。しかし、後述のリレーショナルデータベースの登場などによって、あまり普及することはありませんでした。

 リレーショナル(関係)型データベース

リレーショナル(関係)型データベース(RDB:Relational Database)は、上記2つのデータベースとは異なり、「行」(ロー:Row)と「列」(カラム:Column)で構成された「表」(テーブル)でデータを管理するデータベースです。現在、主流となっているデータベースです。

通常は、列にそれぞれ重複しない項目を設定しておき、行に格納するデータを追加していきます。リレーショナルデータベースには、構造上以下のようなルールがあります。
 行と列の交差部分には、1つの値だけを含めることができる。また、値はなくても構わない(NULL値)。
 列には列名とデータ型、幅を定義することができ、列に対してはルールを指定できる(整合性制約)。
 表の作成・削除や、検索・更新・削除などの操作はSQL文を発行することで実現できる。

SQLの概要

SQL(Structured Query Language)は、リレーショナルデータベースの管理や操作を行うための言語(問い合わせ言語)です。SQLはISO(アイエスオー:International Organization for Standardization:国際標準化機構)、ANSI(アンシー:American National Standards Institute:米国規格協会)、JIS(ジス:Japanese Industrial Standards:日本産業規格)などで標準化されており、さまざまなリレーショナルデータベース管理システム(RDBMS)では、標準で利用できるようになっています。
なお、すべてのSQLの機能がRDBMS製品に実装されているわけではありません。また、製品によってはSQLを拡張した各社独自の機能を持つものもあります。
主なRDBMSとして、Oracle Database、SQL Server、MySQLなどがあります。

-IT基礎

© 2021 スタートダッシュ