X



Oracle 質問総合スレ14
0001NAME IS NULL
垢版 |
2019/07/07(日) 16:09:37.68ID:???
◆前スレ
Oracle 質問総合スレ13
https://mevius.5ch.net/test/read.cgi/db/1502506923/

◆過去スレ
Oracle 質問総合スレ12
http://mevius.2ch.net/test/read.cgi/db/1471652805/
Oracle 質問総合スレ11
http://echo.2ch.net/test/read.cgi/db/1437510145/
Oracle 質問総合スレ10
http://peace.2ch.net/test/read.cgi/db/1403674585/
Oracle 質問総合スレ9
http://toro.2ch.net/test/read.cgi/db/1359049907/
Oracle 質問総合スレ8
http://toro.2ch.net/test/read.cgi/db/1335097274/
Oracle 質問総合スレ7
http://toro.2ch.net/test/read.cgi/db/1326074212/
Oracle 質問総合スレ6
http://toro.2ch.net/test/read.cgi/db/1314941245/
Oracle 質問総合スレ5
http://hibari.2ch.net/test/read.cgi/db/1279635842/
Oracle 質問総合スレ4
http://pc11.2ch.net/test/read.cgi/db/1250995281/
Oracle 質問総合スレ3
http://pc11.2ch.net/test/read.cgi/db/1223384283
Oracle 質問総合スレ2
http://pc11.2ch.net/test/read.cgi/db/1194742799
Oracle 質問総合スレ
http://pc11.2ch.net/test/read.cgi/db/1163907455

◆公式サイト
OTN-J
ttp://www.oracle.com/technetwork/jp/index.html

◆オンラインマニュアル
ttp://www.oracle.com/technetwork/jp/indexes/documentation/index.html

◆My Oracle Support
ttp://support.oracle.com/
0556NAME IS NULL
垢版 |
2022/10/01(土) 20:38:32.87ID:k1GCtJrP
>>555
ネタなのか?
0557NAME IS NULL
垢版 |
2022/10/01(土) 20:40:21.84ID:k1GCtJrP
>>555
そもそもその構成はOracle DataGuardの構成ですよ。
0558質問者
垢版 |
2022/10/01(土) 22:15:15.63ID:???
すみません。全然知識がないので、自分はおかしなことを言ってると思います。

分けるというのは
expdb CONTENT=DATA_ONLY
expdb CONTENTMETADATA_ONLY
でやることかと思いました。
0559NAME IS NULL
垢版 |
2022/10/01(土) 22:21:55.87ID:k1GCtJrP
>>558
データベース全体のエクスポートとインポートしか知らないのか?

論理バックアップでいい理由も書いてないから、アドバイスのしようがない。
0560NAME IS NULL
垢版 |
2022/10/02(日) 09:25:37.07ID:KJUGnqO8
Oracleのvarchar2って4000バイトが上限だけど、max_string_sizeを変更する以外にいい方法はないのだろうか
0561NAME IS NULL
垢版 |
2022/10/02(日) 11:16:07.09ID:???
>>554
目的が開発環境を作成することなら、本番環境を作ったときの手順をもう一度実行するのが一般的だと思う。
この場合はできたDBが空っぽになるので、あとはデータを入れればいい。

これにはバックアップ&リカバリのさまざまな手法が使える。先の expdp/impdb はその一つ。

ストレージの空き容量が足りないというなら、小さなダミーデータを作るか、本番データをもとにサブセットを
expdpで作るか (これは >>553 で述べられている意味) になると思う。

もう一つの方法として、たとえばAmazon EC2のようなクラウド環境でOracleインスタンスが動いている場合、
マシンイメージのスナップショットをリストアすることで簡単に複製を作れる。ただしライセンスに注意。

