1read 100read
2011年10月1期プログラムデータベースプログラミング全般スレ TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
Objective-C [ObjC part:6];
Excel VBA 質問スレ Part22
【初心者歓迎】C/C++室 Ver.77【環境依存OK】
新言語を開発したい


データベースプログラミング全般スレ


1 :04/10/09 〜 最終レス :12/01/11
データベース板もあるが、あそこは過疎板だからこっちに立てました。
データベース関連のプログラミングならな〜んでもOK。
色んな話をしませまうる号。

2 :
ドラゴンボール板に帰れ

3 :
cdb最強。

4 :
odbc最強

5 :
>4
えー・・?
なんであの不細工なI/Fが最強ナンデディスカー?

6 :
ado最強

7 :
EOF最強

8 :
>>1は早く氏ね

9 :
>>7
ワロタ

10 :
torque最強

11 :
cache最強

12 :
>>1
板違いです。
過疎などというのは言い訳になりません。
データベース板
http://pc5.2ch.net/db/

13 :
過疎じゃん。w
それにまともなプログラミング関係無いから
こっちでいいよ。

14 :
>>12
その板ほんとにバカばっかりだな・・・

15 :
なんであそこまで過疎化するか不思議だったりする。

16 :
データベースプログラミングって、ぶっちゃけつまんなくない?

17 :
データペースプログラミングなんて本当はやりたくない
やってて楽しくない
作っててわくわくしない
(いや〜なドキドキ感はあるが)
しかしそれでもやらなきゃいけないのがプロのプログラマ

18 :
DBデータをCSVで出力するプログラムに
フィールドを一件追加する作業なんて最高だね!

19 :
Oracleとかだと今のところまともなI/FがCOM/VBしかないなんて悲惨すぎる。
つーかプログラムから使うとなると、ODBCとか変な部分で敷居が高いんだよなあ。
SQL文発行させるまでが長いというか。

20 :
>>16
確かにつまらん。でも、今はこれが一番金になるのよね。

21 :
>>18
DB のデータを CSV で出力するのにどうしてプログラム書く必要があるんだ?
DBMS 側にそういう機能がついてるものもあるし、なかったとしても
ちょっと SQL 工夫すりゃすぐできるじゃん。

22 :
問い合わせ言語(笑)

23 :
標準問い合わせ言語

24 :
以下はPrologの中でSQL風の記述をした部分なのですが、
select (顧客番号,商品番号,出荷日,数量,金額)
into X
from 売上
where 出荷場所='東京支店' and
出荷日>='20041207',
いかにも、SQL風ではありますが、Prologでは 論理式の and を "," で
表現していて、これが文法上の骨格になっており変更がむずかしい。
その結果、(顧客番号,商品番号,出荷日,数量,顧客番号)の
外側の括弧が外せず、既存のSQLの字面をそのままの形でPrologプログラムに
置き換えることができません。どなたか、
よいアイデアをお持ちの方いませんか。

25 :
過疎化してるだけならいいんだが、
アフォしか残ってないのが遺体

26 :
PostgreSQLとMySQLの違いを教えてください

27 :
PostgreSQL 目くそ
MySQL 鼻くそ

28 :
DB使う利点をおしえてくだしぇー。

29 :
値段を大幅に吊り上げられる

30 :
こんなプログラムできますか?
javaを使ってIDというか会員制みたいなHPを作りたいんだけど・・ヤフー、Googleとかが
IDとパスワードいれたらログインできたりするプログラムなんですが、プログラム辞典なんかで
調べたんだけど載ってないし・・・だれかわかる人いますか?

31 :
>>30
あまりにもレベル高すぎてこの板の住人には無理だよ。

32 :
うむ、難題だ。

33 :
>>30
SSOでぐぐれ

34 :
>>30
俺できるけど、総額が2京円くらいかかるよ

