131223_03:データベース構築

要件定義や設計を行う上でERD図を描くことが大事だと知った。
ERD(Entity Relationship Diagram)


真のデータベースエンジニアを目指そう!
http://www.atmarkit.co.jp/ait/articles/0603/10/news125.html
データベースエンジニアとは?
データ管理者(DA:情報システム全体のデータ資源を管理する)とデータベース管理者(DBA:期間データベースの構築と維持を行う)
f:id:sjamesm:20131223110325g:plain

両者は、データモデリングという共通のスキルを持ち、DAは業務領域に、DBAはデータベース実装に特化した高度なスキルを持つスペシャリスト。
f:id:sjamesm:20131223110340g:plain

データベースエンジニアのタスクは、大きく分けると「設計・構築」「運用設計」「保守・運用」の3つのフェイズがある。

データモデリングには概念データモデル、論理データモデル、物理データモデルの各3つのモデルがある。
f:id:sjamesm:20131223114054g:plain


30分間データモデリング 〜ER図を描こう!〜
http://www.atmarkit.co.jp/ait/articles/0604/06/news110.html

ER図を描き上げるまでのプロセス
f:id:sjamesm:20131223114416g:plain

業務ルールの把握

エンティティの抽出

エンティティとは?
人(誰が):取引先、組織、担当者、部署、顧客、従業員など
物(何を):商品、製品在庫、資源、成果物、倉庫など
金:価格、現金、消費税、通貨など
時間:カレンダー、工場稼働日、基準日程計画、世代管理
やりとり・活動・行為(どうする):受注、発注、出荷、承認、値引き、出庫、入庫など
ある目的を持って同じようなデータを集め、その目的を明確に表す名前を付けたもの。



楽々ERDレッスン:「お持ち帰りご注文用紙」編
http://codezine.jp/article/detail/154
楽々ERDレッスン:「図書館の予約申込書」編
http://codezine.jp/article/detail/175
この記事は分かりやすい!

メインテーブル
予約

予約者とレッスンテーブルの追加

予約者
予約者ID
名前
ふりがな
レッスン番号

予約
予約ID
日程
予約者ID
レッスンID
連絡先番号


レッスン
レッスンID
レッスン名
先生の名前
価格
日程

create table 予約者(

予約者ID integer not null,
名前 varchar(100),
ふりがな varchar(100),
レッスン番号 integer not null
);

create table 予約(
予約ID integer not null,
日程 date,
予約者ID integer not null,
レッスンID integer not null,
連絡先番号 integer not null
);

create table レッスン(
レッスンID integer not null,
レッスン名 varchar(100),
先生の名前 varchar(100),
価格 integer,
日程 date
);