現在主流のデータベースは関係データベースですが、
他の代表的なデータベースに、階層型データベース、網型データベースがあります。
それぞれの特徴を備忘録としてまとめました。
階層型データベース
階層構造(木構造)によりデータ構造を表現する。ツリー上に構成されている。
レコードどうしが親子関係を持っていて、
ある親レコードに対する子レコードは1つ以上存在し、子レコードに対する親レコードは
ただ一つだけ存在するという特徴がある。
メリット:
・あるノードへのルートが限定的になり、速度が速い。
デメリット:
・子ノードが複数の親ノードを持ちたい場合、重複登録が必要となり、
データの整合性維持が課題となる。
網型データベース(ネットワーク型データベース)
1つの子ノードが複数の親ノードを持てる。
ノードのつながりが網目状になることから名付けられた。
メリット:
・階層型データベースで問題になっていたデータの重複を避けられる。
デメリット:
・階層型と同じくデータ構造を理解しないと、必要なデータにアクセスするのが難しい。
・データ構造が複雑になると、アクセス経路の特定が難しくなる場合がある。
関係データベース(リレーショナルデータベース)
データの集合を平坦な2次元の表で表現したデータベース。エクセルをイメージするとわかりやすい。
従来型データベースの難点であった柔軟なデータの取り扱いを可能にした。
階層型や網型が持つ親レコードと子レコードという関係を持たないところに特徴がある。
レコード間を結ぶポインタやリンクがないため、関係データベースでは、
データ操作の"結合"によってレコード間の関連付けを行う。
メリット:
・柔軟なデータの取り扱いができる。
・複雑なデータの関連性を扱える。
・データ処理の一貫性を保てる。
デメリット:
・データ量が増大するにつれて処理速度が低下する場合があり、
適切な設計やクエリの最適化が必要になる。
・結合が多い場合、データ量や設計次第で性能が低下する場合がある。
参考文献:
・応用情報技術者合格教本