780 likes | 869 Views
データベース論. 朝日大学大学院 経営学研究科 奥山 徹 okuyama@alice.asahi-u.ac.jp. 講義日程. 4 月 17 日 ガイダンスおよび集合論の基礎 4 月 24 日 リレーショナルデータベースの基礎 5 月 01 日 データ操作言語 5 月 08 日 データベースの論理設計 5 月 15 日 SQL (データベース操作言語)の基礎 5 月 22 日 データベース管理システム 5 月 29 日 データベースの内部スキーマ 6 月 05 日 質問処理とその最適化 6 月 12 日 トランザクション処理
E N D
データベース論 朝日大学大学院 経営学研究科 奥山 徹 okuyama@alice.asahi-u.ac.jp データベース論(1回目)
講義日程 • 4月17日 ガイダンスおよび集合論の基礎 • 4月24日 リレーショナルデータベースの基礎 • 5月01日 データ操作言語 • 5月08日 データベースの論理設計 • 5月15日 SQL(データベース操作言語)の基礎 • 5月22日 データベース管理システム • 5月29日 データベースの内部スキーマ • 6月05日 質問処理とその最適化 • 6月12日 トランザクション処理 • 6月16日 分散データベース序説 • 6月26日 定期試験 データベース論(1回目)
ガイダンス資料(1) • 内容 • データベース全般についてのお話 • 今日、特によく利用されているリレーショナル(関係)モデルとそのDBMS(データベース管理システム)ついて詳述 • トランザクション処理やデータベースの内部構造についても解説 • 時間があれば分散データベースシステムについても解説 • 評価 • 定期試験(50%)、レポートなど(50%)で総合評価 データベース論(1回目)
ガイダンス資料(2) • 教科書 • 増永良文、「リレーショナルデータベース入門[改訂版]」、サイエンス社 • 参考図書 • 増永良文、「リレーショナルデータベースの基礎」、オーム社 • 鶴保征城 監修、「未来ねっと技術シリーズ9、情報データベース技術」、電気通信協会 • 横田一正、宮崎収兄、「新データベース論」、共立出版 • 山本森樹、「体系的に学ぶデータベースの仕組み」、日経BPソフトプレス • C.J.Date、「データベース実践講義」、オライリージャパン • 「データベース論」WEBページ(現在準備中) • http://www.dsl.gr.jp/~okuyama/lecture/2006/tut/ データベース論(1回目)
実世界 データの収集・蓄積・利用 データ 編集 加工 要求 処理 ユーザ 蓄積 アクセプタ データ要求 データ(フィードバック) データの収集 データの蓄積 データの利用 データベース論(1回目)
データと情報 「新データベース論」より • データ:人間または自動的手段によって行われる通信、解釈、処理に適するように形式化された事実、概念または指令の表現 • 情報:データを表現するために用いた約束に基づいて、人間がデータに割り当てた意味 データベース論(1回目)
集合の基礎 • 定義:集合とは要素の集まりである • 一般に集合の要素間には何の関係もない • 集合に構造を持たせることで種々の応用が可能となる • 代数構造 → 四則演算 • 順序構造 → 大小関係 • 位相構造 → 連続性 データベース論(1回目)
代数構造 • 集合の任意の二つの要素間に演算(2項演算)を導入すること • 2項演算→2つの要素を結合してもう1つの要素を作る一定の規則 • 有限幾何、ブロックデザイン、直交表等のようなバランスのとれた部分集合や配列が出来る→効率の良い符号系やファイルを作ることが可能 データベース論(1回目)
順序構造 • 包含関係のような半順序が重要 • 束の概念から論理演算に結びつく • 順序の定義づけが可能→比較可能性の説明ができる→「空間における順序」などの概念の基礎 データベース論(1回目)
集合かどうか? • 自然数全体の集まり→集合(無限集合) • 0≦x≦1である実数全体の集まり→集合(無限集合) • 10より小さい(正の)素数の集まり→集合(有限集合) • x2+ y2< 1 の不等式を満たす点(x,y)の全体の集合 →集合(無限集合) • 実数の閉区間[0,1]で定義された連続な実数値関数全体の集まり→集合(無限集合) • p,q,rという3つの文字の集まり→集合(有限集合) • p,q,rという3つの文字の順列全体の集まり→集合(有限集合) • 十分大きな自然数の集まり→集合ではない データベース論(1回目)
【演習問題1-1】 • 十分大きな自然数の集まり→集合ではない なぜ集合と言えないか説明せよ • 次のものは集合と言えるか • 正の整数の集まり • 豊橋技術科学大学における知識情報工学4年生の集まり • 国道259号線を田原方面へ向かう車の集まり • LAN上を流れるパケットの集まり • 一つの内角が60度以下の正多角形の集まり • パソコンに搭載されている全メインメモリの集まり 2 2 データベース論(1回目)
集合と元 • 集合はA, B, C, …, X, Y, Z等と表記する • 集合Aに含まれる‘もの’を、Aの元(または元素、要素)と呼ぶ • aが集合Aの元であるとき、a∈AあるいはA∋aと表記する(元でない場合はa∈AあるいはA∋aとなる) • 無限に元が存在する集合を無限集合、有限の元しかもたない集合を有限集合という データベース論(1回目)
集合の表記 • 外延的表記 {p, q, r} {1, 2, 3, …….} • 内包的表記 {x|xは有理数である} {y|yは0≦y≦1である実数である} {n|nは10より小さい正の素数} データベース論(1回目)
内包的記述についての考察 • 変数とその条件(性質) yは0≦y≦1の実数である • 変数yについての条件→C(y) • C=C(x)の時、あるaについて、C(a)が正しいなら、aは条件Cを満たす(性質Cをもつ) • 条件Cを満たす全体→集合を形成 {x|C(x)} データベース論(1回目)
空集合(φ)とサイズ • C=C(x)の時、あるaについて、C(a)が正しくなるのもが見つからない • 条件Cを満たす全体→集合を形成 {x|C(x)} 上記関係を満たす(何も元を持たない)集合を空集合(φ)と呼ぶ • 集合に含まれる元の数→サイズ、|A| データベース論(1回目)
【演習問題1-2】 • 集合{1,2,3}を内包的表記を用いて表せ • 次の集合を外延的表記で表せ(空集合はφと書け) • {x|x∈Q, x3=2}(Qは有理数の集合) • {y|y ∈N, 1<y2<10}(Nは自然数の集合) • {z|z ∈Z, 0.1<2z<100}(Zは整数の集合) データベース論(1回目)
集合の相等 • すべての元が同じ集合 A=B <例> A:{x|xは2<x<10である素数} B:{y|yは1<y<8である奇数} • 外延的表記における注意 A={a,b,c,…}とB={a,b,c,…}基本的に同じものを指さなければならない→A=Bという相等が崩れる データベース論(1回目)
集合の相等(2) • {x|C(x)}={y|C(y)} • 任意の元xに対して、x∈A⇔x∈Bとなる。(⇔は(論理的に)同等) • 論理記号の補足 • p⇒q(pならばq):pが正しいときはqもまた正しい • p⇔q(pはqと同等):p⇒qが正しく、かつq⇒pも正しいとき、またそのときに限り正しい データベース論(1回目)
部分集合 • 任意の元xにたいして、x∈A⇒x∈Bなる関係が成り立つ時、AはBの部分集合であるという A⊂BまたはB⊃A • A⊂BでA≠Bのとき、AはBの真部分集合であるという(A⊂B、A ≠Bと記す、A⊆という記述法もあるが、ここでは前者を採用する) データベース論(1回目)
部分集合による相等と推移律 • A=Bであるための必要十分条件 A⊂B かつ A⊃B すなわち、A=B ⇔ A⊂BかつA⊃B • A⊂B 、B⊂C ⇔ A⊂C • φ⊂Aと約束する データベース論(1回目)
集合間の演算 • 2つの集合間の演算 • 和集合 • 共通集合(積集合) • 差集合 • 普遍集合と補集合 • 集合系とべき集合 データベース論(1回目)
集合演算(和集合) • Aの元とBの元を全部集めた集合 • 和集合 A∪B、∪→結び(join, cup) • A∪B={x|x∈Aまたはx∈B} <例> A={1,2,3,4,5}、B={3,5,7,9} A ∪B={1,2,3,4,5,7,9} Aを正の偶数全体の集合、Bを正の奇数全体の集合 A ∪B=N データベース論(1回目)
集合演算(和集合)その2 (a1) A⊂A∪B、B⊂A∪B (a2) A⊂C、B⊂C、⇒A∪B⊂C (a2)の証明: A⊂B, B⊂Cとして、x∈A∪Bとする A ∪Bの定義によって, x∈Aまたはx∈B、x∈AならばA⊂Bであるから、x∈C, x∈Bの場合も同様 ゆえにx∈C、すなわちx∈A ∪Bならばx∈C よって、A ∪B⊂C データベース論(1回目)
集合演算(和集合)その3 (a3) A∪A=A(ベキ等律) (a4) A∪B=B∪A(交換律) (a5) (A∪B)∪C=A∪(B∪C)(結合律) • (a5)の両辺はA∪B∪Cとも書く。一般に、n個の集合、A1, A2, …, Anがあるとき、A1 ∪A2∪…∪Anあるいは∪ni=1Aiと記す データベース論(1回目)
集合演算(和集合)その4 (a6) A⊂B⇔A∪B=B (a7) A⊂B⇒A∪C⊂B∪C (a8) φ∪A=A データベース論(1回目)
集合演算(積集合、共通集合) • Aの元とBの元の共通部分を集めた集合 • 積集合 A∩B、∩→交わり(meet, cap) • A∩B={x|x∈Aかつx∈B} <例> A={1,2,3,4,5}、B={3,5,7,9} A∩B={3,5} Aを正の偶数全体の集合、Bを正の奇数全体の集合 A∩B=φ データベース論(1回目)
集合演算(積集合、共通集合)2 (a1)’ A⊃A∩B、B⊃A∩B (a2)’ A⊃C、B⊃C、⇒A∩B⊃C (a3)’ A∩A=A(ベキ等律) (a4)’ A∩B=B∩A(交換律) (a5)’ (A∩B)∩C=A∩(B∩C)(結合律) • (a5)’の両辺はA∩B∩Cとも書く。一般に、n個の集合、A1, A2, …, Anがあるとき、A1 ∩A2 ∩… ∩Anあるいは∩ni=1Aiと記す データベース論(1回目)
集合演算(積集合、共通集合)3 (a6)’ A⊂B⇔A∩B=A (a7)’ A⊂B⇒A∩C⊂B∩C (a8)’ φ∩A=φ • 分配律 (a9) (A∪B)∩C=(A∩C)∪(B∩C) (a9)’ (A∩B)∪C=(A∪C)∩(B∪C) • 吸収律 (aa) (A∪B)∩A=A (aa)’ (A∩B)∪A=A データベース論(1回目)
集合演算(直和) • AとBが互いに素であるとき • A∪Bは直和である <例> A={1,3,5,7,9}、B={2,4,6,8} A ∪B={1,2,3,4,5,6,7,8,9} データベース論(1回目)
集合演算(差集合) • Aの元であってBの元ではないものの集合 • 差集合 A-B • A∩B={x|x∈Aかつx∈B} • A⊃Bである場合、A-BをAに対するBの補集合という <例> 自然数の集合N、Bを正の奇数の整数全体の集合 N-B:正の偶数の整数全体の集合 データベース論(1回目)
普遍集合 • 現在の対象集合が、ある定まった集合の部分集合である時、その集合を普遍集合あるいは全体集合(universal set)とよぶ • 普遍集合Xが与えらているとき、集合A(Xの部分集合)のXに対する補集合X-Aを単にAの補集合と呼びAcで表す データベース論(1回目)
普遍集合 その2 • x∈Xとすると、Ac={x|x∈A} • x∈A⇔x∈Ac X Ac A データベース論(1回目)
普遍集合 その3 (ab) A ∪Ac=X,A ∩ Ac=φ (ac) Acc=A (ad) φc=X,Xc=φ (ae) A⊂B⇔Ac⊃Bc • de Morganの法則 (af) (A ∪ B)c=Ac ∩ Bc (af)’ (A ∩ B)c=Ac ∪ Bc データベース論(1回目)
集合系とベキ集合 • 集合を要素とする集合→集合系 • 集合Aのすべての部分集合を含むものをベキ集合という • 部分集合の集合は情報処理の中では重要な役割を演じることがある <例題>7人が麻雀を7回戦行う場合を考える。このさい、どの二人も2回ずつ顔を合わせるような組み合わせを作れるか →BIBD(balanced incomplete block design) データベース論(1回目)
ベキ集合 • ベキ集合→2n個の元を持つ <例> X={0,1,2,3}→24=16個の元 Δ(X)={φ,{1},{2},{3},{0,1},{0,2}, {0,3},{1,2},{1,3},{2,3},{0,1,2}, {0,1,2},{0,1,3},{0,2,3},{1,2,3}, {0,1,2,3}} • ベキ集合の構成方法(次のスライド) データベース論(1回目)
ベキ集合構成の方法 01 12 23 30 02 13 0 1 2 3 012 123 230 301 φ 0123 データベース論(1回目)
集合の直積 • 定義:A, Bを集合とするとき、Aの元aとBの元bの順序付けられた組(a,b)全体の作る集合をAとBの直積と呼ぶ • 表記: A×B • 例: A={1,2}、B={p,q,r}とする A×B={(1,p), (1,q), (1,r), (2,p), (2,q), (2,r)} A×A={(1,1), (1,2), (2,1), (2,2)} データベース論(1回目)
順序付けられたの意味 • 順序付けられた組(a,b)→aとbをこの順番に‘組み合わせた’ものである • aとbの順序が重要である • (a,b)と(b,a)はa=bのときに限り、同じ‘順序付けられた組’となる データベース論(1回目)
直積の元の相等 • A×Bの元(a,b)と(a’,b’)があるとする • もちろん、a∈A、a’∈A、b∈B、b’∈Bである • (a,b)と(a’,b’)はa=a’、b=b’のとき、かつそのときに限って等しいものとする データベース論(1回目)
直積の幾何学的な表現 • A×Bの元(a,b)に対して、aを第一成分(第一座標)、bを第二成分(第二座標)と呼ぶ • Aがm個の元、Bがn個の元からなる有限集合の場合、A×Bはmn個の元を持つ有限集合となる • A×Bを表すのに図のような幾何学的な平面を考えることが多い • R×Rの元(x,y)は 平面上の点の集合 2 2 (a,b) a A b B データベース論(1回目)
【演習問題1-3】 • 次の2つの集合の直積を示せ ・ A={a,b,c}, B={x,y,z} ・ A={1,2,3}, B=φ データベース論(1回目)
対応の定義 • A,Bを2つの集合とする • ある規則Γによって、Aの元aに対して、それぞれ1つずつのBの部分集合Γ(a)が定められる • 注:a≠a’のときΓ(a)=Γ(a’)であってもよい • また、Γ(a)=φでもよい • 規則Γ:AからBへの対応 データベース論(1回目)
対応の表記と相等 • A,Bは集合とし、Aの元aにたいするBの部分集合Γ(a)をΓによるaの像と呼ぶ、A,Bを対応Γの始集合、終集合と呼ぶ • 対応の表記 Γ:A→B • 対応の相等 • Γ、Γ’がいずれもAがらBへの対応とする • Aのいかなる元aにたいしても、Γ(a)=Γ’(a) • ΓとΓ’は等しい(相等)である データベース論(1回目)
写像 • AからBへの対応Γは、次の性質を持つとき、特にAからBへの写像と呼ばれる Aの任意の元aに対して、Γ(a)はBのた だ1つの元から成る集合である • D(Γ)=A • f をAからBへの写像、Aの元aとすると f (a)={b} → f (a)=b bをf によるaの像と呼ぶ データベース論(1回目)
写像(2) • 写像 f :A→Bによるaの像がbである • aにおけるf の値はbである • f はaにbを対応させる • f はaはbを写す • <例> 実数xにx2+1に対応させれば、RからRへの1つの写像が得られる f (x)=x2+1 データベース論(1回目)
全射、単射、全単射 • 全射: f (A)=B • 単射:f (a)=f (a’)⇒a=a’ • 全単射:写像 f:A→Bが全射であると同時に単射のとき データベース論(1回目)
全射 f:A→Bのとき、 定義域 D( f )=Aであるが、値域V( f )= f (A)がBであるとはいえない • f (A)=Bであるとき、写像 fは全射である • あるいは、fはAからBの上への写像 • 全射であるとき、Bのどの元bに対しても、f –1(b)≠φである。すなわち、f (a)=bとなるAの元aが存在する データベース論(1回目)
単射 f:A→Bのとき、 Aの任意の元a, a’に対して • a ≠a’⇒ f (a) ≠ f (a’) • f (a)=f (a’)⇒a=a’ が成り立つとき、AからBへの単射、またはAからBへの1対1の写像である • f の値域V( f )の任意の元bに対して、 f –1(b)がいつもAのただ1つの元からなる データベース論(1回目)
全単射 f:A→Bが同時に 全射かつ単射であるとき、 fはAからBへの全単射である データベース論(1回目)
恒等写像 • Aを任意の集合、PをAの部分集合とする • Pの各元aにAのa自身を対応させる • PからAへの1つの写像 iが定まる • 写像 iは明らかにPからAへの単射である →PからAへの標準的単射 • 特にP=Aの場合 →標準的単射は、Aの上の恒等写像IA データベース論(1回目)