データベース設計の基本

Download Report

Transcript データベース設計の基本

データベースの設計
科目:情報工学基礎実験Ⅱ(2010後期)
テーマ:データベースの設計と応用
(第1回)
情報工学科
当実験のテーマと目的
• テーマ
・データベースの設計と応用
• 目的
・もっとも多く使われているリレーショナル型の
データベース構造を設計し、
DBサーバを使いこなすことによって、
・データベースについて学習した理論を、
より深く理解する。
・実験を通じてデータベースシステムを
開発できるスキルを身につける。
当実験の前提
• 以下の環境が各自のパソコンに設定済である。
• 実験Ⅰで使用したものが使える。
• 削除した者は、RENANDIの実験Ⅰ科目の
第1回目教材をもとに再度設定しておくこと。
・解凍ソフト、TeraPad、SendToの設定
Cドライブ直下
・Apacheおよび設定(=Webサーバ)
・ActivePerl (=Webアプリ用スクリプト言語)
実験の内容の図示
INDEX
第1回目:データベースの設計
(キー、正規化、ER図、論理DB構造)
データベース
次回の準備として、DBサーバをインストール
(リレーショナルDB)
第2回目:物理DBの定義と操作
DBサーバ(MySQL)
(DB生成、テーブル生成、挿入・更新・削除)
第3回目:DB利用の実用化
(インデックス使用時の検索時間測定、
簡単なWebアプリによるDB利用)
Webサーバ(Apache)
アプリケーション(Perl)
今回のレポートのまとめ方
以下の項目を必ず含めること。
1) データベースの設計手順について記す
2) キー項目の2課題
3) データ正規化、ER図、論理DB構造図
4) MySQLをインストールした時のキャプチャ画像
フォルダ構成、実行時のcdとselect now() 。
5)感想
6)考察
注:必ず手書きのこと(理由:文章を書く訓練になる)。
実験時間内に完了できなかった者は、別途集まって、
進めておくこと。
目次
1.はじめに
2.実験1:キー項目を求める
3.実験2:論理DB構造の作成
4.第2回目の準備(MySQLインストール)
5.レポートのまとめ方
参考書・参考URL
はじめに
1) 情報システムに必要なもの
2) データベースの実例
3) データベースシステムの構成
4) 3層スキーマ
5) データベース設計の順序
ここから本論
1) 情報システムに必要なもの
ハードウェア
コンピュータ
周辺機器
ソフトウェア
OS
ミドルウェア
アプリケーション
ネットワーク
通信回線
通信機器
通信ソフト
コンテンツ
データベース
・文字
・画像
・音声
“データベースという中身がなければ、コンピュータはただの箱”
2) データベースの実例
• Web-------- 記事DB、音楽DB、出品DB・・・
• 企業--------図面DB、商品DB、顧客DB、
生産計画DB、購買DB、販売実績DB、
文書DB、人事DB、経理DB・・・
• 銀行--------口座DB、顧客DB、資産DB・・・
• 学校---------学籍簿DB、科目DB、成績DB・・・
• 学術的-----論文DB、薬品DB・・・
• 公共的-----住民基本台帳DB、図書館書籍DB、
電子カルテDB、介護DB・・・
• 個人--------住所録、電話帳、名刺録・・・
オンラインショッピングの事例
オンラインショッ
ピング・システム
データベース
“本の注文”
(膨大な種類)
商品
DB
受注
DB
在庫
DB
発注
DB
配送
DB
和書
DB
洋書
DB
雑誌
DB
古本
DB
CD
DB
販売
DB
DVD
DB
会員
DB
・・・
・・・
資料: 企業の種類
第1次産業
(自然を相手)
第2次産業
(鉱産物・農林水産物
を加工)
第3産業
(第1次、2次以外
のすべて)
(総務省・統計局、2001年、企業統計)
労働人口
・農業
・林業
・漁業
313万人
5%
・製造業(鉄鋼、自動車、電機・・・)
・建設業
・鉱業
・小売業、卸売業、飲食業
・運輸業
・情報/通信業
・金融業(銀行、証券、保険)
・エネルギー(電気・ガス・水道)
・サービス業(旅館・ホテル、修理業、
興行、医療、福祉、教育、法務、
公務(立法・行政・司法、NPO)
1,921万人
30%
4,133万人
65%
(2001年現在)
資料: 企業の組織
製造業の例:
役員
財務担当(CFO)
部門
経営企画、経理部門
株主(株主総会)
監査役
取締役会
会長(CEO)
開発担当
研究、デザイン、開発部門
製造担当
技術、工場、品質部門
購買担当
資材、設備、一般購買部門
営業担当
商品企画、販売、物流部門
社長(COO)
アフターサービス部門
業務担当
総務、人事、法務、広報部門
情報システム部門
資料: 製造業の業務内容
商品企画
・市場調査
・新商品企画
・技術企画
・コスト企画
商品開発
・商品デザイン
・設計活動
・試作・実験
・製造技術企画
生産
・生産計画
・工程計画
・製造活動
・検査
アフターサービス
販売
販売企画
・受注処理
・売掛・回収
・問合回答
・顧客管理
・商品販路開拓
・売筋管理
・卸、小売支援
・広告・宣伝
小売
出荷
卸売
・出荷指示
・ピッキング
・検品
・包装・出荷
製造
在庫(完成品、部品、素材)
・在庫管理
・直出荷指示
・在庫分析
経理業務・予算管理
総務・人事・給与計算・購買・システム
・補修部品供給
・修理サービス
仕入
・発注実務
・買掛処理
入荷
・受入検収
・入荷仕分
・棚入れ
部
品
メーカー
小売
素
材
メーカー
消
費
者
運
輸
業
購
入
先
資料: 製造業の情報システム
物流管理システム
・受入検収
・棚入指示
DB
・出荷指示
・ピッキング指示
・包装指示
・配送指示
顧客管理システム
・顧客情報
DB
・苦情管理
・アフターサービス
商品企画支援システム
・市場分析
DB
・販売分析
・コスト管理
開発支援システム
・CAE、CAD
・試作・実験支援
・CAM
・製造技術企画支援
在庫システム
・在庫管理システム
・在庫分析システム DB
・直出荷システム
・情報ネットワーク
・意思決定支援
流通支援システム
・売れ筋情報
・販売店システム DB
・販売員支援システム
受注管理システム
・オーダー受理システム
・オーダー変更システム
・納期回答システム
DB
DB
生産システム
・生産計画
・工程計画
・仕入計画
・製造指示
・検査管理
DB
DB
資料:企業システムの構成事例
基幹系サーバー
(開発~販売)
スーパー
コンピュータ
出先
データベース
サーバー
LAN
Webサーバー
部門サーバー
P
部品メーカー
販売店
LAN
メールサーバー
LAN
P
LAN
通信サーバー
基幹LAN
LAN
部門サーバー
VPNネット(取引先)
LAN
P
LAN
Web用
P
LAN
工場/物流サーバーP
注:自動車メーカの事例
ファイヤウォール
専用回線
インターネット(世界中)
P
P
P
P
P
LAN
LAN
運輸
銀行
商社
海外工場
海外出先
海外取引先
P (一般利用者のパソコン)
3) データベースシステムの構成
① ② ③ の部分から成り立っている。
③
アプリケーション
②
D
B
M
S
DBMS(DBサーバ)
DB定義
機能
データ操
作機能
ユーティリ
ティ機能
データアクセス制御機能
定
義
ロ
グ
データベース
①
デ
ー
タ
ベ
ー
ス
デ
ー
タ
ベ
ー
ス
シ
ス
テ
ム
① データベース
データベースの定義
・組織体の、統合化された共有の情報資源。
・種々の利用を可能とするために、
DBMSの管理下で、データを体系化し、
電子媒体に記憶させ、
必要時に、効率良く利用できる状態に
保たれたデータの集合である。
② DBMS
・DBサーバともいう。
・特定のモデリング方法に基づき、
データベースを定義し、
データへのアクセスを実現し、
データの一貫性や機密保護などを
総合的に制御、管理するものである。
注:DBMS
(Data Base Management System)
③ データベースシステムの定義
• 多義語であるが、
データベース、
DBMS、
データベース使用アプリケーション
をあわせた全体を示す広義の用語。
• 三つの用語が、混在して使われるので注意。
資料:個別ファイルからデータ共有へ
プログラム1
ファイルA
の定義
プログラム3
ファイル
A
データA
指定
データAの定義
プログラム4
データBの定義
データA
指定
プログラム2
ファイルA
の定義
ファイル
B
データA
データB
指定
ファイルB
の定義
ファイル管理システム:
データベース:
プログラムごとに作成
データを共有する
データB
資料:データベース誕生以前の問題点
データの重複
・サブシステム毎、プログラム毎に、
専用のファイルを作成しており、データの重複
が著しい。
開発シス
テム
購買シス
テム
生産シス
テム
売上シス
テム
商品ファ
イル
商品ファ
イル
商品ファ
イル
商品ファ
イル
資料:データ重複による問題点
• データ量の増大→保管費用の増大
→データ更新の工数が増大
• データの不整合→部門間で業務が繋がりにくい
• 類似データの存在→データの変換が必要
• システム変更が複雑→システム維持費用の増大
• データ取出方法のバラツキ→同上
以上は、過去のことだけでは無く、SEレベルに依存
資料: データ共有化の問題
• 同時にファイル利用する場合に、
-更新前後でデータ内容が異なる
-そのため、ファイル利用時には
トランザクション制御が必須となる
• ファイル障害発生時に、その影響範囲が増大する
-機器障害時、故意の破壊時への対応として
-DB障害対策が必須となる
資料: データベース発展の経緯
発展の軸
・データの構造表現、種類のありかた
-いかに、より多くのデータを取り扱えるか?
・データベースの操作性の向上
-データを如何に扱い易くするか?
・データベースの管理方法
-データの同時更新、障害回復、機密保護
資料: データモデルの発展経緯
ファイルシステム
第1世代
1960年代
第2世代
ネットワーク型
階層型
リレーショナル型(データ独立)
1970、1980年代
意味モデル
第3世代
複合オブジェクトモデル
オブジェクト指向データベース
オブジェクト指向言語
(データ+操作)
1990年代
第4世代
知的データベース(人工知能、情報検索)
資料:リレーショナル型のDBMS
:IBM(DB2、SQL/DS、Infomix)
:富士通(AIM/RDB)
:NEC(RIQS)
:日立(RDB1)
:オラクル社(Oracle)
:マイクロソフト(Windows-Server、ACCESS)
: Sybase社(Sybase)
当実験で使用する
:Sunマイクロ社( MySQL )
:オープン開発(PostgreSQL)
4) 3層スキーマ
• 概念スキーマ(conceptual schema)
-データベースの論理構造を定義したもので
変更の影響を減らしたい。
・ 外部スキーマ(external schema)
-プログラムから見たデータベースの構造を
記述するもので推奨されるDB使用法。
Viewともいう。
・ 内部スキーマ(internal schema)
-コンピュータ上に実装されたデータベース
の物理的な格納方法を記述するもの。
注:Schema(図式、概要)
3層スキーマの図示
外部
プログラムA
スキーマ
概念スキーマ
プログラムB
―
外部
内
部
ス
キ
スキーマ
物理
DB
マ
外部
プログラムC
スキーマ
View
サブスキーマ
論理DB構造
スキーマ
格納方法
当実験の対象
5) データベース設計の順序
システム設計の順序
① システム化要件の洗い出し
②データベース設計
・データ項目の収集、分析
・DBMSの選択
・論理DBの設計(概念スキーマ)
・物理DBの設計(内部スキーマ)
・DBビューの設計(外部スキーマ)
・アプリケーションの設計・開発
・データベースシステムの運用・保守
1回目の対象
論理DBの設計順序
• データ分析(データ抽出と吟味)
• 論理DB構造の作成
・正規化 (キー項目の検出、重複項目の排除)
・ERモデリング (キー項目間の関係)
・論理DB構造図 (全体構造を決定)
• データ量の分析、予測
• データ更新方法の分析・設計(頻度、タイミング)
• データ検索方法の分析・設計(キー、タイミング、量)
(注:朱筆部分が実験1回目の対象)
2. 実験1:キー項目を求める
キー項目の重要性:
• キー項目を中心にしてDBを設計する
・リレーショナル型では、Table設計の出発点。
・Tableとはキー項目に関する情報を集めたもの。
・学生名簿Table(学籍番号、氏名、住所、出身高校・・・)
・商品Table(商品番号、商品名、商品価格・・・)
• ER図のR(リレーション、関連)とは、
キー項目間の関係をあらわしたもの
・受講届(学籍番号キーと科目番号キーの関連である)
・売上伝票(商品番号キ-顧客番号キーの関連である)
課題1-1:キー項目を求めよ
学生名簿
学籍番号、氏名、住所、出身高校
商品一覧
商品番号、商品名、商品価格
住所録
氏名、〒、住所、電話番号、勤務先、
勤務先住所、勤務先電話番号、分類
給与明細
社員番号、年月、給与総額、支払額、
控除額(税金)、控除額(社会保険)
方法:キー項目を○で囲む。(理由も書く)
留意:キー項目は一つとは限らない
課題1-2:キー項目を求めよ
受講届
学籍番号、学部、学科、科目コード、
年度、再受講区分
生産計画
製品番号、工場コード、年月日、
生産個数
在庫台帳
倉庫コード、商品番号、在庫数、
年月日、受入検査担当
列車の座席予約 列車コード、号車、座席位置、年月日、
区間(From駅とTo駅)、始発駅、空席
留意:前提を検討しないとキー項目が決まらない場合がある
例、同じ製品を作る工場が1つか複数かなど
3. 実験2:論理DB構造の作成
以下の手順で進める。
3-1.
データ
収集
データ
正規化
ER図
(Table)
・重複をなくす
実験では済み
3-2.
・関係を見つける
・モレているTable
を追加する
3-3.
論理DB
構造図
・データ項目を
網羅する
・データ属性を
決める
データ収集
現行の帳票、画面を集める。
(事例) 社員スキル管理表
社員
社員
番号
社員
氏名
組織 組織 管理 スキル スキル 経験 スキル
コード 名
者名 コード 名
年数 レベル
3-1. データ正規化
データ正規化とは:
帳票、画面といった「情報の完成品」から
適正な単位のデータの組として「データの部品」
を作成する作業である。
(最小のデータ量でデータを保持するためのプロセスといえる。)
・メリット:データ項目の重複がなくなる。
その結果、データの更新、追加、削除に
ムダがなくなり、
データ間の整合を保ちやすくなる。
第1正規形のための着眼点
(例) 社員スキル管理表
社員
社員
番号
社員
氏名
キーに着目
組織 組織 管理 スキル スキル 経験 スキル
コード 名
者名 コード 名
年数 レベル
第1正規化で使う
繰り返し項目に着目
① 第1正規形
・データ項目の重複を持たない。
・つまり、キー以外は繰り返しのデータ項目を持たせない。
(これ以上分解できないデータ項目のみで構成。)
社員=社員番号+社員氏名+組織コード+
組織名+管理者名
保有スキル=社員番号+スキルコード+スキル名+
経験年数+スキルレベル
第2正規形のための着眼点
社員=社員番号+社員氏名+組織コード+
組織名+管理者名
保有スキル=社員番号+スキルコード+スキル名+
経験年数+スキルレベル
第2正規化で使う
キーの一部である
スキルコードに従属
② 第2正規形
・キーの一部分に従属しているデータ項目を分離。
・結果、キー以外の全てのデータ項目がキーに従属
社員=社員番号+社員氏名+組織コード+
組織名+管理者名
保有スキル=社員番号+スキルコード+経験年数
+スキルレベル
スキル=スキルコード+スキル名
第3正規形のための着眼点
社員=社員番号+社員氏名+組織コード+
組織名+管理者名
組織コードに従属
第3正規化で使う
保有スキル=社員番号+スキルコード+経験年数
+スキルレベル
スキル=スキルコード+スキル名
③ 第3正規形
・キー以外のデータ項目同士の従属関係を分離。
社員=社員番号+社員氏名+組織コード
組織=組織コード+組織名+管理者名
保有スキル=社員番号+スキルコード+経験年数
+スキルレベル
スキル=スキルコード+スキル名
④ データ正規化結果
社員スキル管理表
正規化前
社員=社員番号+社員氏名+組織コード
正規化後
組織=組織コード+組織名+管理者名
保有スキル=社員番号+スキルコード+経験年数+スキルレベル
スキル=スキルコード+スキル名
正規化後では、データの重複が排除できた。
キー以外の
⑤ 正規化の効果
R1
社員=社員番号+社員氏名+組織コード
R2
組織=組織コード+組織名+管理者名
保有スキル=社員番号+スキルコード+経験年数+スキルレベル
R3
スキル=スキルコード+スキル名
R4
正規化結果のDBを使用して、誰でも容易に、いろいろな情報を作成できる。
社員スキル管理表
組織別社員スキル管理表
R2→組織表
スキル別社員スキル管理表
R3→スキル一覧表
特定スキル保有者表
・
・
・
・
・
・
3-2. E-R図
・特徴
・データ正規化の結果を元にして、
・データ本来の意味とデータ間の関連を見出し、
・データ固有の構造と特性を把握する。
・それによりデータ構造のモレを無くせる。
・メリット
・管理すべきデータを構造的に理解できる
・独立性が高く冗長性が無いデータを保有
・高品質で安定したシステムおよびDB
の構築が可能となる。
①ER図の表記法
XXXXXXXXXXX
XXXXXXXX
---
エンティティ (実体)
・管理対象となるもの
・Tableの候補
---関連(Relationship)
・エンティティ同士の間にある。
・これもTableの候補
XXXXXXXXXXXXXX
---属性(データ項目)
・エンティティ、および関連に含まれる
データ項目である
例示:本来のER図
社員
保有スキル
スキル
所属
社員
組織
例示:事例のER図
社員
所属
社員
組織
保有スキル
スキル
注記:通常は属性を記入すると
煩雑になるので、論理DB構造図で
明記する。
② ER図の作成手順
1.システム化対象の中で、データ正規化
結果を元に、エンティティを決める。
2.エンティティ同士の関連(Relationship)
を見出す。(キー項目の関連に着目)
3.その関連の対応関係を見出す。
(1:1
1:M
M:N)
4.その結果で、属性(データ項目)を漏れなく
まとめる。
これで、論理DB構造図の元ができる。
③ ERモデル作成時の留意点
• データ正規化済みのテーブルを良く吟味。
・データ項目の意味を明確にする。
・キーはエンティティの候補にする。
• 関連は、他のエンティティのキーに着目して求める。
・他のテーブルのキーを持てば、関連がある。
・連結キーを構成するキーは、単独でエンティティと
なりうる。
・ システム化対象領域での、データ漏れを発見し、
エンティティ、関連を追加する。
・ 業務上の常識からみて、矛盾するエンティティ、関連を
見直す。
補足: 常識的なエンティティの求め方
エンティティになりうるもの
・人 :社員、顧客、株主、学生、教員・・・
・組織 :自社組織、特約店・・・
・場所 :本店、支店、販売地区、工場、倉庫、
店舗、配送拠点・・・
・物 :商品、製品、部品、材料、設備、
機器、金、伝票、帳簿・・・
・事象 :受注、発注、入庫、入金、売掛・・・
・概念 :業務、スキル、目標、法規・・・
・要するに、企業、組織にとって関心があり、継続的に
管理の対象になるものである。
(通常、XX係など組織を置く場合は、管理対象である。)
(オブジェクト指向でいうクラスに近似)
3-3.論理DB構造図
•
•
•
•
ER図をもとに、データ項目を列記する。
キー項目を示す。
データ項目のシンボル名(通常は英字)
データ項目の特徴を明示する。
・データ型(文字、整数、実数、10進数)
・長さ(バイト数)、日本語か否か
・初期値(NULL,ゼロ、スペースなど)
(default値があるか)
補足: 論理DB構造図の書き方
・ビジュアルで一瞥性が必要。
社員テーブル
社員番号
K
組織テーブル
(行数=レコード数)
8
英数字
社員氏名
10
漢字
組織コー
ド
5
英数字
住所
100
漢字
配偶者
1
数字
扶養家族
2
数字
入社年月
日
8
数字
基
数
M:1
8
英数字
組織名
10
漢字
管理者名
5
英数字
所在地
100
漢字
人員数
1
数字
組織コー
ド
K
(行数=レコード数)
注1.ここでは、シンボル名、初期値を省略して
書いてあるが、本来は必要である。
補足: ネーミング・ルール
•
•
•
•
•
•
•
•
ユニーク性
(ダブらない)
一瞥性
(分りやすい)
英数字か漢字か (国内のみか海外使用か)
データシンボル名 (DB定義用、通常は8桁)
データ名称
(内容が類推できること)
表示名称も決め る (画面、帳票用)
DB名、View名
(将来の増加を考慮)
類似が増える場合は、full 8桁使わないで空けておく
補足: (続き)
例示: データシンボル名
①名詞法
-部品番号
-商品価格
-顧客番号
②修飾法
-部品番号
-商品価格
-顧客番号
BUHINNO、PARTNO
SHKAKAKU、PRODPRC
KOKYAKUN、CUSTMNO
NOBUHIN、NOPART
KAKAKUSH、PRCPROD
NKOKYAKU、NOCUSTM
(注)日本語、英語を混在させない。
ただし、その組織での慣用語は尊重する。
実験2:課題
下記のテーマについて、論理DB構造図を作成せよ。
データ正規化とER図も提出のこと。
基本通りに、データ正規化、ER図を作成することがポイントである。
実験2 課題の対象システム化テーマ内容
A大学は、受講管理システムの再構築を考えている。
学部は1つ、学科は5学科、開講科目数は500科目、学生数は1万人、
教員数は300人。
主なシステム機能は、受講申請と成績管理。
主要画面、帳票の様式は次ページを参照。
ほかにも任意のデータ検索ができること(学生番号指定で、受講科目内容がわかる等)
注:第2回の実験では、この論理DB構造図を元に実際にTableを作成する。
RENANDI 教材にサンプルあり。
受講管理システムの主な画面、帳票1.
受講届
学科名
学科コード
年度
年次
学生番号
氏名
住所
郵便番号
カナ氏名
電話
教員
期
曜日
時限
更新日
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
(今期の申請分が表示される)
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
科目名
科目コード
発行年月日
受講管理システムの主な画面、帳票2.
個人別成績表
学科名
学科コード
学生番号
年度
氏名
住所
郵便番号
カナ氏名
電話
教員
年度
年次
期
評価点
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
(過去分すべてが表示される)
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
科目コード
科目名
発行年月日
ヒント:
•
•
•
•
画面、帳票中のデータ項目を元にする。
繰り返しのデータ項目に着目する。
第3正規形までやってみる。
エンティティには何があるかを考える。
(学生、科目、教員などは管理対象である)
• リレーションには何があるか考える。
(受講科目は、学生と科目の関係である・・・)
• データ型、長さ等は妥当なものを仮定をする。
• データ項目シンボル名は英数字を使うこと。
4.第2回目の準備
• Windows版のMySQLをインストールする。
• 次ページ以降の手順に沿って実行すること。
・MySQL のインストール
・MySQLのコンフィギュレーション
・文字コードの設定(sjis)
・コマンドPATHの登録
・MySQL起動の確認
• インストール確認まで確実にやること。
(時間中にできない場合は、次回の実験日までに
必ず済ませておくこと。)
MySQLインストール(Windows版)
1)RENANDI 教材から「mysql-essential-5.0.86-win32.msi」をダウンロードし
適当なフォルダに入れる。
2)Cドライブ直下にフォルダ「mysql」 を作成しておく。
3)このファイルをダブルクリックして、自動インストーラを開始する。
開始画面
必ず、
Cドライブ直下にインストールする。
開始画面が出たら、Nextへ。
COSTUMを選んで、Nextへ
←ここはそのままで
←Changeボタンを押して、Nextへ
フォルダを選ぶ画面から、2)で
作成した「mysql」を決定する。
インストール先がmysqlに変わった
ことを確認して、Nextへ。
←インストール準備ができたという画面
これを確認して、Nextへ。
(=costumでc:\mysql に設置する)
これからインストールが始まる。
(2分程度)
←企業向けの宣伝画面が1、2出る
が、何もせずに、Nextへ。
MySQLサーバの構成を設定する画面
VISTAの場合は、チェックをはずして、
Finishへ。
WindowsXPの場合は、チェックをつけ
たままで、Finishへ。(コンフィグレー
ションが始まる。)
WindowsXPの場合
VISTAの場合は、
・手動でコンフィグレーションを開始する。
・Windowsのファイヤウォールを一時的に
無効にしておく。
・スタート→すべてのプログラム→MySQL
→MySQL Server5.0
→MySQL Server Instance Config
Wizardをクリック。
この画面が出たら、Nextへ。
この画面では、
Standard Configurationを選び、
Nextへ。
これを選ぶ。
このままでよい。
Launchにチェックを入れる。
(Windows起動時に
MySQLサーバが自動起動される。)
(チェックをしなければ、手動起動。)
Nextへ。
チェックを入れ、
ルートパスワードには自分の名前でも
入れておく(絶対に忘れないこと!!)
例: suetsugu
Nextへ。
ここからコンフィグレーションが始まる。
真ん中のExecuteボタンを押す。
少し待てば、
自動的に、順にチェックがついてゆく。
このメッセージがでれば、
Finishボタンで、
インストールが完了する。
これで、インストールが完了です。(お疲れさんでした。)
次に、クライアントとサーバの
文字コードを「sjis」に変えておく。
my.ini をTeraPadかメモ帳で開き、
# CLIENT SECTIONにある57行目を
default-character-set=sjis に、
# SERVER SECTIONにある81行目を
default-character-set=sjis
パソコンを再起動すれば、上記の変更が
反映される。
(今は再起動しなくともよい。
次回までで良い。)
最後に、Windowsの
コマンドPATHを設定する。(1)
コントロールパネルで、
「システムとメンテナンス」を選び、
「システム」→「システムの詳細設定」
をクリック。
「システムのプロパティ」→
「詳細設定」タブを選び、
「環境変数」
を押す。
最後に、Windowsの
コマンドPATHを設定する。(2)
「システム環境変数」で、
「Path」をえらび
「編集」ボタンを押す。
Path編集の経験が無いものは、
先に次ページを実行しておく
「システム変数の編集」で、
選択で青色になった部分に
カーソルをおいて、必ず全体の選択を
解除(白色)し、一番後ろの部分に、
PATHを記入し、OK。
(変数値の最後に、
MySQLの実行ファイルがある
フォルダを記入する。
;C:\mysql\bin
(;は変数値のセパレータである。)
(注)Path変更の経験が無ければ、
用心のために、変更前のPath変数
値の内容をメモ帳に保存しておくと
良い。
(失敗しても元に戻せる)
(例示)保存したWindows コマンドPath の変数値
C:\Program Files\Autodesk\Maya 8.5 Personal Learning
Edition\bin;C:\Perl\site\bin;C:\Perl\bin;C:\PROGRA~1\JUSTSY~1\JSLIB32;%System
Root%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\program
files\java\jdk1.6.0\bin;C:\Program Files\pcdNavi\bin;C:\Program Files\Common
Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio
Shared\9.0\DLLShared\;C:\Program Files\Common Files\Ulead
Systems\MPEG;C:\Program Files\Fujitsu\sadata;C:\Program
Files\Java\jdk1.6.0\bin;C:\Program Files\Rational\common;C:\Program
Files\QuickTime\QTSystem;C:\gnuplot\bin;C:\php5;C:\php5\ext;C:\mysql\bin;c:\borla
nd\bcc55\bin;
ここからは、MySQLが正常に
稼働していることを確認する。
コントロールパネルで、
「システムとメンテナンス」を選び、
「管理ツール」を選択する。
出てきた「管理ツール」画面で、
「サービス」をクリックする。
「サービス」で、「MySQL」が
自動で開始されていることを
確認する。
実際にMySQLクライアントを
使ってみて、動けばOK。
C:\Windows\system32>cd c:\
c:\>cd mysql/bin
c:\mysql\bin>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor.
Commands end with ; or \g.
・
・
Type 'help;' or '\h' for help. Type '\c'
to clear the current input statement.
mysql> select now();
+---------------------+
| now()
|
+---------------------+
| 2009-10-27 02:20:52 |
+---------------------+
1 row in set (0.03 sec)
mysql> exit
Bye
① コマンドプロンプトを起動して、
cd でMySQLクライアントの実行
ファイルが入っているbinフォルダに
移動する。
② MySQLクライアントの実行ファイル
を起動する。
mysqlが実行ファイル名。
-u root でuserを指定する。
-p がpassword を入力する指定。
次いで、パスワードを入力する。
(各自が設定したパスワード)
これでプロンプトがmysql>に変わる。
③ select文を入れて実行させる。
now(); 関数を動かす意味である。
mysqlコマンドは;で終わること。
④ mysqlクライアントを終了する。
exit または\q で終了する。
MySQLのインストール、確認が完了!!
•
•
•
•
•
インストール
文字コード変更
コマンドPATH 変更
稼働確認
クライアントの実行
以上で、準備はすべて終わりました。
次回からは、MySQLクライアントをroot
ユーザーで使い、DB生成、Table生成、
Tableの更新、検索、importを実地に行う。
5.レポートのまとめ方(再掲)
以下の項目を必ず含めること。
1) データベースの設計手順について記す
2) キー項目の2課題
3) データ正規化、ER図、論理DB構造図
4) MySQLをインストールした時のキャプチャ画像
フォルダ構成、実行時のcdとselect now() 。
5)感想
6)考察
注:必ず手書きのこと(理由:文章を書く訓練になる)。
実験時間内に完了できなかった者は、別途集まって、
進めておくこと。
6.参考書・参照URL
DB設計に関する書籍はあるが、実践が重要である。
• 林 衛「ERモデルによるデータベース設計」(SRC)
• 鈴木昭男「実践 データベース設計バイブル」(SRC)