WEBシステム開発|PHPとPostgreSQLの開発例|●2_01-開発例について

PHPとPostgreSQLを利用したWEBシステムの開発例を掲載していきます。腕時計 販売サイト my-watch.biz
トップに戻ります

0-このサイトについて
  0_01-運用・製作者について
  0_02-このサイトの対象



2_01-開発例について

 開発環境はうまく構築できたでしょうか。初めから1発でOKという人は少ないんですが・・・・。

 PHPとPostgreSQLの2つの開発例を掲載しますがサンプルとしてで実際の開発例ではありません。
 ただし実際に開発したものが部分的に入ってきます。

 ごく簡単な基本から少しずつ応用へ、規模を大きく、複雑なものへとコンテンツを重ねていきます。
 できるだけ現実味があるようにして、言語の仕様だけを述べる形にはしません。とっつきやすい、そんな形にします。

 最終には自身で資料をあたり、調査を促すところまでいければと思います。

●2_02-簡単な新着情報の開発

 基本的な説明が入りますので少し長くなると思います。

●2_02_01-顧客との仕様の打ち合わせ(要件定義)

 以下は架空の話として述べています、実際にも起こり得るでしょう。

 ある顧客からホームページのトップに出ている新着情報をドリームウェーバーで編集・追加せずにデータを追加するだけで可能にして欲しい要求があったします。要求をまとめると以下になります。

 ・こちらでホームページのトップの新着情報をソフトで編集していたがデータの追加のみでやって欲しい。

 ・どんどんデータを追加できるように、最新の10件だけ表示する。ただし追加したデータは全て残して欲しい。
  残した全てのデータはエクセルなどで見れるようにしたい。

 ・データを渡すのでデータ追加作業は頼みたい。

 ・日付は****年**月**日で、その横にタイトルを付けて欲しい。
  例 : 2007年8月10日 最新の商品が入荷しました!

 ・1日に数回新着情報が発生するかもしれないし、次の情報が出るのにもっと日が空くかもしれない。
  一定していない。とにかくこちらが出した順番通りにその日付で出して欲しい。

 ・スタートは20件のデータを提供する。

 以上、基本的に非常に簡単な内容です。

●2_02_02-決定した仕様の基本設計(基本設計)

 非常に小さい内容で基本設計というボリュームでも無いですが。

 ・サイト全体は国内向けである、日本語以外は必要ない。

 ・データがどんどん追加されるので将来かなり肥大することを予想してデータベースに格納する。

 ・顧客での操作ではなく、こちらサイドなので操作画面は作らずデータベースの管理ツールで入力、削除、編集を行う。ユーザーの閲覧画面は最新10件の検索表示なので1パターンのみ。

 ・インターネットからのデータベース接続の許可を得ている。セキュリティにはほぼ安全。

 ・新着情報の表示日時は厳密でなくてもよい、データを入力した日時でよい。2から3日の範囲なら問題ない。
  ホームページをアップして2、3日告知が遅れても現実的には問題は発生しないから。

 と、結論します。・・・初歩なのでわざと甘くしてますけど。

●2_02_03-開発・詳細設計

 ホームページのトップに新着情報を出力ですが、全てのHTMLを出すのは入門用ではかなりキツイので新着情報を出力するフォーム部分のみとします。

 この画面は こちら になります。

 以下が、HTMLです。初歩からですから、スタイルシート、ジャバスクリプトなどばありません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>新 着 情 報(最近の10件)</title>
</head>
<body>
<font size="2"> 新 着 情 報</font> 
<font size="2">(最近の10件)</font><br>
<textarea name="textarea" cols="50" rows="8"></textarea>
</body>
</html>

<textarea name="textarea" cols="50" rows="8">
進捗情報の展開部分
</textarea>