いずれにせよ、>>552 で書かれていることを整理して、自分の実力を勘案してできる方法を見つけるしかないと思う。
あるいは「できない」と宣言するのも一つ。そうすればできる人が来るよ。
0562NAME IS NULL
垢版 |
2022/10/02(日) 13:30:21.72ID:???
移行元のバックアップはどう取ってるの?
rmanで取ってるなら、バックアップファイルとアーカイブログと現行の制御ファイルとまるごと移行先に持って行ってrecover database すればいいんじゃないの。ダウンタイム設ける必要ないし。
0563NAME IS NULL
垢版 |
2022/11/23(水) 09:29:22.16ID:???
WindowsのOracleからDBリンクでPostgreSQLに接続しようとしたけどうまくいかない。
ODBCやA5:SQL Mk-2では接続できているのですが。
参考になるWebサイトが知ってましたら教えてもらえると助かります。
0564NAME IS NULL
垢版 |
2022/11/24(木) 16:19:31.03ID:fswk9d+V
>>563
データベースリンクを作っただけで繋がると思っている時点でおかしい。

OracleDBのデータベースリンクの接続先の設定にODBC接続なんてないぞ。

おそらくODBCを使用しないような設定なのにそれを勘違いして直接、接続先を指定していないか?
0565NAME IS NULL
垢版 |
2022/11/24(木) 17:16:53.30ID:???
Oracle Database Gateway for ODBCを使うんじゃ無いのか?
0566563
垢版 |
2022/11/24(木) 18:40:02.28ID:???
返信ありがとうございます。
Oracle Database Gateway for ODBCを使用していまして、ODBCのシステムDSNでは接続できています。
initdg4odbc.ora・listener.ora・tnsnames.oraに追記してDBリンクを作成したのですが、接続できませんでした。
0567NAME IS NULL
垢版 |
2022/11/24(木) 19:54:25.77ID:fswk9d+V
エラーメッセージを書かない理由が知りたい
0568NAME IS NULL
垢版 |
2022/11/24(木) 22:16:15.51ID:fswk9d+V
業務システムだとPostgreSQLに接続するリスクの方がでかい。
0569NAME IS NULL
垢版 |
2022/11/25(金) 04:30:25.87ID:???
>>566
できるだけ簡単な検証用のシステムを用意して
できるかどうかを試したら?
0570563
垢版 |
2022/11/28(月) 21:53:03.28ID:???
見積作成の為に仮想環境を作成して確認した結果だったのですが、
仮想環境を待避してしまってましたので再確認に時間がかかってしまいました。
OSqlEditからDBリンクでテーブルをSELECTした時のエラーは以下になります。

Error
[row:1,col:33] ORA-28545: エージェントへの接続時に、Oracle Netによってエラーが診断されました。
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 先行のエラー・メッセージを参照してください2 lines([DBリンク名])。

とりあえずDBリンクは使用しない方向性で見積は作成しちゃいました。
0571NAME IS NULL
垢版 |
2022/11/28(月) 22:47:05.23ID:iXYDTEGM
>>570
listener.ora、tnsnames.oraの記述に矛盾がなくても、いまは静的なファイルで管理はしてなくて、動的に管理しているからファイルの内容を書き換えただけでは設定は変わらないから注意。
0572NAME IS NULL
垢版 |
2022/11/28(月) 22:47:34.41ID:iXYDTEGM
特にリスナーのことな
0573NAME IS NULL
垢版 |
2022/11/29(火) 00:19:00.89ID:13rid+Zb
動的リスナー登録がわからなくて騒ぐやつは後を絶たない。
0574NAME IS NULL
垢版 |
2022/12/03(土) 03:34:54.19ID:???
皆さん、基本sql developer使って開発する感じですか?
つくづく思うんですけどssmsと比べてデフォルトの開発環境クソすぎませんか?
0575NAME IS NULL
垢版 |
2022/12/03(土) 04:55:53.16ID:???
うちはEmacsとSQL*Plus
大事なのはツールより何をなすかでは?
0576NAME IS NULL
垢版 |
2022/12/04(日) 17:57:37.05ID:7Bp8x6gj
>>574
単にOracleDBは、昔から詳しい人が多いうえに、仕様を頻繁に変えないから、開発環境なんてGUIすらいらなかったりする。

