|
DB とファイルシステム
多分そのうち必要になるので。
-
14
kiyo
2003/07/04 20:01
id: M4qDt4tUHP2
prob: 0.1%
-
-
>>13 計算フィールド。
スゴ、そんな事もできるんだあー、
今日 owa さん東京へ行ってるから、
帰って来たら、沢山書き込みあって、びっくりするよ。
nakaj さんが来たからきっと喜ぶと思う。
はあ、しかし BLOB を何とか DA に入れたいなあ、insert, update だけでもあれば良いのだけど、 ZFireBirdDA の方が def columns で Type が解るので簡単そうだけど。
やっぱ私には無理かな?
-
13
nakaj
2003/07/04 19:25
id: p18sSGR1.u2
prob: 9.2%
-
-
そうそうNowも便利ですよね。
あとInterBase特有で、私のお気に入りなのは計算フィールド。
create table calc
(
qty integer,
cost double precision,
sumcost computed by (qty * cost)
);
insert into calc values(12, 250);
select * from calc;
QTY COST SUMCOST
12 250 3000
みたいな。
知ってたらすみません。ね、これ便利でしょ?
エクセルなんかいらなくなるじゃないですか。
と思ってるのは私だけなんですかねー。
-
12
kiyo
2003/07/04 18:48
id: M4qDt4tUHP2
prob: 25.9%
-
-
>>11 最後のスラッシュがいります?
あ、スマソ要ります。
又一つ覚書
現在の日付は自動ではいるのね。
CREATE TABLE TSET
(
nowdate DATE DEFAULT 'NOW'
)
-
11
nakaj
2003/07/04 15:26
id: p18sSGR1.u2
prob: 0.3%
-
-
>>10 あ、ご事情あり、なんですね。IEの件のバグと関係あるのかと思ったので、気になっちゃっただけです。すみませんでした。
http://fzug.com/ws/
最後のスラッシュがいります?
>>8 BLOB SUB_TYPE TEXT は、char,varcharで扱いきれないテキストを
格納したい場合などに使えるんですね。そういえば加藤さんの著書で
読んだ記憶がよみがえり出しました。
ちなみにFireBirdの制限なんですがvarchar(255)で作ったフィールドに
郵便番号データとかつっこんでIndex作ろうとしたら拒否されたんですが、
これをvarchar(128)とかにフィールドを縮小するとIndex作れるように
なったりしてTable全体のバイト数とか結構制限あるみたいですね?
詳しいことはFirebird-jpで質問したら答えてくれそうだけど。。。
#あそこも著名人が多いのでちょっとためらってたりして
-
10
kiyo
2003/07/04 15:16
id: SqALsodDuX2
prob: 0.0%
-
-
>>9 全然関係ないけどすごく気になったので、、。
ここで書くのもなんですが、 http://fzug.com/ws で入ると変化します。
色々事情があって詳しくかけないので、ごめんちゃい。
-
9
nakaj
2003/07/04 15:11
id: p18sSGR1.u2
prob: 0.1%
-
-
http://fzug.com
トップページから普通にチャットBBSへはいります。
FZUG報告に入ってkiyoさんの発言の
http://owa.as.wakwak.ne.jp/zope/bbs/showEntryList?MID=204
リンクをたどるとIE6のアドレスバーに表示されるアドレスが
http://fzug.comのままなのはなんででしょう。
全然関係ないけどすごく気になったので、、。
-
8
kiyo
2003/07/04 15:06
id: SqALsodDuX2
prob: 0.4%
-
-
覚書
kinterbasdb-3.1_pre4 がでてます。
これに変更すると、今まで使えなかった TEXT型がそのまま使えるようになり、やっと、MySQL, PostgreSQL と並んだと言う事でしょうか。
CRETAE 文が若干違う事に注意です。
MySQL, PostgreSQL での TEXT型は、単に TEXT と書けばよかったのですが、
CREATE TABLE TEST
(
A BLOB SUB_TYPE TEXT [ SEGMENT SIZE 80 CHARACTER SET EUCJ_0208],
B BLOB SUB_TYPE 0 [ SEGMENT SIZE 80 ]
)
のように書かなければいけない。[ ]は実際には書きません。
A は完全に TEXT 型を宣言してます。[ ] はオプションです。
B は不定な型で何でも格納できます。TEXT としても使えるが、Firebird は一切感知しないバイナリー型と理解すれば良いのかな?
なので、これを使う場合は使う側が読み書きするときに解っていなければいけない。たしか 0 〜 6 位までありますが、後はほとんど使わないようです。
ちなみに、BLOB SUB_TYPE TEXT は、BLOB SUB_TYPE 1 と同等。
CHARACTER SET はキャラクターセットで SJIS_0208, UNICODE_FSS 等があります。(まだあるけど通常3つ知っていれば良いかな)
EUC_0208,SJIS_0208 は、2byte構成、UNICODE_FSS は、3byte
SEGMENT SIZE は、ページの枚数みたいな物で 一ページ 64Kbyte だと 64x80 byte格納できる。と言う事だろう(と思う?)何も書かない場合は 80 が割り当てられる。
CHAR(xx), VARCHAR(xx) は 0 〜 32767byte まで指定できるらしいのですが、
TABLE 全体の byte 数にも制限があるようで、一個の TABLE 内で char(32767)を2個書けないみたいです。
今解っている事を少しだけ書いてみた。
-
7
nakaj
2003/07/04 14:45
id: p18sSGR1.u2
prob: 0.0%
-
-
kiyoさんのご紹介でここまできてしまいました。よろしくお願いいたします。
Interbase/FireBirdはDelphi使っている人には認知度高いんですよね。
BorlandもInterBaseは組み込み用途で売っててOracle対抗とか考えて
ないんでしょうね。
Interbaseがオープンになったとき私はRDBを勉強し始めまして、一番最初に
つかったのがInterbase6でした(だって社内システム作るにもお金ないし、
出してくれないから勝手にヤフオクで中古PC購入してLinux入れて、Delphiだけは買ってもらった)
Zope+FireBirdだったらインサートするだけでも
ストアドプロシジャー書いて結果を戻り値を貰う様に書くとすごくZOPE側のプログラムがコンパクトで楽になります。
(大概、インサート結果とかアップデート結果とか知りたいから)
もしまだストアドプログラムをされていなければぜひお試しください。
あ、ちなみに私はPythonもRDBもスキル低いです。だれか中神さんの
投稿に答えて欲しい。。。
-
6
kiyo
2003/07/04 08:30
id: 3KWn0w43fWE
prob: 0.0%
-
-
>>3 遠方より師匠現る
カンベンしてほしいなあ、私も RDB に関しては owa さんと同レベルかなあっと。
他は、山のかなたの空遠く、、、
>>4
これ早くやるべきだったねぇ。 Firebird の扱い解らず放置してたけど、
こんなにスゲー奴と解っていれば他を放置しても良かったかも?
と今更ながら思います。
で、私もこれから、火の鳥に時間を割きたい。
Oracle は、あんなに高いのに(統合ソフトで 160 万)使われる理由は余程良いのかなあー、Oracle 使った事ありません。
1 クライアントいくら(カルと言うのかいな)です。と言うのはちと高くない。
# 今思ったのですが、 Firebird って扱いが難しいし、カル等発生しないし、
# ソフト屋さん向けだろう、と思うのに何故に知名度が低いのだろう。
PS >誤解も招くといけないので「Firebird って扱いが難しい」はそれなりに使えばそれなりに動きます。
私がサンプル見つけたサイト
http://sourceforge.net/forum/forum.php?forum_id=30917
ここへ質問できれば良いのだけど、私にはちょっと、、、
-
5
owa
2003/07/04 01:55
id: mJs8kxp1Zus
prob: 0.2%
-
-
で、また初心者の私見ですが。
いいものは速い、シンプル。であろうと思ってます。
MTB に乗って背中に DB なんて格好つけられるものが好みです。
Oracle 使わなきゃいけないようなこと、考えてません。
|
|