Top Banner
copyright (c) 2009. Akihiro Tsukada. 二郎で学ぶデータベース設計 二郎で学ぶ データベース設計 つかだ@atcorp 2009.09.22 学生プログラマー勉強会
67

Jiro And Database Spsm0922

Jul 07, 2015

Download

Technology

akitsukada

2009.9.22 学生プログラマー勉強会でのつかだ発表スライド
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

二郎で学ぶデータベース設計

 二郎で学ぶ データベース設計       つかだ@atcorp

       2009.09.22       学生プログラマー勉強会

Page 2: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

今日のおはなし

1) 自己紹介

2) データベース

3) 事例:二郎

4) おわり

Page 3: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

今日のおはなし

1) 自己紹介

2) データベース

3) 事例:二郎

4) おわり

Page 4: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

今日のおはなし

1) 自己紹介

2) データベース

3) 事例:二郎

4) おわり

Page 5: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

今日のおはなし

1) 自己紹介

2) データベース

3) 事例:二郎

4) おわり

Page 6: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

今日のおはなし

1) 自己紹介

2) データベース

3) 事例:二郎

4) おわり

Page 7: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 8: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 9: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 10: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 11: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 12: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

1) 自己紹介

名HNBlog勉強会@IT

:::::

つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア

Page 13: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 1/4

◆データベース - DATABASE   ○… data   ×… information

 データを

 安全・高速・大量に

 管理する

Page 14: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 1/4

◆データベース - DATABASE   ○… data   ×… information

 データを

 安全・高速・大量に

 管理する

Page 15: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 1/4

◆データベース - DATABASE   ○… data   ×… information

 データを

 安全・高速・大量に

 管理する

Page 16: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 1/4

◆データベース - DATABASE   ○… data   ×… information

 データを

 安全・高速・大量に

 管理する

Page 17: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 1/4

◆データベース - DATABASE   ○… data   ×… information

 データを

 安全・高速・大量に

 管理する

Page 18: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 19: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 20: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 21: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 22: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 23: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 24: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 25: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 2/4

◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB

Page 26: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 27: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 28: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 29: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 30: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 31: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 32: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 3/4

◆RDB ・二次元の表形式 で  データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL  などなど

Page 33: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

2) データベース - 4/4

◆WEBシステムでの立ち位置

WEBサーバ

アプリケーションサーバ

DBサーバ

クライアント

SQL データ

Page 34: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 1/5

◆二郎とは 

Page 35: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 1/5

◆二郎とは 

Page 36: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 37: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 38: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 39: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 40: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 41: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 42: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 43: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 44: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 45: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 46: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 47: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 48: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 2/5

◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

Page 49: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

Page 50: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

 ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある

◆データモデリング

Page 51: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ラーメン小

ラーメン大

ラーメン小豚

ラーメン大豚

Page 52: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ラーメン小

ラーメン大

ラーメン小豚

ラーメン大豚

サイズ、豚有無は客(卓番&時刻)ごとにそれぞれが決まる!

Page 53: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ラーメン小

ラーメン大

ラーメン小豚

ラーメン大豚

客-----------卓番:int時刻:date大フラグ:boolean豚フラグ:boolean

Page 54: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

 ・トッピングがある {ヤサイ、ショウユダレ、アブラ}

◆データモデリング

Page 55: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヤサイ

ショウユダレ

アブラ

Page 56: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヤサイ

ショウユダレ

アブラ

トッピングはトッピング名によって識別される!

Page 57: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヤサイ

ショウユダレ

アブラ

トッピング--------------トッピング名:String

Page 58: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

 ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}

◆データモデリング

Page 59: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヌキ

チョット

マシ

マシマシ

Page 60: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヌキ

チョット

マシ

マシマシ

トッピングの量には4種類がある!ここでは1~4のIDで管理してみよう。

Page 61: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヌキ

チョット

マシ

マシマシ

トッピング量--------------量ID:int量名:String

Page 62: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング

ヌキ

チョット

マシ

マシマシトッピング量は、客ごと、トッピングごとに決まる!

トッピング量--------------量ID:int量名:String

Page 63: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 3/5

◆データモデリング(ER図)客-----------卓番:int時刻:date大フラグ:boolean豚フラグ:boolean

トッピング--------------トッピング名:String

客別トッピング量--------------卓番:int時刻:dateトッピング名:String量ID:int

トッピング量--------------量ID:int量名:String

Page 64: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 4/5

◆SQLの生成

CREATE TABLE 客別トッピング量 ( 卓番 int, 時刻 date, トッピング名 String, 量ID int,PRIMARY KEY (卓番, 時刻, トッピング名, 量ID),FOREIGN KEY (卓番, 時刻) REFERENCES 客(卓番, 時刻),FOREIGN KEY (トッピング名) REFERENCES トッピング(トッピング名),FOREIGN KEY (量ID) REFERENCES 量(量ID));

CREATE TABLE 客 ( 卓番 int, 時刻 date, 大フラグ boolean, 豚フラグ boolean, PRIMARY KEY (卓番, 時刻));

CREATE TABLE トッピング ( トッピング名 String PRIMARY KEY);CREATE TABLE トッピング量 ( 量ID int PRIMARY KEY, 量名 String);

Page 65: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

3) 事例:二郎 - 5/5

◆出来上がったDBのイメージ

Page 66: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

4) おわり

◆非常におおまかにやりました

◆気になる人は「正規化」、

  「データモデリング」などを

◆二郎をよろしく

  (京都なら「夢を語れ」)

Page 67: Jiro And Database Spsm0922

copyright (c) 2009. Akihiro Tsukada.

二郎で学ぶデータベース設計

    ご清聴ありがとうござました。  二郎で学ぶ データベース設計       つかだ@atcorp

       2009.09.22       学生プログラマー勉強会