Perl + PostgreSQL でWEBシステムを作成しております。
まず例を記載致します。
テーブル例:
[ 顧客情報 ]
名前,携帯電話キャリア区分,情報A,情報B,・・・
上記のようなテーブルが存在していたとします。
「携帯電話キャリア区分」のカラムには、'1'か'2'か'3'が入力されます。
1はDoCoMo、
2はKDDI、
3はVodafone
と云う風に決めておきます。
以下質問
キャリア区分に1~3が存在し、数字がそれぞれのキャリア名と結びついています。この携帯キャリア管理をDB上に被参照テーブルを作成しそこで行うか、この程度の項目数とデータ数であれば、テキストデータとして作成し管理しておくか、どちらで行おうか非常に悩んでおります。
そこで皆さんのご意見を参考とさせて頂きたく投稿させて頂きました。
ちなみに私の考えたそれぞれのメリット・デメリットは以下の通りです。
■DB上での管理
全データを一元的に管理できる
柔軟性が乏しい(仮に運用途中でテーブル項目が増えたりしたら面倒)
■テキストデータの管理
バックエンドとの通信がない為処理が早い
DBとテキストでデータ管理が分かれる
柔軟性が高い(オープンソースなんで・・・)
以上です。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
個人的には、データを取り出す際に完全にDBに依存できるなら、それに越したことはないと思います。
「$dbh->selectall_hashref(q[SELECT * FROM hoge join fuga on foo = bar])」とかの帰り値をそのまま表示系のルーチンに渡せたほうが楽じゃないですか?
(管理画面とかを作るにしても定型化しやすいし)
>■DB上での管理
>柔軟性が乏しい(仮に運用途中でテーブル項目が増えたりしたら面倒)
テーブルの列をhashとして扱えば柔軟性は十分では?
(列が追加されようが、削除されようが関係なし)
>■テキストデータの管理
>バックエンドとの通信がない為処理が早い
どのみち取り出すときにSQLにするならDBへの接続が必要なので、速度に関してはそんなに変わらないと思う。
(よほどDBに負荷をかけたくないなら別だけど)
ご回答ありがとうございました。
> テーブルの列をhashとして扱えば柔軟性は十分では?
(列が追加されようが、削除されようが関係なし)
確かに・・・
> どのみち取り出すときにSQLにするならDBへの接続が必要なので、速度に関してはそんなに変わらないと思う。
それもそうですね、気づいておりませんでした。
今回私が作成しているシステムに関しては、DB上で一元管理することにいたします。
ご意見ありがとうございました。
No.1
- 回答日時:
プログラム中にハッシュで登録しておくのが一番楽だと思います。
何ならそのハッシュのところだけ外部ファイルにして使用するプログラムでインクルードすればいいでしょう。
ハッシュで良いと思う理由は、携帯電話のキャリアはほぼ固定されているもので、頻繁に更新されるわけではないからです。
またテキストファイルとして作成してしまうと、結局それを読み込む処理等が発生してしまいます。
ただ今時のコンピューターは高速ですので、よっぽど大量に処理しなければどれを選んでもたいして変わらないとは思いますが。
ですので作りこみが楽なハッシュをおすすめします。
ご回答ありがとうございました。
そうですね、この場合テキストデータより外部ファイルとした方がよいですね。
また、どれを選んでも変わらないという点が悩みどころですね(^^;
ご意見ありがとうございました。
御礼遅れましたことお詫びいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- ガラケー・PHS 携帯電話の居場所信号の発信タイミング 3 2022/07/27 14:39
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
Postgresのデータ領域の拡張に...
-
2つのテーブルで引き算 postgres
-
SQLServerでの複数テーブルから...
-
同一カラムに複数条件指定
-
VIEWのCOPYってできないんですか?
-
最新レコードを抽出し外部結合...
-
デットロック回避策(autocommit...
-
Postgresqlのレポート機能について
-
単純なselectが遅くなるのです...
-
SQLにて指定日付より前、かつ最...
-
テーブルにcsvファイルをインポ...
-
PostgreSQLの断片化の状況を確...
-
auto_increment型
-
テーブルを作ろうとしたら。
-
Insertで重複となったキーをさ...
-
SQLでUPSERTを一度に複数行やる...
-
異なるデータベースでのINSERT...
-
テーブル定義書作成時のIndex付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
テーブルに存在しない列をselec...
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
PostgreSQLの断片化の状況を確...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
PostgreSQL レコードからアイテ...
-
Postgresのデータ領域の拡張に...
-
Postgresqlのレポート機能について
-
VIEWのCOPYってできないんですか?
-
POSTGRESQL 検索スピードが遅い
-
備品管理のデータベースについて
-
Pythonで2つのデータ(キー無し...
-
最新レコードを抽出し外部結合...
-
postgreSQL カラムの全ての値を...
-
データのマッチングです。お願...
-
重複を許すキーの構文がわかり...
-
テーブルにcsvファイルをインポ...
おすすめ情報