
漠然としたタイトルで申し訳ありません。
PHPを使用して、フォームに入力された内容をデータベースに書き込もうと思っています。
書き込む内容としては、施設名や(施設名の)都道府県、住所、電話番号、メールアドレスなどです。
データベースを作る際に、上記の情報を一つのテーブルに全て書き込むべきではないのでしょうか?
都道府県は重複する可能性はありますが、他のデータは重複する事は無いと思います。
運用やセキュリティの観点から見ると、テーブルの個数を増やしたほうが良いのでしょうか?
無い知識で質問させて頂きました。
こんなキーワードで調べると良いよ、というご回答でも頂ければうれしいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
PHPの質問というよりはSQLのものですね。
基本は「正規化」です。検索性の問題です。
都道府県で集計したいとか、たとえば東京に施設はいくつあるかとか・・・
を考えると都道府県は普通IDを振っておいて別テーブルに入れます。
まぁIDではなく実際の都道府県名を入れておいても同じですが、
集計単位のことを考えると別テーブルが必要になる場合が多いでしょう。
住所はたいていどの施設も1か所につき1つでしょうから、同じテーブルで問題ないと思いますが、電話番号やメールアドレスは
一つとは限りません。
管理方法を調整しつつ別テーブルにした方がいいかもしれません。
どんな方法をとっても「セキュリティ」は対して変わらないと思います。
どちらかというと検索のしやすさとスピードの問題ですね。
(必ずしも検索がしやすいからといってスピードが速いとはかぎらない、逆も然り)
この回答への補足
ご回答ありがとうございます!
とりあえず1施設に1つの電話番号、1つのメールアドレスという事を前提にしています。
アドバイスのとおり、都道府県を別テーブルにしたいと思います。
オラクルブロンズ程度のSQL文しか分からないので、主キー、外部キーなど設定に多少手間取ると思いますが、初めての複数テーブルに挑戦してみます。
ちなみにメールアドレスはabcde@yahoo.co.jpのような形式で、書き込んで良いのでしょうか?
それともローカル部@ドメイン部のように、2つに分けたほうがセキュリティは高まるんでしょうか?
(同じテーブルに2つのデータがあれば関係無いような気がしますが、どうなんでしょうか。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
結合したテーブルをSUMしたい
-
ExcelのVLOOKUP関数の動作をMyS...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
ADO+ODBCでテーブルに接続する...
-
同一テーブル内での比較(最新...
-
ExcelのMatch関数のようなもの...
-
DB2のSQLコマンドについて
-
異なるテーブルの値を比較テー...
-
MS-AccessからODBCデータベース...
-
SQLiteでソートした結果をファ...
-
テーブル名が可変の場合のクエ...
-
Win版ApacheでAccessのクエリー...
-
マイクロソフトアクセスとSQLサ...
-
ACCESS クエリーでソートの不具合
-
フィールド内のデータの増加に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLサーバに対するSQL文で抽出...
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
結合したテーブルをSUMしたい
-
副問合せを使わずにUNIONと同様...
-
テーブル名が可変の場合のクエ...
-
2つのテーブルをLIKE演算子のよ...
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
PRIMARY KEYのコピー
-
ADO+ODBCでテーブルに接続する...
-
ACCESSのVBAにてExcelに行...
-
同一テーブル内での比較(最新...
-
(SQL)日数の計算
-
ExcelのVLOOKUP関数の動作をMyS...
-
データ無し時は空白行にしたい...
-
必要なテーブルの個数について。
-
複数選択か?単数選択か? テ...
おすすめ情報