35 :
QDBMを使っている人が居たら教えて下さい。
QDBMでは、1レコードに複数のデータを格納するには配列や自製データ型にして格納するしか無いんですか?
でもそうだとすると取り出すときにあるレコードの一つの値だけを取り出す事が出来ませんよね。
データの格納位置のイメージはRDBMSのテーブルみたいな
複数フィールドを作って1レコードにフィールドごとの値を格納するという形ですよね?
サンプルコードを読んでもチュートリアルを読んでも
キー1つに値1つを関連付けてるものしか見当たらないんですが。

36 :
sqlite

37 :
>>35
遅レスだが、、、
同一キーのレコードを複数入れたいのであれば、
BツリーのAPIを使えば可能だよ。カーソルも使える。

38 :
>>34
兆の次の単位を覚えたばっかりでうれしいんだろうけど、
低脳丸出しだから以降気をつけた方が良いよ

39 :
>>38
そうですね。
2ヶ月前のレスにいちいちけちくせーこと言うことないもんね。

40 :
>>37
なるほど、確かにBツリーで出来ますね。
レスありがとうございました。

41 :
>>39
発言の責任に賞味期限は無い。

42 :
データベース関連の文書を読んでいて
「格納されるデータはスパースでない」と出てきたんだけど
これは、例えば100バイト区切りで区切る事にして70バイトのデータも30バイトの空白データを入れて100バイトに調整する
みたいな事はしていませんよ、って事ですか?

43 :
C++ で O/R mapping できるライブラリでいいのない?

44 :
20個くらいしかテーブルがなかったので、自動生成に頼らずいちいち書いたよ…

45 :
|ウェア氏ね。
文書無さ杉で、構文一つ探すのにも苦労する。

46 :
>>45
DB板に専用スレがあって活発に書き込まれているじゃないかw

47 :
QDBMのplusのサンプルコード、
書き込みとか読み込み処理で例外が発生した時にクローズされなくね?
マニュアルにクローズの時にDBは更新されるとか書いてあったけど、
これは例外発生時は全処理をキャンセルするからクローズされなくても大丈夫、と言う事を意味してるのか?

48 :
openと同じ数しかcloseかけないみたい(closeが多いとコンパイルエラーになる)
だから例外処理中でクローズできないし
サンプルコード通りに書くしか無さそうだけども
本当にこれで良いんだろうか?

49 :
あぁ俺がアホだった。
マニュアルの一番上に書いてあった。
明示的に閉じない場合はインスタンス破棄時にデストラクタで閉じられるらしい。

50 :
DBMSでSQL文の構文解析をどのように行っているか知りたいのですが、
参考になる書籍、情報などご存知ないでしょうか。
とりあえずHSQLDBのソースコードを読み始めているのですが(まだ1時間ですけど)
それらしい部分にすら辿りつけてません・・・

51 :
データベースの実装に関しての資料とかあまり見ないですね。
利用することに対しての資料は特定DBのものに関しては腐るほどあるのですが・・・。
もしよろしければ実装に関して何からの情報が書いてあるサイトとかありましたらよろしくお願いします。

52 :
これからCを学んでいこうと思うが、
一緒に勉強していく人・いろいろと親切に教えてくれる人集まれ。
使っているサイト
http://www.cham.ne.jp/piro/
他にもサイトがあったらどんどん教えて( ゚д゚)クレ
みんなで頑張るのです。

53 :
>>52
C言語輪講スレ
http://pc8.2ch.net/test/read.cgi/tech/1123177037/
隔離スレがあるんだから、そっちいけよ

54 :
RDMSの勉強を始めた高校生です。
テーブルの各行の一つのセルに、可変の数の配列要素を記述したいのですが、どうするのが一番自然なのでしょうか。
実行時に、各行のユニークなIDを元にそれぞれ別のテーブルを作ってもいいんですが、パフォーマンスが気になります。
もしくは "hoge1|hoge2|hoge3|..."というように何か区切り文字を入れて一つの文字列にしてもよい気もしますが、定石的な方法があれば教えていただきたいと思います。
よろしくお願いいたします。

55 :
>>54
正道なら別テーブル
それが正規化
邪道ならデリミタつけて可変長文字列にブッコミ
それがオレのジャスティス

56 :
a|{b,c,d}
という行を入れたいなら
a|b
a|c
a|d
という3行を入れる。それがRDB。
配列をサポートしたRDBMSを使うという手もあるが。

