pulpul 日本の試験

データベーススペシャリスト 概念書 · データベース

データベース設計の基礎

要点と定義

データベース設計では、業務に必要なデータとその意味・関連を整理し、概念、論理、物理の各段階で具体化します。シラバスの学習範囲には、データ分析、開発工程、概念・論理設計、正規化、性能・物理設計、作成、評価・運用が含まれます。過去の出題で扱った補足として、データ中心アプローチは、機能間のデータの流れやプロセスの動作ではなく、対象のデータと実体間の関連に着目します。例えば、図書館を「利用者」「資料」「貸出」とその関連として捉えます。

概念データモデルは、対象世界の情報構造を抽象化したものです。どの情報が存在し、どう関係するかを表し、特定のDBMSや記憶装置の構成には依存しません。例えば、講座と受講者の関係を整理する段階では、表領域や製品の構成はまだ決めません。過去の出題で扱った補足として、概念データモデルの内容はDBMSの導入方式によって変わるものではありません。

データ項目の意味や定義を揃える作業と、データベースを構成・運用する作業は役割が異なります。過去の出題で扱った補足として、DAはデータ項目の定義・標準化や論理設計を担い、DBAは物理構成、容量、性能、バックアップ・復旧などを管理します。例えば、部署名の表記ルールを定めるのはデータの定義・標準化に関わり、データ量の増加を見積もって容量を計画するのは物理資源の管理に関わります。

正規化では、段階ごとに異なる従属性を確認します。過去の出題で扱った補足として、設問上の対応は、第1正規形が繰返し属性なし、第2正規形が主キーの一部だけに従属する非キー属性なし、第3正規形が非キー属性への推移的関数従属なしです。例えば、主キーが「注文番号・商品番号」の複合キーで、商品名が商品番号だけで決まるなら、商品名はキーの一部に従属します。この対応は正規形の条件を区別する手掛かりです。

第3正規形の簡略説明と厳密な定義は区別します。過去の出題で扱った補足として、第2正規形からの追加条件を、設問では「非キー属性への推移的関数従属がない」と簡略に示しています。厳密には、すべての非自明な関数従属 X→A について、Xがスーパーキーであるか、Aが主属性であることが第3正規形の条件です。主属性は、いずれかの候補キーに含まれる属性です。したがって、右辺が主属性となる従属を一律に禁止する説明は正確ではありません。

多対多の関連を表す対応表では、両側の識別子の組を主キーにする設計が使えます。例えば、従業員は複数の言語を使え、同じ言語を複数の従業員が使うなら、「従業員番号・言語」の組で対応を識別します。従業員番号だけをキーにすると一人の複数言語を登録できず、言語だけをキーにすると同じ言語を使う複数人を登録できません。過去の出題で扱った補足として、この対応表では両属性の組が主キーになります。

表の分解を評価するときは、自然結合で元の関係を復元できる情報無損失性と、関数従属性を分解後の表で保てる従属性保存を区別します。一方の性質からもう一方も成り立つとは限りません。過去の出題で扱った補足として、第2正規形から第3正規形への変換では、両方を満たす分解が可能であることが問われています。この補足を、他の正規形間の変換に一般化しないようにします。

索引の評価は検索条件に応じて行います。過去の出題で扱った補足として、B⁺木インデックスが定義された候補キーで1件を検索するとき、根から該当する葉までのノードアクセスは、データ総件数をXとすると O(log X) です。平衡木の高さが対数的になるためです。これは候補キーによる1件検索の説明で、全件検索や広い範囲の検索にそのまま当てはめるものではありません。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む