Upload
akitsukada
View
475
Download
1
Embed Size (px)
DESCRIPTION
2009.9.22 学生プログラマー勉強会でのつかだ発表スライド
Citation preview
copyright (c) 2009. Akihiro Tsukada.
二郎で学ぶデータベース設計
二郎で学ぶ データベース設計 つかだ@atcorp
2009.09.22 学生プログラマー勉強会
copyright (c) 2009. Akihiro Tsukada.
今日のおはなし
1) 自己紹介
2) データベース
3) 事例:二郎
4) おわり
copyright (c) 2009. Akihiro Tsukada.
今日のおはなし
1) 自己紹介
2) データベース
3) 事例:二郎
4) おわり
copyright (c) 2009. Akihiro Tsukada.
今日のおはなし
1) 自己紹介
2) データベース
3) 事例:二郎
4) おわり
copyright (c) 2009. Akihiro Tsukada.
今日のおはなし
1) 自己紹介
2) データベース
3) 事例:二郎
4) おわり
copyright (c) 2009. Akihiro Tsukada.
今日のおはなし
1) 自己紹介
2) データベース
3) 事例:二郎
4) おわり
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
1) 自己紹介
名HNBlog勉強会@IT
:::::
つかだ あきひろatcorp学内IT勉強会のススメ電設部IT勉強会学生スターエンジニア
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 1/4
◆データベース - DATABASE ○… data ×… information
データを
安全・高速・大量に
管理する
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 1/4
◆データベース - DATABASE ○… data ×… information
データを
安全・高速・大量に
管理する
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 1/4
◆データベース - DATABASE ○… data ×… information
データを
安全・高速・大量に
管理する
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 1/4
◆データベース - DATABASE ○… data ×… information
データを
安全・高速・大量に
管理する
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 1/4
◆データベース - DATABASE ○… data ×… information
データを
安全・高速・大量に
管理する
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 2/4
◆データベースの種類 ・カード型DB ・階層型DB ・ネットワーク型DB ・リレーショナルDB ・オブジェクト(指向)DB ・XMLDB
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 3/4
◆RDB ・二次元の表形式 で データを扱う ・SQL を使ってデータ操作 ・DBMSとして Oracle・MySQL・PostgresSQL などなど
copyright (c) 2009. Akihiro Tsukada.
2) データベース - 4/4
◆WEBシステムでの立ち位置
WEBサーバ
アプリケーションサーバ
DBサーバ
クライアント
SQL データ
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 1/5
◆二郎とは
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 1/5
◆二郎とは
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 2/5
◆二郎の要件(単純化してます) ・小、大のサイズがある ・ラーメン、ラーメン豚入りがある ・トッピングがある {ヤサイ、ショウユダレ、アブラ} ・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
・小、大のサイズがある ・ラーメン、ラーメン豚入りがある
◆データモデリング
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ラーメン小
ラーメン大
ラーメン小豚
ラーメン大豚
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ラーメン小
ラーメン大
ラーメン小豚
ラーメン大豚
サイズ、豚有無は客(卓番&時刻)ごとにそれぞれが決まる!
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ラーメン小
ラーメン大
ラーメン小豚
ラーメン大豚
客-----------卓番:int時刻:date大フラグ:boolean豚フラグ:boolean
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
・トッピングがある {ヤサイ、ショウユダレ、アブラ}
◆データモデリング
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヤサイ
ショウユダレ
アブラ
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヤサイ
ショウユダレ
アブラ
トッピングはトッピング名によって識別される!
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヤサイ
ショウユダレ
アブラ
トッピング--------------トッピング名:String
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
・トッピングは量を指定できる {ヌキ、チョット、マシ、マシマシ}
◆データモデリング
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヌキ
チョット
マシ
マシマシ
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヌキ
チョット
マシ
マシマシ
トッピングの量には4種類がある!ここでは1~4のIDで管理してみよう。
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヌキ
チョット
マシ
マシマシ
トッピング量--------------量ID:int量名:String
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング
ヌキ
チョット
マシ
マシマシトッピング量は、客ごと、トッピングごとに決まる!
トッピング量--------------量ID:int量名:String
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 3/5
◆データモデリング(ER図)客-----------卓番:int時刻:date大フラグ:boolean豚フラグ:boolean
トッピング--------------トッピング名:String
客別トッピング量--------------卓番:int時刻:dateトッピング名:String量ID:int
トッピング量--------------量ID:int量名:String
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);
copyright (c) 2009. Akihiro Tsukada.
3) 事例:二郎 - 5/5
◆出来上がったDBのイメージ
copyright (c) 2009. Akihiro Tsukada.
4) おわり
◆非常におおまかにやりました
◆気になる人は「正規化」、
「データモデリング」などを
◆二郎をよろしく
(京都なら「夢を語れ」)
copyright (c) 2009. Akihiro Tsukada.
二郎で学ぶデータベース設計
ご清聴ありがとうござました。 二郎で学ぶ データベース設計 つかだ@atcorp
2009.09.22 学生プログラマー勉強会