57 :
>>55
ありがとうございます。”正規化”という言葉を教えてもらって助かりました。
少し調べたところ、各行ごとに別表を作るのではなくて、全体で一つ、別に表を作ればいいわけですね。
データベースはツールとして使いたいだけだったので基本的なことも調べずにいたのが悪かったみたいです。

58 :
>>56 第1正規形というやつですね。

59 :
>>54
一冊、DBの本を読んでおくといい。
正規化の話は、おそらく1章か2章に書かれているはずだ。
最初は、ちょっととっつにくいが、特性をうまく生かせた時は楽しいぞ。
関係ないけど、O/Rマッピング楽しい。

60 :
>>59
作りたいWebアプリケーションがあって(えっと、まぁ、とってもしょぼいんですが)、背後でデータベースを使いたいと
思ってのことだったんですが、考えれば考えるほど、データベース構造の設計が一番重要だという気になってきました。
ユーザーインターフェイスや他の部分への設計にすごく影響があるという意味でですけど。
あと、データベースの構造って一旦データが入るとあとから変更できないんですね(?)。(僕はMSDEというフリーのDBを使っていますが
これって普通のことなんですよね?)個人的には、開発の試行錯誤の最中だけでもいいので、構造を自由に変えられるととっても
便利だと思うんですけども。
データベースってそれ自体で結構面白いですね。おっしゃるとおり、まずは一冊ぐらい簡単な本を読んでみようと思います。
、、、といってまた本来の目的からすれば横道にそれていく自分がいてもどかしいです。

61 :
>>54
ヒント: ALTER TABLE
コンバーターの自作も大した事ない。
dump して DROP DATABASE してから戻すのも簡単。
あとは、これでも読んでおけ。
http://www.rfs.jp/sitebuilder/sql/
もっと詳しい事は本買って DB板でもみとけ。

62 :
>>28
超遅レス
DB使う理由
・途中でロールバックできる
・キーを間違えなきゃ複数のテーブルのデータがちゃんと更新される
・複数のプログラムから更新かけてもデータが壊れない
・作ったプログラムがこけてもデータが破壊されない

63 :
再びすみません。本を一冊買って読み進めていますが並行して質問させてください、、、。
テーブルにデータををINSERTするときに、プライマリーキーが自動で割り振られるようにしています。
(具体的にはマイクロソフトのWebMatrixでテーブルを作るときにプライマリーキーのIsIdentity属性をtrueにしました。)
このIDENTITYキーを再利用したいのですが可能でしょうか。
たとえば、DELETE句で"N"というIDを持っていた行を削除したとします。次の機会にINSERTでデータを追加する際に同じ"N"というキーを使うようにしたいのです。

64 :
無理、無駄、危険。
どうしてもやりたければ、「空いた番号」を覚えておくテーブルでも作れ。

65 :
>>64
「無理」なわけですね。。
最初はIDを自分で管理できないかとも思ったのですが、トランザクション(始めは考えてもいなかったのですが)のことなどを考え始めると大変そうだと思い、
だったらIDの管理はデータベースに任せておいて、単にIDを再利用できればいいと思ったのですけど。

66 :
>>62
・ある程度以上のデータを扱うときにはCSVとかと比べて圧倒的に処理が早い
これも追加してくれ

67 :
・プログラム毎のファイル形式の違いを完全に吸収する
つうのは?。
DBを使う理由かぁ。それなりの本には必ず書いてあると思ったがなぁ。
使うのが当たり前過ぎて使う理由が見えにくいのかな。
使わないとどのような弊害が発生するかを想像するのが早道かも

68 :
データベース触ったこと無くて、触るの怖いんだが、
途中で適当に項目や項目数増やしても、
プログラムほとんど替えずに動くの?
csvだとデータバージョン管理とか、構造変更した時の弊害とか、
データ拡張時の未フォローデータの扱いとか、
すげー拡張時の事で、頭いっぱいで破裂しそうなのだが…

69 :
最初にキッチリ設計するのがDB

