DBの設計
梶取
概要とルール
概要
電気機器の卸売業を行っている
主に商品の売上記録の記録と管理を目的としてい
る
ルール
顧客は1度の注文で複数の商品を注文可能
支払い方法や発送方法は1通りしかないものと仮
定
必要なエンティティとインスタンス
 顧客
顧客番号、顧客名、郵便番号、住所、電話番号
 商品
商品番号、商品名、製造者番号
 製造元
製造者番号、製造者名、郵便番号、住所、電話番号
 売上
売上番号、受注日、顧客番号
 注文明細
売上番号、商品番号、数量
ER図
顧客
1:N
注文
1:N
注文明細
N:1
商品
N:1
メーカー
ER図→リレーショナルモデルへ変換
『顧客』
『売上』
顧客番号
売上番号
顧客名
受注日
郵便番号
顧客番号
『商品』
住所
電話番号
『売上明細』
商品番号
売上番号
商品名
商品番号
製造者番号
数量
『製造元』
製造者番号
製造者名
郵便番号
住所
電話番号
実際にデータベースを作成…
3回生前期に各班が担当していたフリーの
データベースを使用
↓
ここからはPostgreSQLの画面にて
各テーブルのキーとドメイン
製造元テーブル(tbl_kokyaku)
 k_no:顧客番号(主キー)
 name:製造者名
 postcode:郵便番号
 address:住所
 tel:電話番号
製造元テーブル(tbl_supplier)
 s_no:顧客番号(主キー)
 name:製造者名
 postcode:郵便番号
 address:住所
 tel:電話番号
商品テーブル(tbl_product)
 p_no:顧客番号(主キー)
 name:製造者名
 price:価格
 s_no:製造者番号(外部キー設定)
売上テーブル(tbl_uriage)
 u_no:番号(主キー)
 date:受注日
 k_no:顧客番号(外部キー設定)
売上詳細テーブル(tbl_detail)
 u_no:売上番号
 p_no:商品番号
 quantity:数量
主キー
テーブルにデータを挿入
↓顧客テーブル
↓製造元テーブル
←商品テーブル
テーブルにデータを挿入2
←売上テーブル
←売上詳細テーブル
外部キー1
挿入
 もし、製造元が番号8000と9000の2社しか登録されていない場合
テーブル商品に新規取引を始めた製造元の商品を挿入しようとして
も外部キーの制約によって登録出来ない
→テーブル製造者に登録されている製造元の商品のみ登録可
外部キー2
削除
 テーブル製造元の製造者番号8000の行を消そうとしても、テーブル商
品によって外部キーとして設定されている為、削除出来ない
→外部キーとして参照しているテーブル(テーブル商品)中の製造者番
号8000が含まれている行を消さない限り、被参照テーブル(テーブル
製造元)の行は削除出来ない
ダウンロード

顧客番号