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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
データベース板もあるが、あそこは過疎板だからこっちに立てました。
データベース関連のプログラミングならな〜んでもOK。
色んな話をしませまうる号。
2007/01/30(火) 09:30:49
MySQLにODBCドライバ入れて
CやRubyやExcel/Wordからはアクセス出来るのですが
なぜかAccessからはアクセス出来ません
なにがいけないのでしょうか?
2007/01/30(火) 12:03:22
>>173
versionとかわからんけど、マニュアルは読んで試したの?
ttp://dev.mysql.com/doc/refman/4.1/ja/myodbc-clients.html
2007/02/01(木) 21:09:34
>>172
仕事か趣味かしらんが、データベースがDB2ならWebSphereだろーなぁ。
別にDB2でJBOSSでもtomcatでもいいんだが。
176デフォルトの名無しさん
垢版 |
2007/04/11(水) 23:31:43
ツリー型の掲示板つくってるんですが、1レスを1レコードって考えた場合
レス間の繋がりってどうやって表現するのが良いんでしょうか。
2007/04/12(木) 00:25:28
にレスの親子関係を別テーブル化。
create table (new_res, parent_res, タイムスタンプ)
2007/04/12(木) 01:02:43
えーと、それが一番素直で使い勝手が良いとか考えたんだけど、
クエリ何度も飛ばすのは変だなぁ、って思いまして。
2007/04/12(木) 09:12:33
読込時の性能を上げるためにクエリ回数を減らしたいってことなら冗長なフォーマット済みデータを作る。
だけどそういった最適化は後で考えるようにして、まずは>>177の通り実装してみれば良いと思うよ。
2007/04/24(火) 03:49:31
データベース弄るのに楽な言語って何?
2007/04/24(火) 09:20:45
>>180
SQL
2007/04/24(火) 10:22:08
じゃあSqLを発行するのに楽な言語は?
2007/04/24(火) 11:25:45
PL/SQL
2007/04/27(金) 17:54:31
自分流のデータフォーマット考えて、自分でそれをいじるモジュール作って、自分の作品でそれを使うのが一番快感。
185デフォルトの名無しさん
垢版 |
2007/06/21(木) 23:02:39
最近SQL Server(2005) の勉強始めたものです。
Localでの段階では成功していたのですが、いざネットワーク上の別パソコンへ
という段階で、躓いております。
C#のWinFormプログラムでConnectionStringで接続して簡単なSQLを実行しようとしています。
するとWindows認証でログインしようとしたときに、guestでログインしようとしているようです。
(サーバ側でguestを無効にすると guestはログインできませんでした。みたいなエラーが出ます。)
ConnectionString内にUser ID を設定しても変わりません。

ネットワークはワークグループベースなんですが、Windows認証ってドメインとか関係あるんでしょうか?
こういう場合はSQL Server認証なんかでやった方がいいんでしょうか?
どんな資料もWindows認証を推奨してるんでWindows認証でやろうと思っていたのですが。
もちろんサーバー側にユーザー登録はしております。(Windows、SQL Serverとも)
186デフォルトの名無しさん
垢版 |
2007/06/22(金) 05:28:49
LDAP
187185
垢版 |
2007/06/22(金) 23:00:11
自己レス

エクスプローラの表示オプションで「簡易ファイルの共有を使用する」のチェックを外す

でした。orz
188デフォルトの名無しさん
垢版 |
2007/06/23(土) 00:10:28
SQL CLR って VS2005 スタンダードではできないの?
それとも、テンプレートはないけどできるものなの?
できるとしたら、めんどくささのレベルはどれくらい?
2007/07/02(月) 11:59:41
どなたかやさしく教えて下さい。
昨日データベースの勉強をはじめて、
データベースは、たくさんのテーブルを入れる箱だというところまで分かりました。
中に保管するテーブルは、アプリケーションが異なろうが、クライアントが違おうが、
とにかく放り込んで行ってOKなんでしょうけ?
レン鯖などだと、DB1個しか用意されてなかったりするので、
子供のオモチャ箱状態で運用して良いのか心配です。
2007/07/02(月) 12:10:52
> とにかく放り込んで行ってOKなんでしょうけ?