プロはCUIツールで仕事をするよ。
0577NAME IS NULL
垢版 |
2022/12/04(日) 18:00:48.84ID:7Bp8x6gj
>>574
SSMSは開発ツールではありませんよ?

SSMSはVisual Studioの一部を内蔵しているだけです。

T-SQLは仕様がクソなので、高度な開発ツールを使っても、見た目の雰囲気でそう思ってしまうだけです。
0578NAME IS NULL
垢版 |
2022/12/04(日) 18:08:04.71ID:7Bp8x6gj
>>574
ちなみにSQL DeveloperはもともとOracle社が作ったものではなく、OracleDBをよくわかっていないJavaプログラマが作った歴史が浅いのものなので、いろんなところが洗練されていませんし、いまだにOracleDBの文化に従っていないところがあります。

オラクル社は商売上手なので、安かったからSQL Developerを買収しただけです。

さらに昔からサードパーティ製の日本ではSI ObjectBrowser、外国だとPL/SQL Developerが高機能で優れていたので、オラクル社はわざわざ用意しなかったんです。
0579NAME IS NULL
垢版 |
2022/12/04(日) 18:16:41.70ID:7Bp8x6gj
>>574
それ見た目の雰囲気だけのイメージですね。
SSMSは使って見ると思ったよりもクソです。

しかもSSMSは開発ツールと運用ツールを一緒にした管理ツールです。

OracleDBは、Enterprise Manager Cloud Controlが管理ツールのメインで、SQL Developerは使ってと使わなくてもいい開発ツールに簡易的な管理機能を持たせたものです。
0581NAME IS NULL
垢版 |
2022/12/04(日) 18:28:44.96ID:7Bp8x6gj
MySQLのWorkbenchや、PostgreSQLのpgAdminなんてもっとひどいです。

データベースの世界はGUIでやるのは初心者なんですよ。

マイクロソフトは見た目重視のGUI偏重という時代遅れなんです。

いまはGUIならシンプルなGUIが好まれ、プロはCUIを好むように変化しています。

DockerやAnsible、Git、WindowsだとWSL2などCUIで何もかもするのが、最近の主流です。

GUIのゴテゴテして統合開発環境は徐々に廃れ始めていて、マイクロソフトもVSCodeにシフトしていますね。
0582NAME IS NULL
垢版 |
2022/12/04(日) 18:43:06.03ID:???
すごい!全然同意できない!
0583NAME IS NULL
垢版 |
2022/12/04(日) 20:53:29.83ID:7Bp8x6gj
適当に書いていると、バカにしてくるやつが必ず反応するのがこのスレ。

もっと新しい反応はないのか?

もうジジイで頭の劣化がはげしいんだろうな。
0584NAME IS NULL
垢版 |
2022/12/04(日) 21:02:22.35ID:7Bp8x6gj
SQL ServerはSSMSは良さそうでも、SQL Serverが昔のクソ仕様を引きずっているから、マイクロソフト製品でかためたシステムでないと選択するメリットがまったくない。

さらにマイクロソフトのサポートは形だけで、マイクロソフトそのものがSQL Serverの仕様がわからず、ソースコード開示している日本のSIerからソースコード解析でバグを指摘されたり、そのSIerからSQL Serverの仕様を教えてもらうありさま。

マイクロソフトの公表しているSQL Serverの仕様はウソだらけ。

SQL Serverの高度なDBAの仕事は地獄をみるし、SQL Serverは高度な機能を使うと痛い目にあたるとユーザーもわかっている。
0585NAME IS NULL
垢版 |
2022/12/04(日) 21:39:14.13ID:???
具体的にどんな事例があったのかがないとなんとも・・・
0586NAME IS NULL
垢版 |
2022/12/04(日) 22:58:24.15ID:???
たくさん言い訳を書かなければ自分を正当化できなくなるのな
そりゃベンダーも落ち目ならそれに固執するエンジニアも落ち目になるわ

