一般論というか基本的な考え方として,
データベースの中にいくつかテーブルがあって,それぞれリレーション張られていなません。
このときに同じフィールド名を使用することは好ましくないでしょうか?
少し具体的に書くと
例えばアクセスで
DB1.MDBというデータベースの中に
Aテーブル,Bテーブル,Cテーブルとあったとして
Aテーブルの中でNameIDというフィールドを作ったとします。
次にBテーブルを作成していて,またNameIDというフィールド名を使うということです。
このようなデータベースは,
どんなデメリットメリットが予想されるか教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
メリット
名前を統一するので、同じ項目のフィールド名を統一できる。
フィールド名をみただけで内容が想像できる
デメリット
どのテーブルの項目か、すぐに判断できない
→A.NameID,B.NameIDというふうに修飾することで回避可能。Accessで生成されるSQLは通常この形。
とくにデメリットは感じません。というか、統一すべきだと思いますが。
リレーションは特に関係ないかと。
No.4
- 回答日時:
同じ名前は良く使われます。
用法を誤らなければ問題ありません。もし、実際にNameIDをフィールド名に使用することを考えているならば、以下の点に注意する必要があります。
NameID は汎用性がありすぎますので <data domain name>ID にすることを勧めます。
・AテーブルとBテーブルの内容が似ている場合、テーブルを結合できると勘違いする可能性がある。
・AテーブルとBテーブルが他のキーで結合される場合、意味の違う同じフィールド名が複数登場するので判読しにくくなる。
みなさま,参考になりました。
ありがとうございました。
結論としては特に問題ないとのことですね。
むしろ普通という印象を受けました。
ありがとうございます。
No.3
- 回答日時:
>同じフィールド名を使用することは好ましくないでしょうか?
別に普通です。
例えばAテーブルのNameIDはA0001の様にテキスト型でBテーブルのNameIDは1で数値型のようなデータ型が違うような使い方は好ましくありません。(通常はしませんが)後々リレーションしたりする必要が出た場合など変換した後にJOINしたりと不都合が出ます。
同じフィールド名で同じデータ型で揃えて別テーブルで使用するのは全然問題ありません。
リレーションを取らなくてはいけなくなった場合など同じ構成ならエラーなく直ぐに出来ます。
No.2
- 回答日時:
複数のテーブルで同じフィールド名を使用するのは一般的に行われています。
この場合、大抵は検索キーだったり、リレーションキーだったりします。
データベース的にはメリットもデメリットもありません。
どちらかというと、そのDBを使用してプログラム/システムを作成する側の都合でどうでもしてよい部分です。
(つまり、データの目的がわかりやすいような名前を付ける。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) Notion@リレーション値の取得について 1 2023/06/28 10:27
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
警察はスマホに保存した動画や...
-
データベースファイル(.db)を開...
-
コンピュータ用語、データベー...
-
QRコードとバーコードについて
-
c言語の問題です。これを踏まえ...
-
更新クエリをリンクデータベー...
-
ファイルが壊れて読み取れませ...
-
汎用カード型のデータベースソ...
-
Microsoft Accessについて
-
データベースソフトの「TCARD f...
-
マクロの別シートのデータ振り...
-
android版のMs accessはありま...
-
DBのタイプの指定とサイズにつ...
-
リスト形式の表とデータベース...
-
Q&Aフォームを作成したいのです...
-
「1004:アプリケーション定義...
-
Notion@リレーション値の取得...
-
Accessのリンクテーブルについて
-
CDデータ 泣き寝入りするしか...
-
googleフォームでインストール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
Accessを開きなおすとテキスト...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
エクセルのフィルタ抽出が固まる
-
CSVファイルでテキストの改行の...
-
構文エラー:演算子がありませ...
-
Accessフォームからパラメータ...
-
20万行あるデータを動かしたい
-
Accessのリンクテーブルについて
-
コンピュータ
-
最新の日付とその金額をクエリ...
-
データベースとウェブ(WWW)の共...
-
更新クエリをリンクデータベー...
-
「1004:アプリケーション定義...
-
リスト形式の表とデータベース...
-
android版のMs accessはありま...
-
Excelフィルタ抽出で「検索して...
-
縦書きテキストボックスの表示"...
-
Notion@リレーション値の取得...
おすすめ情報