その、放り込みする方法はアプリケーションやプログラムで違うんだが。
2007/07/02(月) 12:51:49
>>189
当分は1個で事足りるだろうから心配ないよ
192デフォルトの名無しさん
垢版 |
2007/07/04(水) 13:00:36

例えば性別で男/女をオプションボタンで選択させるような
画面を作るとした場合、データベースとの連携って
皆さんどう設計していますか?


フォームに男/女とオプションボタンを配置すると、
データとプログラムがくっ付いているので気持ち悪く、
いつも良い方法が無いかなと思っています。
2007/07/04(水) 19:29:14
マスタテーブルを用意して
リストボックスと連動させてるよ
2007/07/04(水) 22:58:38
> フォームに男/女とオプションボタンを配置すると、
> データとプログラムがくっ付いているので気持ち悪く

「オプションボタン」「データとプログラムがくっ付いている」「気持ち悪く」
と、どれも他人には何の事やら分からないことばっかりじゃないか。
具体的に言ってくれ。
2007/07/05(木) 08:41:12
>>192
社会保険庁のようにデータベースの性別の誤りを
訂正させたい場合以外は、男女のオプションボタンと
データベースの連携なんて存在しないと思うのだが。
196デフォルトの名無しさん
垢版 |
2007/07/05(木) 14:39:39
分かりづらくて申し訳ないです。

オプションボタンは、ラジオコントロールの事です。

――――――――
| ○男 ●女 | ← グループの中から一つだけ選ぶ事が出来る
――――――――

通常ラジオコントロールで、得られる値は数値になります。
上記例の場合、0=男、1=女 とかになります。

ただ、このままでは 0=男 はデータベース側ではなくて、
フォーム側の設定になり、それに合わせてDBも0、1 or 男、女 と
保存する事になります。
これでは、フォームとDBが密接に関係していると思い、どうなのかな?
っと悩んでいます。

フォーム表示時に、ラジオコントロールを作成/追加させたりする方が
一般的なんでしょうか。

コンボボックス等であれば、データは切り離されていますので、
殆どの場合、考慮しなくて良いんですが…。
2007/07/05(木) 14:53:25
>>196
話のポイントはわかりました。私が疎いのかどうも環境がわからない。
Formの値が直接質問や挿入に使われるようですが、
データベース「プログラミング」はどこに居場所があるのですか?
2007/07/05(木) 15:57:20
>>196
データベース内のデータと、人が見るGUI上の表示を変えることはよくあると思うが。
具体的に何のアプリ使ってるの? MS Access とか?
データベース本体と、それを操作するGUIプログラムは別になってる方が一般的な気がする。
2007/07/05(木) 17:29:31
>>197
プログラミングの居場所?
すみません。ちょっと分かりません。

例えば、ラジオコントロール と 登録ボタンだけの簡単なアプリがあったとして、
登録ボタンを選択時に、DBへ登録するなどです。

ラジオコントロールで 1=女 が選択されていれば、1がDBへ入ります。
ただ、この1は、フォームとDBで決まりごととして、対応する事になります。
例えば、女のIDを1→501 へ 値を変えた場合、フォームも変更しなければいけません。
通常、このような作りは良くないと思います。

>>198
環境は、SQL Server と VB.NET(2005) になります。
2007/07/05(木) 18:44:52
あ〜
201デフォルトの名無しさん
垢版 |
2007/07/05(木) 19:27:17
>>199
フォームが"1"の時はフィールド 性別 の値は"女"と変換するのが
プログラムの役割だと思うのですが。
これだとフォームが変更されるとプログラムを変更しなくては
ならなくなりますが、それがいけませんか?
2007/07/05(木) 20:09:22
>>201
うーん。
「データとプログラムは分けるべき」って言うのが根底にあるんですが、
どうなんでしょうか。

この場合、DB側でもフォーム側でも、0=男、1=女 という情報を持っているわけですよね?

どちらか片方(フォーム/DB)を修正したら、もう一方も修正が必要というのは、
設計がおかしいような気がしてならないのです。

