プロが教える店舗&オフィスのセキュリティ対策術

Perl + PostgreSQL でWEBシステムを作成しております。

まず例を記載致します。

テーブル例:
[ 顧客情報 ]
名前,携帯電話キャリア区分,情報A,情報B,・・・

上記のようなテーブルが存在していたとします。
「携帯電話キャリア区分」のカラムには、'1'か'2'か'3'が入力されます。
1はDoCoMo、
2はKDDI、
3はVodafone
と云う風に決めておきます。

以下質問
キャリア区分に1~3が存在し、数字がそれぞれのキャリア名と結びついています。この携帯キャリア管理をDB上に被参照テーブルを作成しそこで行うか、この程度の項目数とデータ数であれば、テキストデータとして作成し管理しておくか、どちらで行おうか非常に悩んでおります。
そこで皆さんのご意見を参考とさせて頂きたく投稿させて頂きました。

ちなみに私の考えたそれぞれのメリット・デメリットは以下の通りです。
■DB上での管理
全データを一元的に管理できる
柔軟性が乏しい(仮に運用途中でテーブル項目が増えたりしたら面倒)
■テキストデータの管理
バックエンドとの通信がない為処理が早い
DBとテキストでデータ管理が分かれる
柔軟性が高い(オープンソースなんで・・・)

以上です。
よろしくお願い致します。

A 回答 (2件)

個人的には、データを取り出す際に完全にDBに依存できるなら、それに越したことはないと思います。


「$dbh->selectall_hashref(q[SELECT * FROM hoge join fuga on foo = bar])」とかの帰り値をそのまま表示系のルーチンに渡せたほうが楽じゃないですか?
(管理画面とかを作るにしても定型化しやすいし)

>■DB上での管理
>柔軟性が乏しい(仮に運用途中でテーブル項目が増えたりしたら面倒)

テーブルの列をhashとして扱えば柔軟性は十分では?
(列が追加されようが、削除されようが関係なし)

>■テキストデータの管理
>バックエンドとの通信がない為処理が早い

どのみち取り出すときにSQLにするならDBへの接続が必要なので、速度に関してはそんなに変わらないと思う。
(よほどDBに負荷をかけたくないなら別だけど)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

> テーブルの列をhashとして扱えば柔軟性は十分では?
(列が追加されようが、削除されようが関係なし)

確かに・・・

> どのみち取り出すときにSQLにするならDBへの接続が必要なので、速度に関してはそんなに変わらないと思う。

それもそうですね、気づいておりませんでした。

今回私が作成しているシステムに関しては、DB上で一元管理することにいたします。

ご意見ありがとうございました。

お礼日時:2005/07/24 16:06

プログラム中にハッシュで登録しておくのが一番楽だと思います。


何ならそのハッシュのところだけ外部ファイルにして使用するプログラムでインクルードすればいいでしょう。
ハッシュで良いと思う理由は、携帯電話のキャリアはほぼ固定されているもので、頻繁に更新されるわけではないからです。
またテキストファイルとして作成してしまうと、結局それを読み込む処理等が発生してしまいます。
ただ今時のコンピューターは高速ですので、よっぽど大量に処理しなければどれを選んでもたいして変わらないとは思いますが。
ですので作りこみが楽なハッシュをおすすめします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

そうですね、この場合テキストデータより外部ファイルとした方がよいですね。
また、どれを選んでも変わらないという点が悩みどころですね(^^;
ご意見ありがとうございました。
御礼遅れましたことお詫びいたします。

お礼日時:2005/07/24 16:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!