ザ・老害!
0587NAME IS NULL
垢版 |
2022/12/06(火) 00:02:31.54ID:???
sql serverは開発ツールは優秀だけどストアドの文法仕様がクソ
oracleは開発ツールはクソだけどストアドはまだ比較的マシ
0588NAME IS NULL
垢版 |
2022/12/06(火) 01:19:36.02ID:mYqHptcX
>>587
SQL Serverのストアドプロシージャは、Oracleの次にちゃんとできている。

SQL Serverのストアドプロシージャは例外処理があってないようなもの。

まずユーザー定義例外しか発生しない。
さらにシステムエラー情報を取得しても、ほとんど意味のない情報しか出てこない。

MySQLのストアドプロシージャは、とにかくやる気なしで、構文が無理やりすぎ、できること少なすぎであまり使えない。

PostreSQLのストアドプロシージャは、よくできていて、OracleのPL/SQLをまねたもので作れる。
しかし、PostgreSQLは初期のデータ型が独特だったため、いまでもデータ型のキャストで苦労する。プリミティブのデータ型が文字データはtext型、数値データはinteger型で、リテラル値を書くとデータ型の問題がすぐに出てくる。

Db2のストアドプロシージャは、OracleのPL/SQLをビルトインパッケージまでそのまま取り入れているので、Oracleのストアドプロシージャのコードがそのまま動いたりする。
0589NAME IS NULL
垢版 |
2022/12/06(火) 04:27:16.27ID:???
言いたいことがよく分からんが、Oracleのストアドプロシージャで書かれたコードは
Oracleでしか動かないので、それを使うと後で苦労すると理解した。
0590NAME IS NULL
垢版 |
2022/12/06(火) 06:58:17.60ID:???
空文字列とnullの区別もつかないDBMSのスレでポスグレのデータ型が独特とか言われても...
0591NAME IS NULL
垢版 |
2022/12/06(火) 08:39:36.78ID:mYqHptcX
>>590
NULLは値のないことを表現するとコッド博士の決めたことをそのまま実装しただけ。
0592NAME IS NULL
垢版 |
2022/12/06(火) 08:41:19.36ID:mYqHptcX
>>589
Oracleスレまで来て説明されても、Oracleはダメだと言って去るキチガイ
0593NAME IS NULL
垢版 |
2022/12/06(火) 11:15:14.43ID:???
>>591
空文字列と値が無い事の区別もつかないガイジでしたかw
0594NAME IS NULL
垢版 |
2022/12/06(火) 20:12:10.40ID:mYqHptcX
>>593
コッド博士は、空を表現するのがNULLだと発表した。

あとでそれは失敗だったんじゃないかと指摘されて、空の概念を二重構成にした。

空文字列はいいが、数値も空を定義して数値の空はゼロだと決めた。

これも炎上して数値の空がゼロというのは、現実的ではないと批判されたが、自分の判断ミスを受け入れられず、そのままどのデータ型もNULLと空状態を持てとした。

これだと実際に製品を作っている会社は、ヘンテコな仕様なので、空文字以外の仕様は拒否している。
0595NAME IS NULL
垢版 |
2022/12/06(火) 20:15:03.42ID:mYqHptcX
>>593
ちなみにNULLはNULL値ともいう。

文字データ型に空文字という状態を取り入れた製品を使っていると、NULLと空文字列が混ぜこぜになったレコードが作成されやすく、常にNULLと空文字の両方を意識した設計をしないといけない。
0596NAME IS NULL
垢版 |
2022/12/06(火) 20:17:17.51ID:mYqHptcX
>>593
いい加減、わざわざNULLという概念を持ったのは、昔はCUIの環境だからだよ。