それともそういうものなんでしょうか。
2007/07/05(木) 20:25:06
プログラムには、

if(seibetsu=="0") then function_otoko();
else if (seibetsu=="1") then function_onna();

のようなことがどこかに書かれているのでしょう?
フォームとDBの修正どころか、プログラムも変更が必要に
なると思います。
204203
垢版 |
2007/07/05(木) 21:04:36
どうしても「データとプログラムはそれぞれ独立」にするべきだとすると

1 フォームのボタンの名,
2 そこで返される値,
3 データベースに格納されるときの値
の少なくともこの3項目をフィールドとして持つテープルを作っておいて、
まずこのテーブルを読み込み、変換してデータベースを処理するように
プログラミングする。あるいはプログラムは何もせずJOINで処理する。
が、考えられるのではないか。
>>193 がこれに当たるのかどうか、よくわからない。
2007/07/05(木) 21:11:18
入力で返される値をそのままDBに保存するのはセキュリティホールの元
2007/07/10(火) 01:24:42
ちゃんとチェックしないとねえ。
2007/08/02(木) 23:21:17
誰か>>188プリーズ
208デフォルトの名無しさん
垢版 |
2007/09/05(水) 21:09:46
こんにちは、ど素人プログラマです。

SQLサーバー2000について教えて欲しいのですが、

あるテーブルに項目1、項目2、項目3が定義されているとして、
 項目1の値が「1」のときは、項目2は必須項目
 項目2の値が「1」以外のときは、項目3は必須項目
というような事を外部キー制約のように実現するにはどうすればいいのでしょうか?

制約? トリガ?
2007/09/16(日) 15:37:43
DFD図を清書して資料として残そうと思っているのですが、
これを書く何か良いソフトは無いでしょうか?
それともボールペン最強でしょうか?
210209
垢版 |
2007/09/16(日) 18:48:04
XEAD ってソフトがよさげなので、試してみることにしました。有難う御座いました。
211デフォルトの名無しさん
垢版 |
2007/10/06(土) 13:08:14
昨日からDBMSの勉強始めた者です。すみません。
DBが複数の表を入れる器だというところまで理解しました。

素朴な疑問ですが、同じWebサービスを提供するアプリなどで、
ユーザ数ぶん器を用意するのが普通なのでしょうか?
それとも、表を重複しない名前にして一つの器にブッこんでいけばよいのでしょうか?
2007/10/06(土) 14:18:31
どこまでわかっているかしらんけど
とりあえずいえるのはユーザー数に比例して増えるのはテーブルの行数
負荷が大きいと複数の物理的なデータベースサーバーを増やすがそれはまた別の話
2007/10/06(土) 18:15:55
>>212
なるほどありがとうございます。
1ユーザが、それぞれ顧客情報のテーブルや商品情報テーブルなどを持って
ショップシステムを運営するような場面です。
1DB内に、顧客情報テーブルA、顧客情報テーブルB、商品情報テーブルA・・・と入れていき、
ABで区別して使おうかと考えました。
2007/10/06(土) 21:55:25
>>213
それならユーザーごとに別DBにするのが一般的だな。
215デフォルトの名無しさん
垢版 |
2007/10/07(日) 04:43:45
>>213
レン鯖とかでcreatedb無理なら1個で、できるならユーザ別に、でいいんじゃね?
2007/10/08(月) 11:11:03
自分だけのデータベースならともかく、顧客情報とかも扱うデータベースつくろうって人が
そういう知識じゃ危なすぎだろう。
2007/10/08(月) 14:23:28
テーブルは単なる例です。
説明しやすいかと思いまして。
2007/10/09(火) 02:02:19
うむ。どっちがいいだろうか...
2007/10/21(日) 13:52:32
ユーザーテーブルに
・ユーザー情報全般を更新
・電話番号のみ更新
の2つの更新がある場合に、
@ 2種類のUPDATEを発行する処理を別々に作る
A UPDATEを発行する処理は1箇所で、
1回SELECTしてとってきたデータに、更新したい情報のみセットして同じUPDATE処理を実行する
(更新しないデータもSQL上だと set xxx = val, みたいになります)
1と2どちらがいいのでしょうか。
2007/10/22(月) 00:39:42
>>219
221219
垢版 |
2007/10/22(月) 23:28:49
>>220
ありがとうございます。そうなった場合に同一テーブルに対するUPDATEが複数できてしまうのですが、こういうものなのでしょうか。
2007/10/23(火) 11:14:04
「UPDATEが複数できてしまう」とは、どこに出来ると考えてるの?
223219
垢版 |
2007/10/23(火) 21:39:32
>>222
Daoに2種類のメソッドができてしまうといったほうがいいでしょうか。。。
2007/10/23(火) 22:03:35
>>223
電話番号のみ更新用メソッドと、ユーザー情報全部更新用メソッドが出来るって事でしょ?
ユーザー情報の更新に時間掛かるんだったら分けた方が良いし、
そうでなければ全部更新だけで良いような気がする。
2007/10/24(水) 22:48:39
どちらも主キーを条件に更新をするので更新件数は1件です。
1. updateAllで発行されるSQLは update userTbl set name = * , addr = * , tel = *, kubun = * where...
2. updateOnlyTelで発行されるSQLは update userTbl set tel = * where ...
全部更新だけを採用した場合、画面から受け取るのは主キーと電話番号だけなので、1は実行できないじゃないですか。
なので、1の全部更新を実行するために、主キーでデータを取得したDTOに画面からきた電話番号だけをセットして1を実行する、という流れになるのかなぁと。

