FC2ブログ

おジさん学習帳

LibreOffice などOffice ソフトなどについてのブログです
おジさん学習帳 TOP  >  LibreOffice >  リレーションシップの設定 LibreOffice Base

リレーションシップの設定 LibreOffice Base

1.リレーションシップ

テーブル間の共通フィールドを 関連付けることを

 「リレーションシップを設定する」という


「プライマリキー」と「外部キー」


 2つのテーブル間に リレーションシップを設定するには
2つのテーブルに 共通のフィールド が 必要です

 共通のフィールドのうち 「プライマリキー」側のフィールドに対して
もう一方のフィールドは 「外部キー」 と言うそうです

 主キー を含む テーブルを  「主テーブル」
 外部キーを含むテーブルを 「関連テーブル」 または 「リレーションテーブル」という



参照整合性

リレーションシップが設定されたテーブル間で
矛盾のないデータ管理をするための規則を 「参照整合性」 という

 例えば
 担当者マスター側に存在しない 「担当者CD」 を 
得意先マスター側に 入力してしまうような データの矛盾 を 制御する



2.リレーションシップの設定

  商品マスターテーブル
  担当者マスターテーブル
  得意先マスターテーブル
  売上マスターテーブル
 この4つのテーブル間に リレーションシップ を 設定する
参考 : 売上管理f.odb  を クリック 一度 ダウンロード保存

1.保存した[売上管理f.odb]を 開く
  開いた時 [データベース]ペインでは 「フォーム」が選択されている状態
2.[データベース]ペインで 「クエリー」を選択


3.[タスク]ペインで 「デザイン表示でクエリーを作成」をクリック


4.[ Query Design ] (クエリーデザイン)が表示される


  [テーブルまたはクエリーの追加]画面で 「商品マスターテーブル」を選択
  [追加]をクリック


5.[ Query Design ] (クエリーデザイン)に 「商品マスターテーブル」が 追加される


6.「担当者マスターテーブル」・「得意先マスターテーブル」・「売上データテーブル」を 
それぞれ選択 それぞれ[追加]クリック [Query Design] に すべて追加・表示する
  [テーブルまたはクエリーの追加]画面は 閉じる


7.リレーションシップしやすいように 配置を変更したり
  中の項目がすべて見えるように サイズを大きくしたりする


8.「担当者マスターテーブル」の「担当者CD」フィールドを ドラッグし
「得意先マスターテーブル」の「担当者CD」フィールドの上に ドロップする


9.「担当者マスターテーブル」の「担当者CD」フィールドから
「得意先マスターテーブル」の「担当者CD」フィールドへ
  関連付けされたことを示す 接続線 が表示される


10.もう1つのリレーションの作成方法
  [挿入]→[新しいリレーション]クリック


11.[結合属性]画面が表示される


12.たとえば 
  [含まれるテーブル]欄
  「商品マスターテーブル」と「売上マスターテーブル」を選択
  [オプション]欄  
  [内部結合]
  [含まれるフィールド]欄
  「商品マスターテーブル」下の欄で「▼」をクリック
  「商品CD」を選択
  「売上マスターテーブル」下の欄で「▼」をクリック
  「商品CD」を選択
  [OK] クリック


13.関連付けされたことを示す 接続線 が表示される


14.最後に 「得意先マスターテーブル」と「売上マスターテーブル」の間にも リレーションを設定する
  好みの方法で 行ってください


15.これで 4つのテーブル間に リレーションシップが設定できた

これで Access のように リレーションシップだけ保存しようとしたが 
分らなかった il||li _| ̄|○il||li

そこで クエリー として 保存する
そのため 画面の下半分へ フィールドを追加する
作成するのは 「売上データクエリ」(売上Dクエリーとする)
項目は
 NO
 売上日
 得意先CD
 得意先名 
 担当者CD
 担当者名
 商品CD
 商品名
 単価
 数量 
 金額 (単価×数量)
 追加の方法は 上のテーブルにあるフィールドを ダブルクリックする
 最後の「金額」は 上のテーブルには無いので 直接入力する
 1.フィールド欄に 単価*数量  ( * は 半角 )と入力


 2.[Enter] を押す
   "単価"*"数量" となる


 3.エイリアス欄に 金額  と入力する


これで 「売上Dクエリー」が 出来たので 保存する
  クリック


[名前を付けて保存]画面 「売上Dクエリー」と入力


確認してみる
「売上Dクエリー」を ダブルクリック


Table Data View(テーブルデータビュー)が表示される


並び順が 担当者CDになっている&単価と金額を 通貨表示にしたい
通貨表示は 以前行ったので簡単に
 [単価]を右クリック [列の書式]選択 
 [フィールドの書式設定]で 分類「通貨」[OK] クリック
 [金額]も同様
並び替えは [NO]をクリック(選択)
ツールバーの 「昇順に並び替え」  を クリック


結果



参考 : 売上管理g.odb 



LibreOffice Base について

 ※ Base を 使う場合は 安定版 の方が良い
    最新版は 不具合が出る可能性がある


過去の Base の記事一覧

Base について  1 LibreOffice Base
Base について  2 LibreOffice Base
Base について  3 LibreOffice Base
Base  テーブル 1 LibreOffice Base
Base  テーブル 2 LibreOffice Base
Base  テーブル 3 LibreOffice Base
Base  テーブル 4 LibreOffice Base
Base  テーブル 5 LibreOffice Base
Base  テーブル 6 LibreOffice Base
Base  テーブル 7 LibreOffice Base
Base  テーブル 8 LibreOffice Base
Base  テーブル 8-2 LibreOffice Base
リレーションシップの設定 1 LibreOffice Base
リレーションシップの設定 2 LibreOffice Base
クエリー( query ) 1  LibreOffice Base
クエリー( query ) 2  LibreOffice Base
クエリー( query ) 3  LibreOffice Base
フォーム  1  LibreOffice Base
フォーム  2  LibreOffice Base
フォーム  3  LibreOffice Base
フォーム  4  LibreOffice Base
フォーム  5  LibreOffice Base
フォーム  5-2  LibreOffice Base
フォーム  6 失敗の巻 LibreOffice Base
フォーム  6  LibreOffice Base
フォーム  6-2  LibreOffice Base
フォーム  6 について質問が?  LibreOffice Base
フォーム  7 LibreOffice Base
フォーム  8 LibreOffice Base
参照整合性の設定 LibreOffice
レポート  1  LibreOffice Base
レポート  2  LibreOffice Base
抽出などを行うクエリー   LibreOffice Base
一致(重複)クエリー?   LibreOffice Base  SQL 表示 使用
一致(重複)クエリー?  つづき  LibreOffice Base
めも SQL?
レポート  3   LibreOffice Base
Access のデータベースを LibreOffice Base で 開く
ピポットテーブル ?  LibreOffice Base
売上集計 クエリー  LibreOffice Base
期間を指定し データを 抽出する  LibreOffice Base
日付別 データを 抽出する  LibreOffice Base


スポンサーサイト



[ 2011年07月09日 21:58 ] カテゴリ:LibreOffice | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

カウンター
検索フォーム
ブロとも申請フォーム
QRコード
QR