70 :
>>66
「高速で便利なデータアクセス手段を提供する」ってことでいいんじゃないかな
なにしろSQLは便利だし、複数のキーや条件が絡む高速な検索方式を手で
実装するのはめんどい。
>>67
UNIXの/etc/passwordみたいなレガシーなデータベース(ただのファイル)
も、複数のプログラムからアクセスできる点では同じ。
ただし、データフォーマットはまちまちだが、現在はXMLのようなものもある。
それを「DBを使う理由」といってしまうのはどうか。

71 :
>>68
変えずに動く「場合もある」としか言えない
普通はもちろんデータ項目増やしたんならプログラムを変更する必要がある

72 :
>>63
自己レスですが、IDENTITYを使うのはやめて、
SELECT MyID+1 FROM MyTable WHERE MyID+1 NOT IN (SELECT MyID FROM MyTable)
とかクエリしてみて返された値を使って自分でIDを管理するようにしてみました。(いいんでしょうか?)

73 :
>>71
その為のDEFAULT制約じゃないのか?

74 :
>>72
・同時アクセスが来たら衝突する
・IDごときでテーブルにあるか調べてたらとても遅い

75 :
プライマリキーにUUID使うのはダメですか?

76 :
全テーブルでユニークにする意味があれば

77 :
今でも文字列のサイズって2進数が推奨?

78 :
>>77
日本語がおかしいが、いわんとするところは
キリのいい数字という意味だな。
256とか65536とかは魔法の数字だから
実態がどうであれ、推奨。

79 :
PostgreSQL始めたんですがどこから手をつけたもんやら困っています
なにかいい書籍ないですか?
まだPQsetdbLoginで接続してSQL投げて遊んでる段階です

80 :
目的がなければ何もしないでOK

81 :
普通のPGと、SQLも含めたDB屋って違うからな。
SQLをDB毎に最適化できるPGがそもそもあんまりいない。
DBできますってPGに作らせると、毎回DBから結果拾ってくるようなの書くし。
Web+DBだと更にWebデザも絡んでぐだぐだになるかPGが必死こいてHTML修正しまくるかに成る。
なんかいいの無いの?

82 :
でもPostgresのソース見た感じ、RDBって中身はキャッシュ制御の塊じゃないの?

83 :
勉強中の奴にいっとくが
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。

84 :
教える側気取るなら理由も書けよ。

85 :
>>81
DB屋が最適化した SQL投げる関数作って PG に渡す。
もちろん要相談。

86 :
勉強中の奴にいっとくが
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。

87 :
>>86
素人キター

88 :
SQLなんて、DBを詳しく知らなくても素人が扱えるようにした簡易言語に過ぎない
だろ。それに、きょうびサーバーならGB超のメモリを搭載しているんだし、たかだか
数十万件くらいのデータベースなんて、オンメモリでやれよな。

89 :
で、サーバー落ちたらすっぱりデータはあきらめる。
そういう人生もいいかもな。(w

90 :
>>88
またまた素人キター

91 :
>>88
>SQLなんて、DBを詳しく知らなくても素人が扱えるようにした簡易言語に過ぎない
素晴らしいな。

92 :
DBのオペレーティング画面は違えど、標準SQLは、DBによらないし、選択、抽出、作成、挿入の操作をCUIでやってるだけだし、
具体的に言うと、ACCESSのGUIでコピー、フィルタ、入力、ペーストやってるのと変わらない。

93 :
>>92
ああ、そうだな。
いい子だからもう寝なさい

94 :
全角英字キモい

95 :
SQL文 ≒ VBスクリプトの一部機能

96 :
ちなみに
88=92=95
なわけだが。
キティちゃんに認定してあげます。

97 :
96 = データベースがないと、データ処理ができないと本気で思っている
プログラマ以下の半人前SE(自称コン猿)

98 :
名前いじってる時点でお察しください

99 :
>>95
今MSはそういうことを考えているらしいぞ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
Objective-C [ObjC part:6];
Excel VBA 質問スレ Part22
【初心者歓迎】C/C++室 Ver.77【環境依存OK】
新言語を開発したい