さらに、kubunだけを更新するような機能が追加された場合に、
update userTbl set kubun = * where ...
を作るのか、これだとupdate文ばかり種類が増えるのが気持ち悪いような気がして・・・
2007/10/25(木) 10:29:12
画面表示や、画面からデータベースへ情報を受け渡すプログラムはどうしてるんだ?
ユーザー情報が全て画面に表示してあるなら、そこから全情報を渡すこともできるんじゃないの?
画面上で変更された項目だけについてSQLを動的に作成することもできるだろ。
2007/10/25(木) 23:04:44
全情報更新は、ほとんどの入力項目がテキストボックスで編集画面にくると現在値がセットされいて、hiddenに主キーがあります。
電話番号のみ更新は、電話番号のみテキストボックスがあり編集画面にくると現在地がセットされていて、hiddenに主キーがあります。

動的にSQLを作るとは、例えばStringBufferとかでがんばるということですか?
update userTbl set ************* where id = ..
***の部分を値があったら StringBuffer#append("name = " + name) という感じで。

本当に頭悪くてごめんなさい。
228デフォルトの名無しさん
垢版 |
2007/11/07(水) 10:20:59
visual basic上で、SELECT文に変数を使用することは可能ですか?
229デフォルトの名無しさん
垢版 |
2007/11/07(水) 10:35:39
Ruby on railsなんて見ていると、DBプログラミングなんて必要なのかどうのなのか
と思うのだが。
2007/11/07(水) 10:41:09
ああいうのが今後有望な方向の一つだとDB関係の御大が
ACM Queueのインタビューで言ってたな。
2007/11/07(水) 17:27:34
MS-DOS時代の、CUIデータベースソフト(マイクロソフトアクセスの前身?)の名前がどうしても思い出せないんですが、おわかりになるかた、おしえてください。

よろしくお願いします。
2007/11/07(水) 21:33:00
マルチプラン?
2007/11/09(金) 00:06:53

2007/12/20(木) 20:51:36
>>231
通称マルチファイル
マイクロソフトマルチツール - ファイル だったかな?
- プラン 通称マルチプランが 表計算
他にマルチチャートってのがあった。

dBASEII の事じゃないよね?
235デフォルトの名無しさん
垢版 |
2007/12/29(土) 16:31:20
トリガーアクションとして、「プログラムの起動」ができるDBシステムは
ありますか?
236デフォルトの名無しさん
垢版 |
2008/01/14(月) 17:05:21
Microsoft SQL Serverって商品名ですか?

