販売仕入在庫管理システム (データベース) 実習 Windows XP バージョン • MySQL, Apache, PHPのインストール • 販売仕入在庫管理システムの インストール 2007年10月26日 2007/10/26 販売仕入在庫管理システム実習 1 使用するオープンソフトウェアのバージョン • MySQL:4.1.21 • Apache:2.0.55 • PHP:5.0.5 • 準備 – もって回るUSBメモリをC直下にすべてコピー – MySQL5.0.15も入っているが、今日は使用し ない 2007/10/26 販売仕入在庫管理システム実習 2 1.MySQLのインストール • まずはコマンドプロンプトで使用できるようにする • 次にWebアプリケーションとして、PHPと連携して 動くようにする • アプリケーションとして、販売仕入在庫管理シス テムを構築する(復元する) 2007/10/26 販売仕入在庫管理システム実習 3 1.1.MySQLのバージョン • 4.1.21 2007/10/26 販売仕入在庫管理システム実習 4 1.2.MySQLのアンインストール • アンインストール 既にインストールしていれば、アンインストール (バージョンに注意、うまくいかないケースがある、 4.1.12から4.1.21はOK、4.0.13から4.1.12はうまく いかない) • サービスの停止 • 「コントロールパネル」、「プログラムの追加削除」、 「MySQLの削除」、「残っているMySQL関連フォ ルダの削除」 • 再起動 2007/10/26 販売仕入在庫管理システム実習 5 1.3.MySQLのインストール • MySQL4.1.21フォルダの中のsetup.exeを実行する – Typical – Skip (コミュニティへのサインアップ) • Configuration – – – – – – – Detail Configuration Developer Machine Multifunctional Database InnoDB Tablespace Setiing (Next) Decision Support(DSS)/OLAP TCP/IP Manual Selecte Default Character Set / Collation sjis (文字セッ ト) – Include Bin Directory in Windows Path (コマンドプロンプ トからの使用) – パスワード “secret” – Finish 2007/10/26 販売仕入在庫管理システム実習 6 1.3.MySQLのインストール • 再起動 • MySQLの確認 – コマンドプロンプトでmysqlを実行 mysql –u root –p Enterpassword secret(root用に設定したパスワード) – 復元するdatabaseをcreateしておく(後で使用) create database whdbprotected; 2007/10/26 販売仕入在庫管理システム実習 7 1.4.MySQLの実行(コマンドプロンプト) • コマンドプロンプトを実行 • MySQLを実行(データベースユーザはrootのみ) mysql –u root – p Enter password: secret と入れる • どのようなデータベースが存在するか調べる show databases; セミコロンに注意 • ダンプデータを復元する場合には、「1.7.2 復元」へ • データベースの作成 create database whdbprotected; use database whdbprotected; • テーブルの作成 product, customer, provide, provider, inventory, rsvtable, warehouse, selorder, seldtl, buyorder, buydtl, 2007/10/26 販売仕入在庫管理システム実習 8 1.5.テーブルの作成(1) • productテーブルの作成 create table product( prdid char(10) primary key, category1 char(20), category2 char(20), category3 char(20), maker char(20), prdname char(20), model char(20), regdate date, deldate date, comment char(40)); • テーブルの確認 show columns from product; 2007/10/26 販売仕入在庫管理システム実習 9 1.5.テーブルの作成(2) • providerテーブルの作成 create table provider( pvrid char(2) primary key, pvrname char(20), tel char(20), fax char(20), email char(20), person char(20), regdate date, deldate date, comment char(40)); • テーブルの確認 show columns from provider; 2007/10/26 販売仕入在庫管理システム実習 10 1.5.テーブルの作成(3) • provideテーブルの作成 create table provide( prvid char(12) primary key, prdid char(20), pvrid char(2), price int(10), regdate date, deldate date, comment char(40)); • テーブルの確認 show columns from provide; 2007/10/26 販売仕入在庫管理システム実習 11 1.5.テーブルの作成(4) • inventoryテーブルの作成 create table inventory( invid char(2) primary key, pvrid char(10), whsid char(2), rstockno int(10), lstockno int(10), regdate date, deldate date, comment char(40)); • テーブルの確認 show columns from inventory; 2007/10/26 販売仕入在庫管理システム実習 12 1.5.テーブルの作成(5) • warehouseテーブルの作成 create table warehouse( whsid char(2) primary key, whsname char(20), tel char(20), fax char(20), email char(20), person char(20), regdate date, deldate date, comment char(40)); • テーブルの確認 show columns from warehouse; 2007/10/26 販売仕入在庫管理システム実習 13 1.5.テーブルの作成(6) • rsvtableテーブルの作成 create table rsvtable( rsvid smallint(5) unsigned primary key auto_increment, prdid char(20), whsid char(2), noi int(10), regdate date, comment char(40)); • テーブルの確認 show columns from rsvtable; 2007/10/26 販売仕入在庫管理システム実習 14 1.5.テーブルの作成(7) • • buyorderテーブルの作成 create table buyorder( buyid int(10) primary key auto_increment, pvrid char(2), totalprice int(10), buystate tinyint(2) unsigned< regdate date, buydate date, buypaydate date, buypaiddate date, shipdate date, shippeddate date, delivdate date, deliveddate date, paytype tinyint(2) unsigned, comment char(40)); テーブルの確認 show columns from buyorder; 2007/10/26 販売仕入在庫管理システム実習 15 1.5.テーブルの作成(8) • buydtlテーブルの作成 create table buydtl( buydtlid int(10), buyid char(10), buydtlstate tinyint(2) unsigned, prdid char(20), noi int(10), unitprice int(10), lineprice int(10), whsid char(2), • テーブルの確認 show columns from buydtl; 2007/10/26 販売仕入在庫管理システム実習 16 1.5.テーブルの作成(9) • • customerテーブルの作成 create table customer( cstid varchar(10) primary, cstname varchar(20), president varchar(20), zipcode varchar(10), address varchar(60), tel varchar(20), fax varchar(20), email varchar(40), cstdep varchar(20), cstperson varchar(20), ourdep varchar(20), ourperson varchar(20), paytype tinyint(2) unsigned, closeday tinyint(2) unsigned, cststate tinyint(2) unsigned, regdate date, deldate date, comment char(40)); テーブルの確認 show columns from customer; 2007/10/26 販売仕入在庫管理システム実習 17 1.5.テーブルの作成(10) • • selorderテーブルの作成 create table selorder( selid int(10) primary key auto_increment, cstid char(10), totalprice int(10), selstate tinyint(2) unsigned, selname char(20), regdate date, seldate date, selpaydate date, selpaiddate date, shipdate date, shippeddate date, delivdate date, deliveddate date, paytype tinyint(2) unsigned, comment char(40)); テーブルの確認 show columns from selorder; 2007/10/26 販売仕入在庫管理システム実習 18 1.5.テーブルの作成(11) • seldtlテーブルの作成 create table seldtl( seldtlid int(10) primary key auto_increment, selid int(10), prdid char(20), noi int(10), unitprice int(10), lineprice int(10), comment char(40)); • テーブルの確認 show columns from seldtl; 2007/10/26 販売仕入在庫管理システム実習 19 1.5.テーブルの作成(12) • テーブルの一覧確認 use whdbprotected; show tables; 2007/10/26 販売仕入在庫管理システム実習 20 1.6.データの入力(1) • 方法1 insert into product set prdid=‘10100’, category1=‘PC’, category2=‘SubNotePC’, category3=‘Driveless’, maker=‘Lenovo’, prdname=‘ThinkPad_X41’, model=‘2525-5AJ’ ; 2007/10/26 販売仕入在庫管理システム実習 21 1.6.データの入力(2) • 方法2(1つのタプルの追加) insert into product (prdid, category1, category2, category3, maker, prdname, model) values (‘10100’, ‘PC’, ‘SubNotePC’, ‘Driveless’, ‘Lenovo’, ‘ThinkPad_X41’, ‘2525-5AJ’) ; • 方法2(複数タプルの追加) insert into product (prdid, category1, category2, category3, maker, prdname, model) values (‘10200’, ‘PC’, ‘SubNotePC’, ‘Driveless’, ‘Lenovo’, ‘ThinkPad_X32’, ‘2672-M8J’), (‘10300’, ‘PC’, ‘SubNotePC’, ‘Driveless’, ‘Lenovo’, ‘ThinkPad_X32’, ‘2672-MUJ’), ; 2007/10/26 販売仕入在庫管理システム実習 22 1.7.データの復元と保存 • USBメモリ →保存フォルダ(DatabaseEngineeringxxxxxx) →dataを復元する C:\DatabaseEngineeringxxxxxx\warehousedata から C:\Program Files\MYSQL\data へコピー ただし、MySQLサービスをとめておくこと コピー後、MySQLサービスを再起動 • dataを保存 C:\MYSQL\data から C:\DatabaseEngineeringxxxxxx\warehousedata へコピー • 上記の方法はうまくいく場合といかない場合があるので、 mysqldumpを使用することを推奨(特にOSがLinuxの場 合) 2007/10/26 販売仕入在庫管理システム実習 23 1.7.1 データの保存 • 保存 • mysqldumpを使用する(特にOSがLinuxの場合)場合の保存方法 Windowsの場合のmysqldumpが格納されているディレクトリを指定す る (PATHが設定されていれば、不要ゆえ、そのままやってみるのもよい) ユーザがrootでパスワードがsecretの場合 (cd c:\Program Files\MySQL\MySQL Server 4.1\bin) mysqldump –u root – – password=”secret” データベース名 > ダンプ 先ファイル名(例 dbdump.txt) パスワードの指定は必ず”で囲む。(’ではだめ)、 ファイル名の後に;をつけない。 • 例: mysqlのwhdbprotectedデータベースをwhdbprotected2007xxxx.txt に 保存する場合 ユーザがrootでパスワードがsecretの場合 (cd c:\Program Files\MySQL\MySQL Server 4.1\bin) mysqldump –u root – – password=”secret” whdbprotected > whdbprotected2007xxxx.txt 保存した日付を入れておく(例 whdbprotected20070220 )と便利 2007/10/26 販売仕入在庫管理システム実習 24 1.7.2 データの復元 • 準備 復元すべきデータベース(例whdbprotected)をDROPしてCREATEし ておく、ユーザがrootで、パスワードがsecretの場合 mysql –u root –p EnterPassword:secret drop database whdbprotected; create database whdbprotected; • 復元(ダンプデータがある場合) コマンドプロンプトのカレントディレクトリの下(またはディレクトリを指 定 C:\)に前記のdbdump.txt(例 whdbprotectedxxxxxx.txt)をコピー mysql –u root –p データベース名 < dbdump.txt Enter Password:secret パスワードがsecretの場合 例1 mysql –u root –p whdbprotected < whdbprotectedxxxxxx.txt Enter Password:secret パスワードがsecretの場合 例2 mysql –u root –p whdbprotected < C:\whdbprotectedxxxxxx.txt Enter Password:secret パスワードがsecretの場合 2007/10/26 販売仕入在庫管理システム実習 25 1.7.3 DBユーザの登録 • 前記の復元はwhdbprotectedの復元のみであり、 DBユーザを登録する必要がある。 ログイン時に指定する。 DB名: whdbprotected DBユーザ名:dbuser01 パスワード:dbuser01 • mysql –u root –p Enter password:secret • grant all on whdbprotected.* to dbuser01@localhost identified by ’dbuser01’; 2007/10/26 販売仕入在庫管理システム実習 26 1.8.データの取り出し • Select文 select * from product where prdid=‘10200’; select prdid, category1, prdname from product; 2007/10/26 販売仕入在庫管理システム実習 27 1.9.データベース、テーブルの削除 • データベースの削除 drop database whdbprotected; • テーブルの削除 use whdbprotected; drop table product; 2007/10/26 販売仕入在庫管理システム実習 28 1.10.テーブルの変更(属性の追加、削除) • 属性名の変更 ALTER TABLE テーブル名 CHANGE 現在のカラム名 新カラム名 データ型; • 属性の追加 ALTER TABLE テーブル名 ADD カラム名 データ型 FIRST; ALTER TABLE テーブル名 ADD カラム名 データ型 AFTER カラム名; • 属性の削除 ALTER TABLE テーブル名 DROP カラム名; 2007/10/26 販売仕入在庫管理システム実習 29 2.Apacheのバージョン • ApacheはWebサーバである 2007/10/26 販売仕入在庫管理システム実習 30 2.1.Apacheのバージョン • 2.0.55 • 古いバージョンのアンインストール • フォルダも削除 2007/10/26 販売仕入在庫管理システム実習 31 2.2.Apacheのインストール • インストール手順 – – – – – – – – – – – – インストール用のファイルを準備(適当なフォルダに) apache_2.0.55-win32-x86-no_ssl.msiをダブルクリック 「Next」 「 I accept the terms in the license agreement」選択 「Next」 Network Domain [localhost] Server Name [localhost] Administrator’s Email Address [[email protected]] 架空のもの ◎for All Users, on Port 80,……. Setup Type [Typical] Next インストール先:デフォルト Next C:\Program Files\Apache Group\Apache2 Install ………. Finish 2007/10/26 販売仕入在庫管理システム実習 32 2.2.Apacheのインストール • インストール手順 – 確認方法 http://localhost/ または(LANが接続されている場合には) http:// IPアドレス でデフォルトの画面表示 – C:\Program Files\Apache Group\Apache2\htdocs – Index.html.ja.iso2022-jp 2007/10/26 販売仕入在庫管理システム実習 33 3.PHPのインストール • PHPはWebアプリケーション向けのプログラミン グ言語 • conf関係設定のため、準備としてTeraPad(テキス トエディタ テラパッド)をインストール USBメモリにtpad089aフォルダあり、 その中のTeraPad.exeをデスクトップにコピー 2007/10/26 販売仕入在庫管理システム実習 34 3.1.PHPのバージョン • 5.0.5 2007/10/26 販売仕入在庫管理システム実習 35 3.2.PHPのインストール • インストール手順 – ファイルの取得、適当なフォルダに php-5.0.5-Win32.zip – ダブルクリックにより解凍(既に解凍済み、フォルダ名:“phpインストール”) – できたフォルダをCの直下に移動し、フォルダ名をphpに変更する フォルダができない場合には、C直下にphpフォルダを作成し、解凍した中身を全 部phpフォルダに移動する – dllをコピーする C:\php\php5ts.dll→C:\WINDOWS\system32 – dllをコピーする C:\php\libmysql.dll→C:\WINDOWS – php.iniファイルの作成 C:\php\php-ini-dist→ C:\WINDOWSにコピーし、 名前をphp.iniに変更する • php.iniファイルの内容変更(修正済みのphp.iniあり、それをコピー) – ;をはずす、インクルードパス 443行 ;include_path= ”.;c:\php\includes” – ドキュメントルートへのパスを設定 450行 doc_root=”C:\Program Files\Apache Group\Apahce2\htdocs” – ;をはずす、mysqlを使うに設定 587行 extention=php_mysql.dll 2007/10/26 販売仕入在庫管理システム実習 36 3.2.PHPのインストール • php.iniファイルの内容変更(前ページからの続き) – 拡張モジュールへのパスを設定 458行 extention_dir=”C:\php\ext” – ;をはずすmbstring 563行 extention=php_mbstring.dll – 101行(旧 Off) output_buffering = On – 429行 (旧 iso-8859-1) default_charset = ”Shift_JIS” – 1115行 mbstring.language = Japanese – 1120行 (旧 EUC-JP) mbstirng.internal_encoding = SJIS – 1123行 mbstring.http_input = auto – 1127行 mbstring.http_output = SJIS – 1134行(旧 Off) mbstring.encoding_translation = On – 1138行 mbstring.detect_order = auto – 1142行 mbstring.substitute_character = none; 2007/10/26 販売仕入在庫管理システム実習 37 3.3.PHP、Apacheの連携設定 • httpd.confファイルの内容変更(修正済みの httpd.confあり、それをコピーする) – C:\Program Files\Apache Group\Apache2\conf ディレク トリ httpd.conf ファイル – 最後に (956行以降に) LoadModule php5_module c:/php/php5apache2.dll (区切りは \ ではなく、ここは / であることに注意) AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps – を追加 – 2007/10/26 販売仕入在庫管理システム実習 38 3.4.PHPの確認 • ドキュメントルートにphpフォルダを追加 – C:\Program Files\Apache Group\Apache2\htdocs \php – phpフォルダに次のプログラムを作成 ファイル名 test.php <?php phpinfo(); ?> – 再起動 – ブラウザから http://localhost/php/test.php – 2007/10/26 販売仕入在庫管理システム実習 39 4.販売仕入在庫管理システム アプリケーションプログラムのインストール • ドキュメントルートにSPIMDesignedフォルダを追 加(ここでDesignedと名付けた意味はスタイル シートを使用するバージョンであることを意味して いる) – C:\Program Files\Apache Group\Apache2\htdocs \SPIMDesigned – USBメモリから復元 DatabaseEngineering2007xxxxフォルダの中にある SPIMDesigned2007xxxxフォルダの中の全てのプログ ラムを 上記SPIMDesignedフォルダの中にコピーする – 確認 http://localhost/SPIMDesigned/login.html を起動 2007/10/26 販売仕入在庫管理システム実習 40 4.販売仕入在庫管理システム アプリケーションプログラムのインストール • クッキーを使えるようにする(2007/10/11追加) • php.ini(USBの中のphp.ini は修正済み) 888行 session.save_path=“c:/Windows/temp 2007/10/26 販売仕入在庫管理システム実習 41 参考書籍 • Spencer K Ogawa 「MySQL/PHP5によるWebデータベース構築」 秀和システム,2005 • 田中ナルミ,阿部忠光,ソフトウェアエイジェンシー監修 「標準MySQL改訂版」 ソフトバンククリエイティブ,2005 • 星野努 「PHP5.0+MySQL5.0で構築する最速Webシステム」 技術評論社,2006 2007/10/26 販売仕入在庫管理システム実習 42
© Copyright 2025 ExpyDoc