Oracle 質問総合スレ14 (812レス)
上下前次1-新
635(1): 2022/12/19(月)11:36 ID:H4gqv1ey(4/5) AAS
>>630
空文字列はメモリを確保している状態。データファイルだと終端文字が格納されている状態。
636(1): 2022/12/19(月)11:38 ID:H4gqv1ey(5/5) AAS
VBにはサブプロシージャとファンクションプロシージャというものがある。
用語が不正確なやつは無知をさらしているだけ。
637(1): 2022/12/19(月)16:48 ID:??? AAS
>>632
データ構造じゃねーよ、LISPのデータ構造はS式しかない
数値などと同じく文字列が存在するんだよ
638: 2022/12/19(月)16:50 ID:??? AAS
>>634,636
マジでそんな突っ込みして恥ずかしくないの?w
まあ話しそらそうと必死なんだろうけど
639: 2022/12/19(月)17:31 ID:??? AAS
おっ、やってるやってる!
640: 2022/12/19(月)21:13 ID:??? AAS
>>635
さすがボラクルくんw
無知なだけじゃなく頭が悪いww
終端文字www
641: 2022/12/20(火)18:20 ID:GPbhHUoK(1/4) AAS
NULLの存在意義が少しはわかってきたかな?
642(1): 2022/12/20(火)18:24 ID:GPbhHUoK(2/4) AAS
文字列はフェッチして終端まで行って、空だったと判定するのと
文字列をフェチしてすぐにNULLと判断できるデータが入っている
前者は無能極まりない
643(1): 2022/12/20(火)18:27 ID:GPbhHUoK(3/4) AAS
>>637
自分で文字列というものはないと言っている
文字列は文字列という概念を初めから持ったプログラミング言語やデータベースのことをいう。
メモリのデータが文字、連続したメモリのアドレスに格納されているデータが文字というのは文字列という概念を持っているプログラミング言語ではない。
644(1): 2022/12/20(火)18:35 ID:GPbhHUoK(4/4) AAS
文字列が格納されているメモリの先頭アドレスに文字列長を持たせるのも同じように思うかもしれないが、
ゴッド博士のデータベースの考え方は、値がないなら値がないとはっきりわかるようにすべきというもの。
空文字列を用意すると、空文字列に特定の意味を持たせる使い方をされるので、これは空文字列、空文字列、空文字列と騒いでいるやつのように製品としては何も制御できなくなる。
645: 2022/12/20(火)18:49 ID:??? AAS
>>643
> 自分で文字列というものはないと言っている
はあ?
どこでそんなアホなこと言ってるんだよ
> 文字列は文字列という概念を初めから持ったプログラミング言語やデータベースのことをいう。
LISPには文字列の概念はある
Emacs とか知らんのか?
> メモリのデータが文字、連続したメモリのアドレスに格納されているデータが文字というのは文字列という概念を持っているプログラミング言語ではない。
お前のアホ定義で語られてもなw
646: 2022/12/20(火)22:42 ID:??? AAS
>>615
ここに挙げられた各論文・書籍を見てきたけどボラクル君の主張は完全なウソだったわ
誤解とか誤読のレベルじゃなく完全な嘘つき
まともにNULLについて言及されてるのは最後の書籍だけで
その内容はコッドの12ルールにあるNULLのルールと基本同じ
Rule 3: Systematic Treatment of NULL Values
NULL values (distinct from empty character string or a string of blank characters and distinct from zero or any other number) are supported in the fully relational RDBMS for representing missing information in a systematic way, independent of data type.
647: 2022/12/21(水)14:55 ID:??? AAS
>644
>空文字列を用意すると、(略)製品としては何も制御できなくなる
世にある大半のRDBMSではちゃんと空文字列をNULLと区別して制御してるんだが?
世にある大半のプログラム言語では、空文字列とヌルポは別物なんだが?
制御できなくなるのは製品の問題じゃなくて、設計/運用する奴がダメだからだ
ORACLEがなぜそれを区別できない設計にしたのかはしらん
ORACLEではそういうものだとして扱えば良いだけ
それがORACLE自身の主義主張に基づくなら、ちゃんとその主張は啓蒙すべきだがな
ただ、世の大半でできることができないのは欠陥だといわれてもしょうがないな
つかVarchar2とかやめて、Varcharを標準的なNULLの仕様にすれば良いDBなんだがなぁ
648: 2022/12/21(水)16:38 ID:??? AAS
>>642
>文字列をフェチしてすぐにNULLと判断できるデータが入っている
ボラクル君はNULLと判断するためは文字列のフェッチが必要だと思ってるんだwww
書けば書くほど無知を晒してるねw
649: 2022/12/21(水)17:39 ID:??? AAS
そもそも他のDBMSでもNULLはあるから
> ゴッド博士のデータベースの考え方は、値がないなら値がないとはっきりわかるようにすべきというもの。
と言うのはOracleにはなんのアドバンテージもないんだけどね
> 空文字列を用意すると、空文字列に特定の意味を持たせる使い方をされるので、これは空文字列、空文字列、空文字列と騒いでいるやつのように製品としては何も制御できなくなる。
意味を持たせるのは分かるけど製品として何も制御出来なくなるとか意味わからん
まあ本人も何を言いたいのかよくわかってないんだろうなw
650(1): 2022/12/21(水)18:15 ID:??? AAS
Oracleは文字列に限らずzero-lengthかどうかでNULLかどうかを判断するデータ構造になってる
NULLでもレコード末尾のNULL以外は長さ0を格納するために1バイト使う
1つのデータ項目を2つの意味使うというDB設計初心者でもやらないような欠陥なんだが
標準に合わせるためにはレコードのデータ構造とNULLの判断に関わる部分を全面的に修正する必要があるので
コストが大きすぎて手が出せない
651(1): 2022/12/21(水)18:44 ID:??? AAS
>>650
> Oracleは文字列に限らずzero-lengthかどうかでNULLかどうかを判断するデータ構造になってる
また嘘書いてるなw
IS NULL関数に長さ0(ゼロ)の初期化済LOBを渡すと、0(ゼロ、FALSE)が戻されます。
外部リンク[htm]:docs.oracle.com
652(1): 2022/12/21(水)22:37 ID:??? AAS
>>651
分かっていってるんだと思うが
LOBの場合はNULLかどうかの判断に使ってるcolumn lengthにはlocatorの長さが格納されてる
行の中に実際格納されてるのはlocatorだけだから
同じ箇所に書いてある↓
「LOBで使用すると、IS NULLおよびIS NOT NULL演算子によってLOBロケータが行に格納されているかどうかが判別されます。」
653: 2022/12/21(水)22:43 ID:??? AAS
これ見てもらうといいのかな
画像リンク[gif]:docs.oracle.com
他のDBMSはnullableなカラムがある場合は
row headerにnullかどうかを判断するためのbitmapが追加される方式が一般的
Oracleはそういう仕組みを持ってないからzero-lengthをNULLとして扱ってる
654(1): 2022/12/21(水)22:48 ID:??? AAS
>>652
だから
> Oracleは文字列に限らずzero-lengthかどうかでNULLかどうかを判断するデータ構造になってる
が間違いだという指摘なんだけど?
わざわざ恥の上塗り乙
上下前次1-新書関写板覧索設栞歴
あと 158 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s