分からないことがあってぐぐってるんですが、各々の単語って
一般名詞だと思いません?


どうしてマイクロソフトアアアアアアアアアアア!!!
2008/01/14(月) 18:35:50
>>236
Microsoftは一般名詞じゃないよ
2008/01/14(月) 20:00:20
そうだね(´・ω・`)ショボーン
2008/01/14(月) 20:55:55
Windowsとか
もうやめてくれよと
240デフォルトの名無しさん
垢版 |
2008/01/20(日) 19:37:58
なんでウインドウズを使いたがる奴がいるのか?
2008/01/20(日) 20:27:23
一番便利だからだろうな
242デフォルトの名無しさん
垢版 |
2008/01/21(月) 20:17:06
なんでウインドウズは車輪の再発明ばかりやるのか?
2008/01/21(月) 20:18:39

http://itpro.nikkeibp.co.jp/article/COLUMN/20080104/290425/
2008/01/22(火) 00:15:28
>>242
*nixの連中は再発名ばっかやってるよなw
2008/01/22(火) 00:17:56
再発名?
2008/01/22(火) 05:48:19
再発名はあるいみ至言かもしれん。
同じ概念なのに名前だけが違うって意味だろ?
マイクロソフトがお得意の。
2008/01/22(火) 06:24:15
かといって最近の*nixにオリジナルな新概念があれば
知りたいもんだが…
パクリ元が尽きたせいでMicrosoft Researchがあの
規模になってんだyo!
2008/01/22(火) 22:03:33
>>247
過去の蓄積をパクり終えた後はそりゃ当然だろ。
ある時代に研究開発しているものはどれも同じような問題意識が背景となるわけで。
2008/01/22(火) 22:46:29
パックってもいいが、意味無く文法かえたり名前変えたりして欲しくない
ディレクトリのデリミタも素直にスラッシュにしておくべきだった
2008/01/25(金) 05:45:11
マイクロソフトは自社のパクリ製品をスタンダードにしたがるからなあ。互換性で問題でまくり。

マカ方面も一般名詞のプロダクト多いし、頭にi付けたのばっか。
ワードじゃなくてページとか、パワーポイントじゃなくてキーノートとか。

またDARRPAがお金出して、戦争用のネットワーク構築に伴うOS開発ってやらないのか?
OSの進化が止まってる。ネット機能以上の盛り上がりがないよな。仮想化もいまいちだし。
251デフォルトの名無しさん
垢版 |
2008/01/29(火) 14:07:09
WEBデータベースプログラミングの卒論書くにもあまりサイトしらないので、書くのにオススメのWEBサイト教えてください
252斎藤亜紀
垢版 |
2008/01/29(火) 14:10:36
GetMoney!では、名前に恥じないよう、皆様にキャッシュバックしやすい仕組みを
 提供しております。
 ぜひ、この機会に、GetMoney!に無料会員登録してみてください!

 http://dietnavi.com/?id=676366
2008/03/04(火) 00:35:30
お前ら、データベースをマンセーしてるのか?
2008/03/04(火) 14:44:45
肉のマンセー
255デフォルトの名無しさん
垢版 |
2008/03/05(水) 01:24:51
MySQLにExcel (Office XP)からODBC接続すると、データが文字化けしてしまう。
DBにはUTF8で登録していて、クライアントはWinXP環境。
Connector/NET 接続だと問題無いんだけどね。

character-set系(skip-character-set-client-handshakeも)やら
MyODBCで、set names utf8 などの設定をしてみたんだが駄目。
どうしても(日本語に)化けてしまう。
ちなみに、登録してあるのは日本語では無い(ISO-8859の11辺りだったかな?)

なんだろ。。
256255
垢版 |
2008/03/05(水) 08:29:57
補足。
データは、元がISO-8859-11?をUTF-8に変換してDBに登録していて。
それをExcel(MSAccessでも同じ)に読み込んでみると、
ISO-8859-11?の0x80以上にあたる文字が日本語に化けて表示されてしまいます。

ちなみに、そのデータを直接MSAccessに登録して、ODBCでExcelから読んでみると
正しく表示されたんで。少なくとも、MyODBCかMySQLの設定の問題だと思うんだけど。
257デフォルトの名無しさん
垢版 |
2008/03/06(木) 18:58:48
MySQLのODBCコネクタには問題が多い
バージョンによってもかなり挙動が違う
258255
垢版 |
2008/03/07(金) 01:30:11
ありがとう。そうなんだ。
しょうがない、Accessでやっとくか。
2008/03/07(金) 07:58:09
======== my.ini
[client]
default-character-set=sjis
skip-character-set-client-handshake

[mysql]
default-character-set=sjis

[mysqld]
default-character-set=sjis
skip-character-set-client-handshake

これをサーバー側かクライアント側のどっちかに置くと
正しく認識/余計な変換されなくなるとか何とか書いてあるサイトをみたことがある
(サイトは忘れたしどのディレクトリに置くのかも忘れたので調べてくれ)
260255
垢版 |
2008/03/08(土) 00:44:02
>>259
なるほど。
mysqldの方には、skip-character-set-client-handshake を入れていたけど。
clientにも入れるのね。
試してみる、ありがとう。
261255
垢版 |
2008/03/11(火) 02:02:07
うーん。駄目でした。
扱う文字が非sjis系でPCが日本語OSというところで、ドライバが上手く
動かないんだろうね。あきらめ。
262デフォルトの名無しさん
垢版 |
2008/05/04(日) 00:16:52
とりあえず何かデータベース的なものを作ろうかと企んでるんですが
何かお勧めのものや準備しておくべきものとかってありますか?
2008/05/04(日) 08:41:13
>>262
Accessを買う
Accessの本を買う
2008/05/07(水) 13:03:55
>>262
Prolog
265デフォルトの名無しさん
垢版 |
2008/05/30(金) 19:25:22
紙と鉛筆
2008/05/31(土) 06:27:57
データベース的なもの
データベース的なもの
データベース的なもの
データベース的なもの
ISAMの勉強でもしやがれ
267デフォルトの名無しさん
垢版 |
2008/09/12(金) 09:58:52
DBやる前にファイリング検定でもうけやがれ
2008/10/14(火) 13:52:49
マイクロソフトのSQL Server2005の評価版をダウンロードしたんですが
インストーラのexeファイル(約955MB)にデジタル署名がされていないんです。
これってインストールしてもOK?
マイクロソフトがデジタル署名なしにリリースするってありえる??
2008/10/16(木) 21:13:01
基礎薬学医学のデータを蓄積して、ノートみたいに編集したり、必要時に検索できるようにするために、ちょうどいいデータベースソフトウェアなどありませんか?
化学構造式や写真、グラフ、文書をうまく管理して、学習に役立てられたらとおもってます。
また、論文や日記など、文書も管理・編集できるとよいです。
どなたか教えてもらえませんか?
2008/10/17(金) 13:00:00
>>269
有能な秘書
2008/10/17(金) 17:10:59
まぁ確かに・・・
272デフォルトの名無しさん
垢版 |
2008/10/18(土) 14:26:37
>>269
データベースっていうより資料を管理する手法を知りたいんだね。
資料を管理する手法をアプリケーションという形で提供されていればベストだよね。
それはソフトウエア板の「こんなソフト知りませんか?」スレで聞いたほうが良いね。

自分はエクセルを使っている。
ドキュメントは自分でテキストエディタで書く。そしてそこに引用されている図のための画像やらその他ファイルを一緒のフォルダに入れる。
このフォルダをエクセルにハイパーリンクで挿入して見出しの一覧としている。
この見出しをクリックすればそのフォルダが開き、そこには必要なもの一式が入っているというわけ。
で、検索はWindowsの検索を使用している。テキストファイルならこれで引っ掛けることができるからね。

これらをもっと統合的にやるアプリは俺もほしいと思う今日この頃。


273デフォルトの名無しさん
垢版 |
2008/10/18(土) 17:31:58
データベース自作するののアルゴリズムとか載ってる本やHPない?
Oracleを超えてやる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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