空文字じゃ、なんも見えない。
明示的に空ですと表現する必要があったから、NULLを表示する。
0597NAME IS NULL
垢版 |
2022/12/06(火) 20:25:48.81ID:???
>>595
> 文字データ型に空文字という状態を取り入れた製品を使っていると、NULLと空文字列が混ぜこぜになったレコードが作成されやすく、常にNULLと空文字の両方を意識した設計をしないといけない。
バカに設計させるなよ...
0598NAME IS NULL
垢版 |
2022/12/06(火) 20:30:14.37ID:mYqHptcX
>>597
そんなのあるあるだろw

空文字、半角スペース一つ、NULLとか変な使い分けをするやつはいっぱいいる。
0599NAME IS NULL
垢版 |
2022/12/06(火) 21:17:09.70ID:???
半角スペース一つとか、NULLと空文字列を区別できない欠陥DBでしか見たことないわ
0600NAME IS NULL
垢版 |
2022/12/06(火) 21:21:22.13ID:mYqHptcX
NULLはNULL Value、空文字列は文字が空。
0601NAME IS NULL
垢版 |
2022/12/06(火) 21:22:21.53ID:mYqHptcX
>>599
空文字列がNULLなんだぞ?

空文字列というものを使いたがるのは、プログラマでも初心者
0602NAME IS NULL
垢版 |
2022/12/06(火) 21:34:20.48ID:???
>>598
> 空文字、半角スペース一つ、NULLとか変な使い分けをするやつはいっぱいいる。
お前の周りの話されてもなw
0603NAME IS NULL
垢版 |
2022/12/08(木) 18:51:46.08ID:???
空文字列とNULLの使い分けは普通だし、DB使うならできて当たり前だけどな
NULLの概念を理解しないやつは設計するなよと
0604NAME IS NULL
垢版 |
2022/12/09(金) 01:37:31.49ID:???
sql serverスレと比べてギスギスしてんなw
0605NAME IS NULL
垢版 |
2022/12/09(金) 06:51:31.18ID:???
年寄りが多いんだろ
0606NAME IS NULL
垢版 |
2022/12/17(土) 15:57:49.34ID:Tr/+acpT
OracleDBはコッド博士の関係データベース理論をかなり忠実に実装したから、空データはNULLとするというコッド博士の論文に従っただけ。
0607NAME IS NULL
垢版 |
2022/12/17(土) 16:57:25.90ID:???
>>606
コッド博士の言い分を間違って解釈したバカ笑
ゼロの概念すら理解できてないって石器時代の人間かよw
0608NAME IS NULL
垢版 |
2022/12/17(土) 21:50:07.81ID:???
>>606
> 空データはNULLとするというコッド博士の論文に従っただけ。
それはいいけど空文字列と空データの区別もつかないのはかなりヤヴァイ
0609NAME IS NULL
垢版 |
2022/12/17(土) 22:01:00.78ID:???
NULLの話ツマラナイ
0610NAME IS NULL
垢版 |
2022/12/17(土) 22:30:26.70ID:???
先月からOracle formsの開発にまわされたんだけどこれクソオブクソですね
サポート切った方がみんな幸せになれる気がする
0611NAME IS NULL
垢版 |
2022/12/18(日) 15:31:27.31ID:ixe6oE+R
>>608
空文字列は空データのことだよ。あんた本当に何も調べてないんだな。

コッド博士は空、空文字列をNULLとするとしたところ、批判が出でてNULL以外に空、空文字列を用意することになった。

そのせいで数値も空を用意しなくてはならず、製品を実装する側は、数値の空がゼロとするしかなく、これはこれで批判されている。

NULLであれば、データを取り出すフェッチ処理の負荷も下がるから、NULLも製品の実装ではメリットがある。

空文字列の状態を欲したがるのは、初心者プログラマだけ。
0612NAME IS NULL
垢版 |
2022/12/18(日) 15:35:15.90ID:ixe6oE+R
>>610
オラクル社ももう推奨していないものですからね。

Application Expressかよくわからない人間がOracle Formsを使おうとしたんでしょうね。

