アプリ版:「スタンプのみでお礼する」機能のリリースについて

・論理名とコメント構文が分からないので、教えてください

■論理名
・論理名は、内容を分かりやすくするために付ける日本語表記、と思っているのですが、そういう認識で合っているでしょうか?

・論理名は、どこに付けるのでしょうか? テーブル定義書などの設計書にだけ表記するのでしょうか? それとも、SQLの中で「論理名」を付ける場所は決まっているのでしょうか?

・MySQLのコメント内に、「論理名」を記述しても良いのでしょうか?

・「論理名」を付与する場合、一般的に、どこに記述するのか? SQLの中でも記述するのか? について、教えてください


■コメント
・「コメント構文」と、「COMMENT オプション」では、何が違うのでしょうか?
・SQLステートメントの構文解析とは、具体的に何を指すのでしょうか?
・両者の使い分け(どういう時にどちらを用いるのか等)について、教えてください

▽MySQL :: MySQL 5.1 リファレンスマニュアル :: 8.5 コメント構文
  http://dev.mysql.com/doc/refman/5.1/ja/comments. …
>記述されたコメント構文はmysqldサーバによるSQLステートメントの構文解析に適用

▽MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.1.8 CREATE TABLE 構文
  http://dev.mysql.com/doc/refman/5.1/ja/create-ta …
>カラムのコメントは、255文字の長さまでで COMMENT オプションで指定できます。コメントは SHOW CREATE TABLE と SHOW FULL COLUMNS ステートメントによって表示

A 回答 (1件)

■コメント



★「コメント構文」と、「COMMENT オプション」の違い
「コメント構文」は、SQL文を書く上でのコメントの書き方。
処理の結果に対する影響はありません。
「COMMENT オプション」は、テーブルの情報の一つ。
処理の結果、テーブルの情報として書き込まれるため、
SHOW CREATE TABLE と SHOW FULL COLUMNS ステートメントによっていつでも表示できます。


create table table1
/* 日付と文字列各1個の定義をします */
(col1 date COMMENT '日付です',
col2 VARCHAR(10) COMMENT '文字列です'
)
SHOW CREATE TABLE と SHOW FULL COLUMNSをすると、
COMMENT の定義は出てくるけど、/* ・・・ */の内容はでてこない。
## 今手元にMySQLの環境がないので未検証です。

■論理名
>・論理名は、内容を分かりやすくするために付ける日本語表記、と思っているのですが、
>そういう認識で合っているでしょうか?
いいと思います。
他には、すべて論理名で仕様を作成して実装直前で物理名と紐付けするような開発方法をすると
ちょっと違うイメージになるかも。
(内容を分かりやすくするためではテーブル上の項目に同一論理名を複数つけても問題ないが、
 論理名で仕様を作成するなら、テーブル上の項目に同一論理名を複数つけてはいけない!)

>・論理名は、どこに付けるのでしょうか?
>テーブル定義書などの設計書にだけ表記するのでしょうか? 
>それとも、SQLの中で「論理名」を付ける場所は決まっているのでしょうか?
設計書だけでもOK。
既述のコメントオプションやコメント構文のいづれの方法で各コメントに記載してもOK。
開発のルールしだい。

>・MySQLのコメント内に、「論理名」を記述しても良いのでしょうか?
かまいませんし、一般にはコメントに論理名を記述することは少なくないです。
(手間がかかるので一切省くという場合もありますけど。)

>・「論理名」を付与する場合、一般的に、どこに記述するのか?
>SQLの中でも記述するのか? について、教えてください
仕様書だけの場合もあれば、SQLのコメントまでの場合もあれば、
テーブルのCommentオプションまで書く場合もあります。
私の場合は、仕様書だけのことが多いかな。
(内部設計書を見ると、SQLや関数はすべて知っている前提で
 何も考えなくてもSQLを含む、各言語のプログラムソースが書けるレベルにしているので・・・
 というか、プログラムソースの一部分を見て、内部設計書のどこの部分かわからないソースには
 していないからというべきか。
 ・・・項目名のつけ方が、tblACol1,tblAcol2,・・・
   とかと決まっていたならコメントつけたほうがいいかも)
    • good
    • 5
この回答へのお礼

回答内容が、丁寧で大変分かりやすかったです。
おかげで疑問が解消しました!
ありがとうございましたー

お礼日時:2012/07/17 09:00

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す