• ベストアンサー

DBのカラム名の区切りはアンダーバー、それとも大文字ですか?

DBのカラム名の区切り文字ですが ・アンダーバー ・大文字 ・Java方式 のどれがお勧めでしょうか? ・category_name ・CategoryName ・categoryName 優柔不断で悩んでいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 アンダーバー方式は、SQL書く時に面倒くさい・・・。 JAVA方式は、ソースを見る時に紛らわしい・・・。 CapsInit方式は、書くのも見るのも楽だけど、内部的には大文字小文字は区別してないので、あんまり意味がない・・・。 かく言う私は、アンダーバーばっかり使って文句言われますが・・・(PGに)。 (^^ゞ

natsuyori
質問者

お礼

やっぱりアンダーバーなんですね。 ありがとうございます。 実は私もいつもアンダーバーにしています。 入れると予約語と同一には絶対にならないので(^^;) アンダーバーは面倒な意識はなかったです。 単語が長いと名前が長くなってしまい迷っていまうけど仕方なしとします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CakePHP テーブル名カラム名の規約について

    CakePHP初心者です。 product(商品) product_category(商品カテゴリ) と言うテーブルがあったとします。 それぞれには、主キーと名称(商品名/商品カテゴリ名)を持つとします。 更に、productにはproduct_categoryの外部キーを持つとします。 これらを規約に合わせると、 // テーブル名 products product_categories // products のカラム id(PK) product_name product_category_id(FK) // product_categories のカラム id(PK) product_category_name に、なると思います。 ここで質問なのですが、カラムの product_name と product_category_name は、 productName と productCategoryName のように、 キャメルケースにする事は、何か問題がありますでしょうか? (主キーや外部キーにならないカラムであっても、 アンダースコア区切りにしないと、不具合やデメリットがあるのでしょうか?) どうぞ、よろしくお願いいたします。

    • 締切済み
    • PHP
  • WHERE カラム名 <> ''の意味

    $result = $db->query("SELECT カラム名 FROM テーブル名 WHERE カラム名 <> ''"); PHPでSQL文を作成しているサンプルがあるのですが、「WHERE カラム名 <> ''」の意味が分かりません。カンマ二つで空文字? これはどういう意味でしょうか? また、<>は何と読むのでしょうか?(検索したいので)

    • ベストアンサー
    • MySQL
  • PHPのPEAR:DBでPostgreSQLを使用時、カラム名でデータが取得できない

    PHPのPEAR::DBのサンプルを公開しているサイトから以下のソースを引っ張ってきて、試してみました。すると、少しおかしな現象が発生したので、ご質問させていただきます。 ------------------------------ $dsn = "pgsql://postgres:pass@localhost/postgres"; $db = DB::connect($dsn); if (PEAR::isError($db)) { die($db->getMessage()); } print('接続に成功しました<br>'); $sql = 'select * from "USER_TBL"'; $res =& $db->query($sql); if (PEAR::isError($res)) { die($res->getMessage()); } while ($row =& $res->fetchRow()) { print($row['ID']); print($row['NAME'].'<br>'); } ------------------------------ 接続は問題なかったのですが、データベースからデータを取得する「print($row['ID']);」の部分が動かず、<br>だけ出力されてしまいます。IDのカラム名をダブルクォーテーションで囲っても、値が出てきません。ところが、print($row[0]);などのように、数値を指定してやると、その部分が出力されます。 また、カラム名を小文字に変えてみたりもしましたが、やはりそれでもデータは取得できませんでした。 理由がよく判らないのですが、カラム名でデータを引っ張ってきたいと思います。解決方法はありませんでしょうか?

    • ベストアンサー
    • PHP
  • SQL構文でカラム名をハッシュのキーに

    PerlをDBIでMySQLに接続しています。 MySQLの“country”テーブルに“name_en”カラムがあり、これをハッシュのキーにして、 下記構文で“name_jp”カラムに文字列を挿入しようとしたのですが、 ----------------------------------------- $sth = $dbh -> prepare ("update country set name_jp = \'$name{name_en}\' where id between 1379 and 1396"); ----------------------------------------- 結果は何も入りませんでした。 カラム名をハッシュのキーにするには、どう書けばいいのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Perl
  • 空文字

    プログラム初心者です 空文字をdbに入れた場合、dbのカラムの値はなしになるのでしょうか? それとも、見えないけどなにか入ってしまうのでしょうか? nameが空文字の場合 $name = $_POST['neme']; UPDATE table SET name=$name WHERE id=1 空文字はNULLを指定した場合と同じ結果になりますか? UPDATE table SET name=NULL WHERE id=1 よろしくお願いします

    • ベストアンサー
    • PHP
  • MySQLで日本語カラム名を使いたいのですが

    当方の質問に興味をもっていただいてありがとうございますm(__)m 当方未熟ながらJAVAプログラマーを職業にさせていただいておりまが、この度MySQLを使用した日記WEBサイトを構築することになりました。しかし、日本語カラム名を使用したく困っております。 環境はTomcat5.5、MySQL5.1(ベータ)、JDBCは5.1、Eclipseは3.2です。 カラム名を英数字にすれば至らぬ私の技量でも問題ない案件なのですが、オラクルしか使用したことのない私には未知の領域です。 日本MySQL協会の「徹底入門」、DBの「現場で使えるMySQL]等の書籍は網羅したつもりですが、どうにも問題解決策を見つけることができませんでした。 もし解決策をご存知の方がいらっしゃりましたらば、お手数ではありますがその方法を教えていただけないでしょうか? 私が悩んでいるのは「WEBアプリからDBにSQLを投げた際、SELECT 日本語 From テーブル とし、JAVA側で「getString(”日本語”)」が使えないことです。 JDBCそのものの問題なのでしょうか?? よろしくお願いいたします。

  • Ruby on RailsでDBカラムにハイフン

    初歩的な質問で恐縮です。 Ruby on Rails でDBのカラムにハイフンは使えますでしょうか。 多言語対応で中国語などを扱っているのですが、 カラム名が name_zh-tw のようなものがあるのですが、値が取得できずに困っております。。 例) Items テーブルに name_zh-twがある場合。 @item = Items.find_by_i(1000) @item.name_zh-tw =>NoMethodError: undefined method `name_zh' for #<Item:0xb605f364> のようになってしまいます。。 また、上記以外の箇所でもダブルクォートで囲ったら大丈夫な場合がありますが、ログには警告がでます。これは仕方ないのでしょうか。。 [WARN] Exception occurred during reader method compilation. [WARN] Maybe name_zh-tw is not a valid Ruby identifier? [WARN] compile error ----- 環境は以下の通りです。 何卒よろしくお願いいたします。 Ruby1.8.7 Rails2.3.15 MySQL5.5

    • ベストアンサー
    • Ruby
  • カテゴリのDB設計について

    お世話になります。 商品データとカテゴリテーブルをそれぞれ分けたデータベースを作っており、JOINで該当カテゴリ名を抽出しています。 しかし商品によって複数のカテゴリに属する(カンマ区切りで「1,2,3」というように現状格納しています)場合、それらのすべてを拾ってくることは可能でしょうか? またカテゴリひとつひとつに対して商品データ内にカラムを用意するべきでしょうか? select `shop`.no, left outer join list_category on `shop`.category=`list_category`.no (現状) どうぞよろしくお願い致します。

    • ベストアンサー
    • MySQL
  • SQLでデータを整形して取得可能でしょうか?

    ■testテーブル |pk|file_name +--+-------------+ 1 |55_ファイル名 2 |56_ファイル名 のうようにMySQLのカラムにデータが入っているのですが、file_nameを 最初の数字とアンダーバーをカットした、ファイル名の文字列を SQLで取得したいのですが、何らかの書き方で実現できるでしょうか? REGEXPという関数があることまではわかりましたが、 私の頭では難しくてわかりませんでした・・よろしくお願いします。

  • VB2008 SQL Server のDB名一覧

    VB2008 で開発をしています。 SQL ServerからDB名の一覧を取得する処理で、うまく行かず悩んでいます。 ロジックは以下の通りです。 Dim cnString As String Dim Scn As ADODB.Connection Dim Srs As ADODB.Recordset Scn = CreateObject("ADODB.Connection") cnString = "Driver={SQL Server};" cnString = cnString & "Server=" & strServerNM & ";" cnString = cnString & "UID=" & strServerUID & "; Pwd=" & strServerPassWD & ";" Scn.Open(cnString) Srs = Scn.Execute("SELECT NAME FROM sysdatabases ORDER BY NAME ;") If Srs.RecordCount = 0 Then   MsgBox("データベースが存在しません。") Else   Do Until Srs.EOF = True     MsgBox(Srs.Fields("Name").ToString)     Srs.MoveNext()   Loop End If   実行すると、DB名ではなく、"System._ComObject"という文字が複数回(おそらくDBの数)表示されます。   どなたかおわかりになる方、おられましたらよろしくお願い致します。