第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数.

Slides:



Advertisements
Similar presentations
1 エクセル (3) の目次 ②参照演算子と演算子参照演算子と演算子 ③参照セルの表示法参照セルの表示法 ④セルの参照方法セルの参照方法 ⑤エラーについてエラーについて ⑥シグマ( Σ )関数シグマ( Σ )関数 ⑦条件付書式条件付書式 ⑧問題 (1)問題 (1) ⑨問題 (2)問題 (2) ⑩問題.
Advertisements

コンピュータ演習 Excel 入門 岡田孝・山下雅啓 Excel の機能は膨大 その中のごく一部を紹介 表計算機能 – データの入力、表の作成、計算など グラフ機能 – 棒グラフ、円グラフなどグラフ作成 データベース機能 – 並べ替え(ソート)、検索、抽出など マクロ機能 – VBA で自動化したマクロを作成可能.
学部学科コード表 学科記号が重複している ため,一意に識別できない! ↓ 学部名と学科名を組合わせて 学科を特定する.
0章 数学基礎.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
実践!DB逆設計 ~レシートからER図を起こす~
エンティティ・リレーションシップ・モデル
第1回 確率変数、確率分布 確率・統計Ⅰ ここです! 確率変数と確率分布 確率変数の同時分布、独立性 確率変数の平均 確率変数の分散
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
第10回 データベース (Database) (2007/12/11版)
データベース工学および演習 第5章 リレーショナルデータベース言語SQL
情報処理の基礎 私たちとコンピュータの扱うデータの違い 明治学院大学 法学部消費情報環境法学科 鶴貝 達政
Shimatterシステムの 初期モデルの正規化
MySQLに接続するデータベースプログラム
Excel による データベース入門 Ver /9.
2008年12月11日 RDBMSとSQL(2/3) 関数,GROUP,JOIN,演算
第5章 データベースの設計 5.1 データベース設計の概要 5.2 ERモデルとスキーマ設計 5.3 正規化 5.4 一貫性制約.
SQL J2EE I 第3回 /
5.チューリングマシンと計算.
5.チューリングマシンと計算.
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
「R入門」 第3章:オブジェクト、そのモードと属性
データベース:Accessによる実習 第5章:クエリの基礎
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
データベースS 第3回 クリッカー配布 2015/4/22 A~Jの箱の中から、自分の学生番号に対応するID番号のラベルが貼られたクリッカーを受け取ること。 教壇 A ~ C D ~ F G ~ J A C E G I 学生番号 ID
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
第6章 数量化I類.
第2章 データベースのモデル 2.1 論理表現と3層モデル 2.2 階層モデル 2.3 ネットワークモデル 2.4 関係モデル.
言語処理系(5) 金子敬一.
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
最尤推定によるロジスティック回帰 対数尤度関数の最大化.
Web上で管理・利用できる 面接予約データベースシステムの構築
ユースケース図2-4~ FM11012 中島拓也.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第5回
朝日大学大学院 経営学研究科 奥山 徹 データベース論 朝日大学大学院 経営学研究科 奥山 徹 2006/05/29 データベース論(7回目)
マイクロソフト Access を使ってみよう 第4回
情報処理A 第?回 Excelを使ってみる.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
1. 集合 五島 正裕.
Shimatterシステムの トップダウン分析
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
掛下 哲郎 データベースII 第3回 掛下 哲郎
データモデリング モデルの基本作法.
マイクロソフト Access を使ってみよう 第3回
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
データベース技術 Network Database, Hierarchical Database 1950年代~ 関係データベース
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
ORの手法ゲームの理論3 (Excelによるゲーム理論実習)
ポインタとポインタを用いた関数定義.
5.チューリングマシンと計算.
磯野ー!そんなことより 正規化しようぜー!
ヒープソート.
データベース第3回目 意味ごとにテーブルを分ける
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
情報処理Ⅱ 2007年12月3日(月) その1.
コンパイラ 2012年10月11日
情報処理Ⅱ 2005年11月25日(金).
SQL J2EE I (データベース論) 第3回 /
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
SQL データベース論 第11回.
Presentation transcript:

第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数

3.1 関係とは 直積とは C : サークル名の集合 N : 取りうるすべての部員数の集合 集合: 3.1 関係とは 直積とは C : サークル名の集合 N : 取りうるすべての部員数の集合 集合: を C と N の直積といい、以下のように書く。

n項関係とは 集合G1, G2, ・・・, Gn が与えられたとき、 その直積集合 の部分集合を、 G1, G2, ・・・, Gn の n項関係または単に関係もしくはリレーションという。 もっと直感的には・・・

スキーマの形式 サークル表 サークル(サークル名,部員数) 一般に、 と書く。 R : 関係名,Ai : 属性( i = 1 ~ n), n: 次数 サークル表は属性が2つあるので2項関係という。 (1つの場合、単項関係)

属性のドメイン その属性が取りうるあらゆる値の集合を、 その属性のドメインという 【例】 サークル名 : 文字列として表現可能なあらゆる名称 【例】  サークル名 : 文字列として表現可能なあらゆる名称 部員数 : 数値として表記されるすべての数字 【注】  部員数と活動年数は共にドメインは数値である。 一方、電話番号のドメインは数字の並びではあるが、 数値とはみなさない。

