[前][次][番号順一覧][スレッド一覧]

mysql:6924

From: shogo <shogo <sho@xxxxxxxxxx>>
Date: Sat, 01 Feb 2003 14:06:03 +0900
Subject: [mysql 06924] Re: SQL 文について(仮)

河瀬です。

松枝さんの仰るとおり、

 ・バージョン依存
 ・ベンダー依存

という点まですべて踏まえた考え方をするのがBESTだとは思います。
が、

 ・質問した方の記述から、MySQL 3.23.6以降であることは明白である
 ・このMLが(高度な技術を持っている人が思っているより)初心者の方が多い
 ・このMLが「システム設計」のMLではなく、「MySQL」のMLである

ということを考えての返答をするべきじゃないか、と思ったまでです。

松枝さんの仰り様だと、まるでそう言った書き方が「間違っている」とでも
言えるような内容でしたので、質問させて頂きました。

ただ一点。
TINYINTを使用しているのには投稿者にもきちんと意図がある(と思うべき)
なのではないでしょうか。MySQLのドキュメントにも、入るべき値に即した
最小の型を使うのが望ましい、と言ったような記述がありますし、
あそこであえて指摘する点ではなかったと思いますが・・・
(それこそ、あまり理解してない型が「TINYINT=悪」とも取れそうな記述だったので・・・


ML account さんは書きました:
>> 次に、バッククォートについて触れていますが、MySQLマニュアルのリファレン
>> スによると MySQL 3.23.6以降では識別子を``'でクォートする、と述べられてい
>> ます。さらに
>> 	注意: 識別子が制限された単語であったり特殊文字を含む場合は、それ
>> 	を使用する時には常に ` (バッククォート) でクォートする必要があり
>> 	ます:
>> との注意書きまで加えられていますが、なぜここでバッククォートの使用をやめ
>> ろ、と仰るのでしょうか
>>
>> さらに、この形でのINSERT文をMySQL3.22.10以降はサポートしていると思います
>> が?(ANSI標準ではないのかもしれませんが・・・
> バージョン依存ですよね?バッククオートもINSERTも。バージョンの指定が無
>い場合、一般的な話をする方が良いと思います。さもなければ、「バージョンい
>くついくつで」と書いて限定を行うと良いと思います。
>
> INSERTで2つの書き方があって、1つは基準準拠、もう1つはローカル限定と
>した場合、何を好きこのんでローカル限定を使う必要があるのでしょう。
>
> 「それ(=tableやuserのような名前)を使わなきゃいけない場面もないとは言い
>切れません」とはどういう場合でしょう。SQLも言語であり、その「プログラム」
>がドキュメントとしての側面を持っている事を考えれば、「やる事は可能」と
>「やる」or「やってよい」の間には相当の隔たりがあるのではないでしょうか。
>
>
>>  ・なぜ、バッククォートを使ってはならないのか
>>  ・なぜ、TINYINTを使ってはならないのか
>>  ・なぜ、MySQLの許容するINSERT構文を使ってはならないのか。
> バッククオートとINSERTについては上に書きました。TINYINTが好ましくない
>理由は、それが必然である理由が見えないからです。厳密なテーブル設計により
>絶対に 256以上のレコードにならないという保証があるならまだしも、そう
>いう限定なり保証なりが存在せず、またテーブル設計に種々の問題がある、ロー
>カル限定の書き方をする、となれば、「ただ何となく」がTINYINT使用の理由と
>考えられるでしょう(ぼくはそう考えました)。
>
>
> 基本的な問題と言ったものは、全て一般的なシステム設計の注意事項だと考え
>ています。技術者のみならず技術マターの話をする場合に「常識」として知って
>なければならないはずのもので、その意味で文献になっているかは疑問です。で
>すが、そういう「常識」が通用しなくなっているのもまた事実で、それが原因
>(の1つ)となっているシステム設計や構築の失敗が、最近特に増えている気が
>しています。その分析を論文に書いて見るのも面白いかと考えます。
>

[前][次][番号順一覧][スレッド一覧]

      6920 2003-02-01 07:23 ["Kondo Tatsuya" <kon] SQL 文について(仮)                    
      6921 2003-02-01 12:15 ┗[ML account <ml@xxxxx]                                       
      6922 2003-02-01 12:38  ┗[shogo <sho@xxxxxxxxx]                                     
      6923 2003-02-01 13:23   ┗[ML account <ml@xxxxx]                                   
->    6924 2003-02-01 14:06    ┣[shogo <sho@xxxxxxxxx]                                 
      6930 2003-02-02 13:47    ┃┗[ML account <ml@xxxxx]                               
      6925 2003-02-01 14:23    ┗[Shingo Yamagai <yama]                                 
      6926 2003-02-01 17:17     ┗[<lavlav@xxxxxxxxxx> ]