Javaアプレットを選択するプロジェクトは何を考えているのかわかりませんね。
0613NAME IS NULL
垢版 |
2022/12/18(日) 15:38:18.50ID:ixe6oE+R
>>610
昔はGUIのアプリケーション開発で進んだ考えのものだったのでクソではないんですけどね。

コントロールが独特で嫌なのはわかりますが、それを言うとSAPは何もかもクソで嫌になります。

シェアが高ければヘンテコでもそれが標準になるんです。
0614NAME IS NULL
垢版 |
2022/12/18(日) 15:53:05.92ID:???
>>611
> 空文字列は空データのことだよ。
そんなアホな事を言ってるのはお前だけ
違うと言うならソース出してみw
0615NAME IS NULL
垢版 |
2022/12/18(日) 16:13:04.26ID:ixe6oE+R
>>614
A Relational Model of Data for Large Shared Data Banks

Relational Completeness of Data Base Sublanguages

1981 Turing Award Lecture - Relational Database: A Practical Foundation for Productivity

The Relational Model for Database Management (Version 2 ed.). Addison Wesley Publishing Company
0616NAME IS NULL
垢版 |
2022/12/18(日) 16:18:38.41ID:???
>>615
で、どこに書いてあるんだ?
具体的に答えられないなら黙ってた方がいいと思うよ
0617NAME IS NULL
垢版 |
2022/12/18(日) 17:55:46.39ID:ixe6oE+R
おしえてクレクレ
0618NAME IS NULL
垢版 |
2022/12/18(日) 17:58:15.65ID:ixe6oE+R
>>616
質問なんだけと、Javaなどのプログラミング言語のString型で参照先がないnullと空文字列に対して、常に空文字列で初期化するタイプなの?
0619NAME IS NULL
垢版 |
2022/12/18(日) 18:01:05.35ID:???
はい逃げた~w
まあそりゃ出せないわな
0621NAME IS NULL
垢版 |
2022/12/18(日) 18:15:53.08ID:ixe6oE+R
Excel VBAでもオブジェクトの破棄をしてなさそう
データがないとわかっていれば、無駄な処理がなくなることを理解していないなら、RDBの説明をしても意味がない

空文字列がNULLになるのではなく、空文字列をNULLと見做す仕様を理解していないままOracleDBを使っているのは頭がおかしいとしか言えない。
0622NAME IS NULL
垢版 |
2022/12/18(日) 18:16:34.62ID:ixe6oE+R
>>620
ありえない。
あんた初心者すぎる。
0623NAME IS NULL
垢版 |
2022/12/18(日) 18:22:47.91ID:???
さすがのオラクルでも設計ミスだと認めてるのに
いつも上から目線の低スキル信者は空文字とNULLの区別もできないクソ仕様を必死に養護しててテラワロス
0624NAME IS NULL
垢版 |
2022/12/18(日) 18:30:36.96ID:???
>>621
もしかして関数から戻る直前にも
Set S = Nothing
とかの意味ないノウハウを信奉してたりしてw

>>622
具体的にしてき出来ないならとっとと遁走しなよ...
痛々しいぞ
0625NAME IS NULL
垢版 |
2022/12/18(日) 18:32:35.43ID:ixe6oE+R
>>624
関数とは言わない
自己流の言葉や思い込みが自分をダメにする
0626NAME IS NULL
垢版 |
2022/12/18(日) 18:33:23.08ID:ixe6oE+R
>>623
コッド自身が空はNULLといったん言ってしまてた。
0627NAME IS NULL
垢版 |
2022/12/18(日) 18:35:02.24ID:ixe6oE+R
空文字列という概念は1980年代以降に生まれたもの