タプル 関係の各要素 (v1, v2, ・・・, vn)を n 組、または 単にタプルという。 関係は単なる集合であり、 その要素同士に順序関係を持たない。 【例】  サークルにおけるサークル名と部員数の間には 順序関係はない。 どちらが先にきても構わない。

リレーションではない表の例 以下は、一般的な表ではあるが、 属性値に複数の値を持つような表は リレーションではない。 以下は、一般的な表ではあるが、 属性値に複数の値を持つような表は リレーションではない。 学生ID サークル名 活動年数 1122232 卓球部 1 1123321 サッカー部 1023442 美術部, 卓球部 1, 2 1024551 剣道部 2 1025120 音楽部, 空手部 2, 1 ・ 「第1正規形(後述)の制約を満たしていない」という言い方をする。

ナル値(空値:NULL) 属性のうち値が未知のものを ナル値(NULL)という。 【例】NULLを指定したタプル

キー属性 そのリレーション内で NULL値以外の属性値が 2つ以上一致することがないような属性値 (キー属性、候補キーという) 【例】 学生ID 学科ID

主キー 候補キーのうち 属性値としてNULLをとりえないものをひとつ選び、 検索するためのキーとするものを 主キーという。 【例】 学生ID

外部キー NULLでないかぎり、 必ず関係における属性の値として 登録されているもの 【例】 「サークル活動」における「サークル名」属性の値として 登録されている値を用いる。 この場合、「サークル名」を外部キー(foreign key)と呼ぶ

関数従属性 ある属性が決まれば、 他の属性値も決まってしまうような関係 Rの属性Xに対してただ一つのYの値が 【例】 「学科ID」が決まれば、「学科名」は一意に決まる。 「学生番号」が決まれば「氏名」は一意にきまる。

第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数

3.2 関係代数 (1) 操作 A. 基本操作 (a) 制限(選択) 関係から条件を満たすタプルを抜き出す (restriction, selection)

関係から指定属性のみを取り出す (projection) (b) 射影 関係から指定属性のみを取り出す (projection)

2つの関係からタプルを取り出し、 そのすべての組み合わせを求める。 (Cartesian product : Cは大文字で書くこと) ・ ・ ・

2つの関係の和集合をとる。 (union) (d) 和 属性およびそのドメインが同じでなければならない(union compatible条件)

2つの関係の差集合をとる。 (difference)

2つの関係の共通部分をとる。 (intersection) (f) 積 2つの関係の共通部分をとる。 (intersection)

2つの関係の直積をとり、条件を満たすタプルのみを抜き出す(join) B. 基本操作の組み合わせ (g) 結合 2つの関係の直積をとり、条件を満たすタプルのみを抜き出す(join) 条件 直積

(h) 商,除算(division) 【条件】 以下のとき除算できる。 ① 2つの関係R1, R2が与えられている。 ② R1には、R2が持つすべての属性(R2との共通属性)が定義されている。

① R1のタプルであって、その共通属性値がR2のタプルであるようなものを選ぶ。 集められたタプルを固有属性値が同じものごとにグループ化する。 除算の方法(1) ① R1のタプルであって、その共通属性値がR2のタプルであるようなものを選ぶ。 集められたタプルを固有属性値が同じものごとにグループ化する。 ③ 各グループにおける共通属性値の集合がR2を含んでいる場合、その固有属性値を取り出す。

除算の方法(2) 除算の方法 R1 同じ値A R2 R2 A B 同じ値B R2

(2) 関係代数操作の記法と操作例 (a) 制限(選択) 【書式】 Rest [op1 comp op2] (R) R : 捜査対象となる関係、 op1, op2:属性または定数 Comp : 比較演算子(=, ≦, ≠, <・・・) 【例】部員数21名以上の大規模サークル Rest [部員数 > 20] (サークル)

【書式】 Proj [A1, A2, ・・・, An] (R) (b) 射影 【書式】 Proj [A1, A2, ・・・, An] (R) R : 捜査対象となる関係、 A1, A2,・・・An:属性 【例】関係「学生」から学生IDと氏名の対応表を作成  Proj [学生ID, 氏名] (学生)

本来は記号  で表すが ここではJoinで表記 (c) 結合 【書式】 R1 Join [条件] R2 【例】関係「学生」と「学科」から所属学科一覧を作成  学科 Join [学科ID=所属学科ID] 学生

結合の例 【例】関係「学生」と「学科」から所属学科一覧を作成 学科 Join [学科ID=所属学科ID] 学生 学科ID 学科名 所属学部 E01 機械 工学部 E02 電気電子 E03 情報 S01 物理 理学部 学生ID 氏名 所属学科ID 1110123 山田隆夫 E01 1121245 岸田光一 E02 1132225 山崎誠司 S01 宮崎洋一 学科ID 学科名 所属学部 学生ID 氏名 所属学科ID E01 機械 工学部 1110123 山田隆夫 E02 電気電子 1121245 岸田光一 S01 物理 理学部 1132225 山崎誠司 宮崎洋一

(d) 除算 【書式】 R1 ÷ R2 【例】  サークル活動 ÷ 学科

以下サークル名には卓球部、サッカー部、野球部しかないことを前提とする 除算の例 学生ID サークル名 1001516 野球部 1101001 卓球部 サッカー部 1102123 1103003 1102256 1103021 1104146 1202318 サークル名 卓球部 サッカー部 野球部 ÷ 万能学生 学生ID 1101001 1102256