<textarea name="textarea" cols="50" rows="8"> と </textarea> の間に進捗情報を展開することになります。

 データの項目は以下の2つしかありません。
 ・年、月、日
 ・タイトル名

 主キーに関して

 今回のデータを元にしてデータベースの説明をします。
 「年、月、日」と「タイトル名」で一組ができます。これをレコードと言います。表計算風に行くと1行ですね。
 「年、月、日」、「タイトル名」の各々をデータと呼びます。
 データベース全体の全てのレコード、データを指して単にデータと呼ぶ事もあります。

 レコードには必ず主キーの性格をもったデータが必要です。
 主キーとは、レコードを特定できる性格のデータです。
 社員コード、商品コードなどのようなものです。
 もしこれに相当するデータが提供されたデータに無ければこちらで作る必要があります。
 一番簡単なのは、連番です。しかも、自動的に連番を振ることができます。
 しかし、あまり話を広げると入門用にならないので連番は今回採用しません。

 ・年、月、日
 これを主キーにします。

 えっ、これだと重複するよ!
 と、少しご存知の方は思われたかもしれません。
 
 ここで年、月、日に時間、分、秒まで追加します。ただし表示は年、月、日までです。
 時間、分、秒まで追加すればデータの順番が取れます。

 ここで、今回は連番は取りませんが、
 主キーをどちらにするのが正解なんだ、と思われたかもしれません。
 どちらが正解かはシステムの状況によります。主キー単独での正解はありません。

 データの項目はシステム内部では以下とします。
 ・年、月、日、時間、分、秒 - 主キー
 ・タイトル名
 
 データベース名

 データベースの作成です、まず名前です。
 データベースの構造はごく簡単に書くと、

 データベース
        |-テーブル
             |-レコード
                  |-データ

 となります。
 テーブルとは視覚的に説明すると表計算の表のようなものです。レコードの集合体です。
 テーブルが収まった入れ物がデータベースとなります。

 説明に表計算の表を持ち出しましたが、テーブル内部では表計算の表のようにレコードが順番に並んで入る訳ではありません。表計算とは完全に別物です。

 データベースに名前を今回付けるにあたって「新着情報」と関連を持たせてはいけません。
 新着情報を掲載するサイトに関連させたほうがいいでしょう。ひょっとすると、もっと大きなものかもしれませんが。
 名前の違いでシステムの実行そのものには影響はありません。名称から連想する・・・という範囲です。

 「kaden_hanbai」としました。仮に、家電販売としておきましょう。
 名称には半角英数字を使って下さい。

 データベースの作成

 もし「cse」を起動している場合は終了させておいて下さい。

 Windowsの「スタート」メニュー、「プログラム」、「PostgreSQL 8.0」から「pgAdmin III」を選択して下さい。
 付属している管理ツールが立ち上がります。



 下のメニューから「サーバーの追加を選びます」


 上記の操作により下記のウインドウが出ます。


 下記のように入力します。ローカル接続なのでパスワードは不必要です。
 「記述」は分かり易い名称を付けて下さい。


 右の上に2段目の表示が現れます。


 実を言うと、一番上の×の付いたメニューから接続できるのですが、操作手順の説明で行いました。
 2つとも同じ接続です。

 図の位置でクリックするとメニュー一覧が出ます。


 「データベース」右クリックして「新しいデータベース」を選択して下さい。


 下記のウインドウが出ます。


 下記のように入力、選択して「OK」をクリックします。
 選択されている項目の説明はまだしません、後々と言う事で。


 「データベース」の下に「kaden_hanbai」という新規のデータベースができました。


 「kaden_hanbai」を開いて、「スキーマ」を開いて、「public」を開いて下さい。


 並んでいる項目の意味が現在分からなくても問題ありません。
 こんな感じのものだと、イメージする範囲まででOKです。

 「pgAdmin III」のウインドウを閉じて、終了させて下さい。今回の利用はデータベースの作成までです。

 今度は「cse」を立ち上げて下さい。できるだけ「pgAdmin III」と「cse」が同時に立ち上がっている状況は作らないで下さい。ある処理において実効できない場合があります。

戻る

−− 弊社メイン・サイト −−
ホームページ製作、システム開発はMSweb - 大阪
ホームページ製作・作成、システム開発、サーバー構築・保守にはMSwebをご利用下さい

携帯サイト


−− 弊社姉妹サイト −−
ホームページ製作 発注企業に理解して欲しい内容
ホームページ発注企業、製作会社向けの内容です。

−− 弊社姉妹サイト −−
レンタルサーバー、サーバー構築の情報サイト
サーバー構築、レンタルサーバーなどサーバー関連を調べたい方向けの情報サイトです。

−− 弊社姉妹サイト −−
ホームページ製作 大阪 | 製作手順の紹介−MSweb
ホームページ製作の手順をご紹介しています、デザイン、HTML、スタイルシートなどについて記載しています。

オープンソース・サンプル
MSweb OpenPNE 大阪
オープンソースのSNSです。ご興味があり使用されたい方は、 ID「msweb@msweb.biz」、パスワード「gua8hkj3」で管理ページにログインできます。
管理ページ

オープンソース・サンプル
MSweb ブログ
オープンソースのブログです。ご興味があり使用されたい方は、 ID「admin」、パスワード「bd0e86」で管理ページにログインできます。
管理ページ

オープンソース・サンプル
XOOPS
代表的なCMSのXOOPSです。ご興味があり使用されたい方は、 ユーザ名「msweb」、パスワード「as4g3mz」で管理者でログインできます。

オープンソース・サンプル
EC|CUBE(メイン・ページ)
EC|CUBE(管理ページ)
オープンソースの通販システムです。ご興味があり使用されたい方は、 ID「msweb」、パスワード「fd4upd2」で管理ページにログインできます。

オープンソース・サンプル
Joomla(メイン・ページ)
Joomla(管理ページ)
オープンソースのCMSです。ご興味があり使用されたい方は、 ID「admin」、パスワード「A2gT6B7F」で管理ページにログインできます。

オープンソース・サンプル
SquirrelMail
オープンソースのWEBメールのシステムです、OP25Bの影響を受けません。

オープンソース・サンプル
Mailman
Mailman(管理ページ)
オープンソースの電子メールでの討論やメルマガの配送リストを管理するためのシステムです。 サンプルのため投稿はできません。

Copyright (c) 2007 MSweb All Rights Reserved

腕時計 クロノグラフ(時計)のメンズ専門販売サイトカシオ G-SHOCK、Baby-G(腕時計)専門の通信販売サイトG-SHOCK、Baby-G専門通販サイト 運営ブログ

腕時計 女性専用 販売のladies-watch.biz腕時計 メンズ(男性)専門販売のmens-watch.biz