関係データベースとSQL(PPT形式186KB)

ものづくり先端技術研究センター
関係データベースとSQL
MZ Platform講習会(上級)
1
ものづくり先端技術研究センター
テーブル(表)とその維持管理
例: 顧客名簿
氏名
年齢
勤務先
勤務先住所
鈴本一朗
31
○○産業
板目市蓮他町12
坂紙二郎
55
○○産業
板目市蓮他町12
佐方三吉
43
××工業
洋賀市啓期町21
伊藤四郎
62
××工業
洋賀市啓期町21
稲柿五郎
28
××工業
洋賀市啓期町21
××工業が移転
××工業勤務の顧客全員の勤務先住所を修正
2
ものづくり先端技術研究センター
関係データベースの概念: テーブルの分割管理
個人テーブル
氏名
企業テーブル
年齢
勤務先
社名
住所
鈴本一朗
31
○○産業
○○産業
板目市蓮他町12
坂紙二郎
55
○○産業
××工業
洋賀市啓期町21
佐方三吉
43
××工業
伊藤四郎
62
××工業
稲柿五郎
28
××工業
実体データ
表示用に作成した
テーブルデータ
組み合わせ
氏名
年齢
勤務先
勤務先住所
鈴本一朗
31
○○産業
板目市蓮他町12
坂紙二郎
55
○○産業
板目市蓮他町12
佐方三吉
43
××工業
洋賀市啓期町21
伊藤四郎
62
××工業
洋賀市啓期町21
稲柿五郎
28
××工業
洋賀市啓期町21
3
ものづくり先端技術研究センター
用語: フィールド、レコード、主キー
フィールド: データ項目(列)。名前と型を持つ。
氏名
年齢
勤務先
鈴本一朗
31
○○産業
坂紙二郎
55
○○産業
佐方三吉
43
××工業
伊藤四郎
62
××工業
稲柿五郎
28
××工業
レコード: ひとまとまりのデータ(行)。
!注意事項!
列番号、行番号という概念はない。
フィールドはフィールド名で特定される。
レコードは主キーの値で特定される。
主キー: レコードを一意に指定するためのフィールド。
このテーブルでは“氏名”が主キーになる。現実
のデータベーステーブルでは、同姓同名への対応
などを考え、何らかのIDを設定するのが通常。
4
ものづくり先端技術研究センター
SQLコマンド
- SELECT, UPDATE, DELETE, INSERT コマンド
概要
書式
SELECT
レコードの検索
SELECT <フィールド名>,… FROM <テーブル名>,…
WHERE <検索条件> [OPTIONS]
UPDATE
レコードの編集
UPDATE <テーブル名> SET <フィールド名>=値,…
WHERE <レコード指定条件>
DELETE
レコードの削除
DELETE FROM <テーブル名>
WHERE <レコード指定条件>
INSERT
レコードの追加
INSERT INTO <テーブル名> (<フィールド名>,…)
VALUES (値, …), …
この他、データベース作成およびテーブル作成の
ためのCREATEコマンドなどがあります。
5
ものづくり先端技術研究センター
SELECT文
個人
氏名
年齢
勤務先
企業
社名
住所
鈴本一朗
31
○○産業
○○産業
板目市蓮他町12
坂紙二郎
55
○○産業
××工業
洋賀市啓期町21
佐方三吉
43
××工業
伊藤四郎
62
××工業
稲柿五郎
28
××工業
組み合わせて顧客一覧表を作るSELECT文の例
列名
SELECT 個人.氏名,個人.年齢,個人.勤務先,企業.住所
FROM 個人,企業 WHERE 個人.勤務先=企業.社名
テーブル名
検索条件
6
ものづくり先端技術研究センター
SELECT文の考え方
SELECT 個人.氏名,個人.年齢,個人.勤務先,企業.住所
FROM 個人,企業 WHERE 個人.勤務先=企業.社名
個人
列選択
氏名
“個人”と“企業”
の全行の組み合
せ
年齢
企業
勤務先
社名
住所
鈴本一朗 31
○○産業 ○○産業 板目市蓮他町12
鈴本一朗 31
○○産業 ××工業 洋賀市啓期町21
坂紙二郎 55
○○産業 ○○産業 板目市蓮他町12
坂紙二郎 55
○○産業 ××工業 洋賀市啓期町21
佐方三吉 43
××工業 ○○産業 板目市蓮他町12
佐方三吉 43
××工業 ××工業 洋賀市啓期町21
伊藤四郎 62
××工業 ○○産業 板目市蓮他町12
伊藤四郎 62
××工業 ××工業 洋賀市啓期町21
稲柿五郎 28
××工業 ○○産業 板目市蓮他町12
稲柿五郎 28
××工業 ××工業 洋賀市啓期町21
行選択
7