1980年代はその空文字列もデータが大きくなるから、当然のように嫌われている。
0628NAME IS NULL
垢版 |
2022/12/18(日) 18:37:34.48ID:???
>>626
妄想じゃなければソース出してね
0629NAME IS NULL
垢版 |
2022/12/18(日) 18:50:46.26ID:???
>>625
Function って言えってか?
そういう所にしか突っ込めないとか情けなくならないの?
0630NAME IS NULL
垢版 |
2022/12/18(日) 18:59:05.54ID:???
>>627
>空文字列もデータが大きくなるから
うそですやんww
こういう所が低レベルと言われる所以
0631NAME IS NULL
垢版 |
2022/12/18(日) 19:40:58.90ID:???
そもそも1960年代のLISPでも空文字列とnull(LISPではNIL)は区別されてるから
>>627 > 空文字列という概念は1980年代以降に生まれたもの
自体が大嘘だし
0632NAME IS NULL
垢版 |
2022/12/19(月) 11:32:20.09ID:H4gqv1ey
>>631
それは空文字列ではなく、データ構造の話だろw
0633NAME IS NULL
垢版 |
2022/12/19(月) 11:33:40.26ID:H4gqv1ey
OracleDBに難癖をつけるやつが集まってくるほど人気になるとは思わなかったな。
0634NAME IS NULL
垢版 |
2022/12/19(月) 11:34:05.91ID:H4gqv1ey
>>629
VBAはファンクションプロシージャと呼ぶ
0635NAME IS NULL
垢版 |
2022/12/19(月) 11:36:30.48ID:H4gqv1ey
>>630
空文字列はメモリを確保している状態。データファイルだと終端文字が格納されている状態。
0636NAME IS NULL
垢版 |
2022/12/19(月) 11:38:51.55ID:H4gqv1ey
VBにはサブプロシージャとファンクションプロシージャというものがある。

用語が不正確なやつは無知をさらしているだけ。
0637NAME IS NULL
垢版 |
2022/12/19(月) 16:48:29.28ID:???
>>632
データ構造じゃねーよ、LISPのデータ構造はS式しかない
数値などと同じく文字列が存在するんだよ
0638NAME IS NULL
垢版 |
2022/12/19(月) 16:50:06.86ID:???
>>634,636
マジでそんな突っ込みして恥ずかしくないの?w
まあ話しそらそうと必死なんだろうけど
0639NAME IS NULL
垢版 |
2022/12/19(月) 17:31:13.83ID:???
おっ、やってるやってる!
0640NAME IS NULL
垢版 |
2022/12/19(月) 21:13:25.97ID:???
>>635
さすがボラクルくんw
無知なだけじゃなく頭が悪いww
終端文字www
0641NAME IS NULL
垢版 |
2022/12/20(火) 18:20:05.91ID:GPbhHUoK
NULLの存在意義が少しはわかってきたかな?
0642NAME IS NULL
垢版 |
2022/12/20(火) 18:24:05.59ID:GPbhHUoK
文字列はフェッチして終端まで行って、空だったと判定するのと

文字列をフェチしてすぐにNULLと判断できるデータが入っている

前者は無能極まりない
0643NAME IS NULL
垢版 |
2022/12/20(火) 18:27:01.66ID:GPbhHUoK
>>637
自分で文字列というものはないと言っている
文字列は文字列という概念を初めから持ったプログラミング言語やデータベースのことをいう。

メモリのデータが文字、連続したメモリのアドレスに格納されているデータが文字というのは文字列という概念を持っているプログラミング言語ではない。
0644NAME IS NULL
垢版 |
2022/12/20(火) 18:35:04.68ID:GPbhHUoK
文字列が格納されているメモリの先頭アドレスに文字列長を持たせるのも同じように思うかもしれないが、

ゴッド博士のデータベースの考え方は、値がないなら値がないとはっきりわかるようにすべきというもの。

空文字列を用意すると、空文字列に特定の意味を持たせる使い方をされるので、これは空文字列、空文字列、空文字列と騒いでいるやつのように製品としては何も制御できなくなる。
0645NAME IS NULL
垢版 |
2022/12/20(火) 18:49:33.88ID:???
>>643
> 自分で文字列というものはないと言っている
はあ?
どこでそんなアホなこと言ってるんだよ

