データベースII 第3回 掛下 哲郎 [email protected] あらまし リレーショナルDBに対する質問 リレーショナル代数演算 選択(Selection) 射影(Projection) 結合(Join) 質問の設計 データベースII講義資料:掛下 2 リレーショナル代数 Relational Algebra 選択(Selection) 指定された条件を満たす組を1つのリレーションから 抽出する。 射影(Projection) リレーションに対する操作 指定された属性の値だけを1つのリレーションから抽 出する。 自然結合(Natural Join) 2つのリレーションを1つにまとめる。 データベースII講義資料:掛下 3 自然結合(組同士の結合) 共通属性(結合属性)の値が等しいs,t の組を集めてリレーションを定義する。 SPJの全ての組t Sの全ての組s s s S# SNAME STATUS CITY S# P# J# QTY S1 : S5 Smith : Adams 20 : 30 London : Athens S1 S1 : P1 P1 : J1 J4 : 200 700 : t S# SNAME STATUS CITY P# J# QTY S1 Smith 20 London P1 J4 700 データベースII講義資料:掛下 t 4 自然結合 S SPJ S# SNAME STATUS CITY P# J# QTY S1 S1 S2 S2 S2 S2 S2 S2 S2 : S5 Smith Smith Jones Jones Jones Jones Jones Jones Jones : Adams 20 20 10 10 10 10 10 10 10 : 30 London London Paris Paris Paris Paris Paris Paris Paris : Athens P1 P1 P3 P3 P3 P3 P3 P3 P3 : P6 J1 J4 J1 J2 J3 J4 J5 J6 J7 : J4 200 700 400 200 200 500 600 400 800 : 500 データベースII講義資料:掛下 5 選択 S SPJ [CITY=“London”] 選択条件 S# SNAME STATUS CITY P# J# QTY S1 S1 S4 S4 Smith Smith Clark Clark 20 20 20 20 London London London London P1 P1 P6 P6 J1 J4 J3 J7 200 700 300 300 選択条件を満たす組だけを残す データベースII講義資料:掛下 6 射影 S SPJ [CITY=“London”] [P#] 射影属性 P# P1 P6 • 射影属性で指定された属性値だけを残す • 値が同一の組は1つにまとめる データベースII講義資料:掛下 7 リレーショナル代数の性質 リレーショナル代数演算の結果は、いずれ もリレーション 複数のリレーショナル代数演算を組み合わせ て適用できる。 多くの検索処理は、リレーショナル代数演 算の組み合わせで記述できる。(リレーショ ナル完備性) データベースII講義資料:掛下 8 リレーショナル代数を用いた 質問の記述 1. 質問を処理するために必要なリレーションを結 合演算で1つにまとめる。 スキーマグラフから決定する。 選択・射影に必要な属性を含む最小限のリレーショ ン集合 2. 1つにまとめたリレーションに選択演算を施して、 必要な組だけを抽出する。 3. 抽出されたリレーションに射影演算を施して、 必要な属性だけを抽出する。 データベースII講義資料:掛下 9 質問の設計例 使用テーブル S、SPJ 結合条件 SとSPJのS#が一致すること 選択条件 CITY=“London” 射影属性 P# 注意事項 • 質問の設計は、結果の正しさが保証できる範囲で、 できるだけ単純化すること。 データベースII講義資料:掛下 10 クエリー作成の基本手順 Step 1 クエリー 設計 使用テーブル、結合条件、選択条件、 射影属性などを決定する。 Step 2 クエリー の実装 クエリー設計で決定した事項に従って 実装する。 ※ 設計が完了してから実装すること データベースII講義資料:掛下 11 サンプルデータベースへの質問 1. Londonで製造されている全ての製品の詳細情 報を求めよ。 2. 製品J1を製造している業者の番号を求めよ。 3. Londonの業者が保管している部品番号を全て 求めよ。 4. Londonの業者がLondonで製造している製品 のために保管している部品の番号を全て求め よ。 5. 業者S1が製造している製品の名前を全て求め よ。 データベースII講義資料:掛下 12
© Copyright 2024 ExpyDoc