> 文字列は文字列という概念を初めから持ったプログラミング言語やデータベースのことをいう。
LISPには文字列の概念はある
Emacs とか知らんのか?

> メモリのデータが文字、連続したメモリのアドレスに格納されているデータが文字というのは文字列という概念を持っているプログラミング言語ではない。
お前のアホ定義で語られてもなw
0646NAME IS NULL
垢版 |
2022/12/20(火) 22:42:00.47ID:???
>>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.
0647NAME IS NULL
垢版 |
2022/12/21(水) 14:55:02.80ID:???
>644
>空文字列を用意すると、(略)製品としては何も制御できなくなる
世にある大半のRDBMSではちゃんと空文字列をNULLと区別して制御してるんだが?
世にある大半のプログラム言語では、空文字列とヌルポは別物なんだが?

制御できなくなるのは製品の問題じゃなくて、設計/運用する奴がダメだからだ

ORACLEがなぜそれを区別できない設計にしたのかはしらん
ORACLEではそういうものだとして扱えば良いだけ
それがORACLE自身の主義主張に基づくなら、ちゃんとその主張は啓蒙すべきだがな
ただ、世の大半でできることができないのは欠陥だといわれてもしょうがないな

つかVarchar2とかやめて、Varcharを標準的なNULLの仕様にすれば良いDBなんだがなぁ
0648NAME IS NULL
垢版 |
2022/12/21(水) 16:38:19.08ID:???
>>642
>文字列をフェチしてすぐにNULLと判断できるデータが入っている

ボラクル君はNULLと判断するためは文字列のフェッチが必要だと思ってるんだwww
書けば書くほど無知を晒してるねw
0649NAME IS NULL
垢版 |
2022/12/21(水) 17:39:07.43ID:???
そもそも他のDBMSでもNULLはあるから
> ゴッド博士のデータベースの考え方は、値がないなら値がないとはっきりわかるようにすべきというもの。
と言うのはOracleにはなんのアドバンテージもないんだけどね

> 空文字列を用意すると、空文字列に特定の意味を持たせる使い方をされるので、これは空文字列、空文字列、空文字列と騒いでいるやつのように製品としては何も制御できなくなる。
意味を持たせるのは分かるけど製品として何も制御出来なくなるとか意味わからん
まあ本人も何を言いたいのかよくわかってないんだろうなw
0650NAME IS NULL
垢版 |
2022/12/21(水) 18:15:43.50ID:???
Oracleは文字列に限らずzero-lengthかどうかでNULLかどうかを判断するデータ構造になってる
NULLでもレコード末尾のNULL以外は長さ0を格納するために1バイト使う

1つのデータ項目を2つの意味使うというDB設計初心者でもやらないような欠陥なんだが
標準に合わせるためにはレコードのデータ構造とNULLの判断に関わる部分を全面的に修正する必要があるので
コストが大きすぎて手が出せない
0652NAME IS NULL
垢版 |
2022/12/21(水) 22:37:09.03ID:???
>>651
分かっていってるんだと思うが
LOBの場合はNULLかどうかの判断に使ってるcolumn lengthにはlocatorの長さが格納されてる
行の中に実際格納されてるのはlocatorだけだから

同じ箇所に書いてある↓
「LOBで使用すると、IS NULLおよびIS NOT NULL演算子によってLOBロケータが行に格納されているかどうかが判別されます。」
0654NAME IS NULL
垢版 |
2022/12/21(水) 22:48:05.45ID:???
>>652
だから
> Oracleは文字列に限らずzero-lengthかどうかでNULLかどうかを判断するデータ構造になってる
が間違いだという指摘なんだけど?
わざわざ恥の上塗り乙
0655NAME IS NULL
垢版 |
2022/12/21(水) 23:48:39.59ID:???
>>654
君の言うlengthと俺の言うlengthが違うだけ
OracleがなぜANSI準拠にできないのか仕組みを説明してあげたつもりだったんだがわかんないなら別にいい
レスを投稿する


ニューススポーツなんでも実況