DB板自治・質問・雑談スレ
- 1 :名無しさん@お腹いっぱい。:03/06/30 16:12 ID:???
- 語れ!
- 481 :NAME IS NULL:2007/02/24(土) 22:47:56 ID:???
- くだ質スレはここだったのか……
別のスレで質問しちゃったよorz
- 482 :NAME IS NULL:2007/02/25(日) 21:42:05 ID:Nd7M9VGQ
- ユーザー自動作成の日別スケジュール表で、
何のイベント(予定記入)もなく過ぎ去った過去の日のレコードは、
何らかの追加があった場合にはレコードを新規に追加するようにして、
削除した方がいいですか?
- 483 :NAME IS NULL:2007/02/26(月) 06:52:37 ID:kIBCKfjs
- すみません、思い切り初心者な質問です・・・
いずれかのカラムに「x」か「Y」を含むレコードを全て抜き出すSQL文を教えてください。
よろしくお願いします
- 484 :483:2007/02/26(月) 08:48:01 ID:kIBCKfjs
- 連投スミマセン 483訂正と補足です
「x」か「Y」 ではなく 「x」と「y」 でした。
例えば・・・
カラムAに「x」と「y」がある場合 ○
カラムBに「x」、カラムCに「y」がある場合 ○
カラムDに「x」があるが、他のいずれのカラムにも「y」がない場合 ×
そして条件に合致するレコードを全て抜き出す・・・
という意味です
なんかややこしいですがよろしくお願いします。
- 485 :NAME IS NULL:2007/02/26(月) 10:51:18 ID:???
- >>484
select * from table
where (col1 = 'x' or col2 = 'x' or ...)
and (col1 = 'y' or col2 = 'y' or ...)
- 486 :NAME IS NULL:2007/02/26(月) 20:27:49 ID:???
- >>485
ありがとうございます!
- 487 :ど素人:2007/03/06(火) 21:37:03 ID:???
- すいません。
関西の中堅ぐらいの印刷会社のものなんですが、
手書きの伝票が限界になり、
システムの導入を考えています。
要求仕様を考えているところなんですが、
ご相談に乗ってはいただけないでしょうか。
http://www27.atwiki.jp/printing
トップページ一番下のエクセルファイルが一番見やすいと思うんですが。
要は現在の手書きの伝票をシステム化したいということです。
- 488 :NAME IS NULL:2007/03/08(木) 18:01:51 ID:5iSuv7KQ
- 初心者ですが質問させてください。
SELECTで、最新の日付から5件のデータを取ってくるようにしたい
のですが、whereの条件をどうすればいいかわかりません。
どうすればいいでしょうか?
- 489 :NAME IS NULL:2007/03/08(木) 18:06:38 ID:???
- メールアカウントのテーブル設計について質問なのですが、
ID、PASS、POP3サーバ、SMTPサーバ等の情報を持つわけですが、
1テーブルに全情報を持つか、
メールサーバテーブルを作ってメールアカウントはメールサーバIDを持つ
という設計にすべきか迷っているのですが、どちらが正しいでしょうか?
・1テーブルにべた書きしてしまうとサーバ情報を変えたとき関連するユーザに置換処理を
行わなければならない
・メールサーバを分離すれば、変更処理が必然的に全参照元に反映される
- 490 :NAME IS NULL:2007/03/08(木) 18:42:13 ID:???
- >>488
ググレカス
>>489
>ID、PASS、POP3サーバ、SMTPサーバ
この時点ですでにナニかオカシイと思うんだが。
IDとPASSはハクられても良いように暗号化して別テーブルに隔離しないのか?
そしてなんでpop3とsmtpって記録するん?
ユーザーに対してのログイン鯖だけでいいんとちがうんか?
- 491 :NAME IS NULL:2007/03/08(木) 20:02:40 ID:???
- >>490
whereに入る条件式がまずわかんないの。
=とか>とか<だとだめだし。
最新の日付から5件で、入ってない日もあるし。
- 492 :421:2007/03/08(木) 20:53:46 ID:???
- MySQLだったら desc & limit 5 だろうけど、DBぐらい書けや
- 493 :NAME IS NULL:2007/03/08(木) 22:00:40 ID:???
- >>491
>最新の日付から5件で、入ってない日もあるし。
意味が解りません。
日本語でおk
- 494 :491:2007/03/08(木) 22:51:06 ID:???
- >>492
使用してるDBはpostgresです。
初心者すぎてわかんないんっすよ。
PrimaryKeyを日付にしてしまったのが失敗かもしれず。
でもデータは1日に1件までだし。
limitですか。そんなんあったんですね。
調べてみます。
>>493
2007/3/8 ***
2007/3/7 ***
2007/3/6 ***
2007/3/5 ***
2007/3/2 ***
2007/3/1 ***
ってな風に、1日1件までの上に、毎日入るとは限らないんす。
- 495 :491:2007/03/08(木) 22:59:41 ID:???
- >>492
サンクスです。
解決しますた!!
- 496 :NAME IS NULL:2007/03/10(土) 14:20:42 ID:PATU8oGH
- さらしあげ、微妙に更新されてる
487 :ど素人:2007/03/06(火) 21:37:03 ID:???
すいません。
関西の中堅ぐらいの印刷会社のものなんですが、
手書きの伝票が限界になり、
システムの導入を考えています。
要求仕様を考えているところなんですが、
ご相談に乗ってはいただけないでしょうか。
http://www27.atwiki.jp/printing
トップページ一番下のエクセルファイルが一番見やすいと思うんですが。
要は現在の手書きの伝票をシステム化したいということです。
- 497 :NAME IS NULL:2007/03/10(土) 15:10:06 ID:???
- なんだろう?
これは噂に聞くSEのアルバイト募集のアレなのか?
ハード&ソフトの費用そっちもちでポケットマネー開発費で
月20万で期間1年くらいで作ってやってもいい。
漏れ貧乏かつ本職がヒマなのでw
- 498 :NAME IS NULL:2007/03/10(土) 20:53:36 ID:???
- >>497
添付資料読んだか?
Wikiの中にあるファイルの一行目、
>現状、受注原票、製版伝票、刷版・印刷伝票、
>加工伝票、見積書、各協力会社請求書、受注管理表、
>小社請求書、各担当営業受注管理表、総受注管理台帳、
>ばらばらの管理になっているものを統合する。
って書いてあるぞ。全部だ。
あと、具体的な要求にもヤバイのが何点か。
- 499 :497:2007/03/11(日) 12:01:09 ID:???
- >>498
今、初めてよみますた。www
あー、ちょっとドリーム入っている要求あるなぁ。
まー、どーなんだろう?
ハードウェアを適当なIBM i5(1500-2000万くらいでいーか)で回線インフラ系で
1000BASEくらいに開発用の鯖(Linuxで50万くらいいいよ)と
開発用PC(30万くらい)あれば一人で一年で暇つぶし程度で出来なくもないなぁ。
自分で言うのもアレだが漏れは多分スーパーエンジニアの部類だと思うし。
開発環境はWebSphere(JSF)+DB2くらいでいいだろ。
ただしクライアントがこっちの質問に24時間以内に返答すると仮定してな。
漏れは営業はあんまし得意じゃねーけど、普通のところで
ハードウェアで3000〜4000万くらい、ソフトの開発で1年当たり3500万
くらいで、IBMとの各種保守契約で年間300-500万くらい飛んでいくじゃねーかな。
で、リアルタイムに仕様変更を反映させたいと思ったら、
常駐を雇うとして月に+100万〜150万か?
ここから安いとこもあれば高いところもあるだろうけど、
地域とつきあいによるが、これくらいより安いところは、
細やかなところでボロが出るので、「安かろう悪かろう」は覚悟しておいた方がいいな。
そりゃ、自社システムの案件ならもっと極限まで値段下げれるが
そんなの実験&社員教育の目的が多いからなぁ。
- 500 :NAME IS NULL:2007/03/18(日) 08:05:31 ID:t1MM0Ka+
- 旅館の宿泊予約管理のDB設計からプログラム実装まで含めて開発する場合
通常だとどのくらいの期間をみつもりますか?
- 501 :NAME IS NULL:2007/03/22(木) 01:22:00 ID:G8dqyny7
- 現在、アクセスでデータ管理やら、ホームページを動かしてるんですが、
それをMYSQL、PHPに移行しようと思ってます。
基本的な事は変わらないので、できるだけ安く済ませたいです。
何社か見積もりを出してもらってはいるんですが、
まだ決めかねてます。
何かアドバイス、気をつけたほうがいい事があれば、
ご教示お願いします。
- 502 :NAME IS NULL:2007/03/25(日) 01:49:34 ID:uuDlKP4R
- ユーザーID、パスワード、ユーザー情報などを保持するデータベースを作成してみたいのですが、
何か参考になる資料などを教えていただけませんか?
超初歩的な質問ですみません。
- 503 :NAME IS NULL:2007/03/25(日) 07:49:16 ID:???
- >>502
最近でもないけど、ユーザー管理はLDAPとか使うのが主流だと思うけど
自前でやりたきゃ、CPYPT関数とか使って暗号化しながらパスワードや
個人情報なんかを保存するよ。
- 504 :NAME IS NULL:2007/03/25(日) 11:08:17 ID:???
- >>502
かなり環境依存になるんじゃないかなぁ。一般的な解は無いんじゃね?
俺的には特定のユーザにしか読めないテーブルと
誰からでもアクセスできるストアド群って雰囲気があるんだけど、
Accessではそんな実装できないわけで。
…イントラレベルならAD便利だよ(ボソ
- 505 :502:2007/03/26(月) 06:53:31 ID:lElO4O9S
- 比較的大規模なもので考えています。
LDAPもネットじゃちょっと詳しくわからなかったです。
もう一回本屋いってみます。ありがとうございました。
- 506 :NAME IS NULL:2007/03/26(月) 10:40:26 ID:???
- データ型がTIME型 たとえば 15:00:00 などを
INTEGER型(先ほどの例でいえば15にしたい)にキャストしたいのですが
どのような手順で行うのがよいのでしょうか?
phpかなにかの言語でいったんデータを取り出して
変換して,一時的なテーブルへ移動し,すべてのレコードで
変換し終わったら元のテーブルを削除して,
一時的なテーブルから移動。というように考えているのですが,
他にこうしたほうが楽,こうしたほうが早いなどの方法がありましたら
ご教授願います。
- 507 :NAME IS NULL:2007/03/26(月) 19:28:32 ID:???
- SUBSTR(CHAR(って感じで関数つかえばできるとおもうけど。
DBの専門スレで聞いてくれば?
- 508 :NAME IS NULL:2007/03/26(月) 21:39:15 ID:???
- >phpかなにかの言語でいったんデータを取り出して
>変換して,一時的なテーブルへ移動し,
よっぽど単純な変換だったらALTER TABLEで型変更するだけで大丈夫な気がする
めんどい変換が必要だと一旦外に出した方がよさそうだけど、一時テーブルなんて作らなくてもmysql -uユーザ名 -p < sql.txt > data.txtみたいにリダイレクト使ったりしてファイルに書き出せばいいんじゃないの
PHPに頼らなくても、SELECTやUPDATEやINSERT文なんて>>507みたいな関数入れたり適当な文字列くっ付けたりする程度なら出来るし
後はテーブル作り直すなりしてファイルの内容をぶち込めばよろし
- 509 :NAME IS NULL:2007/03/27(火) 03:58:44 ID:???
- なるほど。参考になりました。
関数を使って変換しつつ,テーブルの中身をいったんファイルに書き出す
という方法を使ってみます。
- 510 :NAME IS NULL:2007/04/01(日) 20:23:44 ID:oBVEIeEV
- データベースってどこにあるんですか?
- 511 :NAME IS NULL:2007/04/05(木) 22:53:48 ID:BFQbpOYB
- すみません、質問させていただきます。
パソコンの用語だと思うのですが、UDBログとは何のことでしょうか。
検索してもDB2UDBというものが出てくるだけでよくわからないのです。
個人情報の載ったデータベースのような意味合いだと思うのですが、
どなたかお分かりになる方がいましたらどうかご教示下さい。
- 512 :NAME IS NULL:2007/04/05(木) 23:01:51 ID:???
- UDBログと言った本人に聞けよ。
- 513 :NAME IS NULL:2007/04/05(木) 23:05:17 ID:???
- DB2 UDB → DB2 ユニバーサルデータベースなわけだが、一体どこでその単語を見てどういう理由で「個人情報の載ったデータベースのような意味」だと思ったんだ?
- 514 :NAME IS NULL:2007/04/06(金) 00:06:20 ID:???
- 質問させて下さい。
オラクルで全カラム名がユニークなんですが、これって何かメリットあるんでしょうか?
最近新しい部署に異動して初めて見たもので。
カラム名の頭にテーブル略称がついてるんですが、非常にうざい。
前任聞いたら、結合時にミスをなくしたいとか…
このようなDB設計経験ある方、メリット等あれば教えて下さい。
- 515 :NAME IS NULL:2007/04/06(金) 10:28:26 ID:???
- >>514
結合したときに
tblname.colname
みたいに書かないで列名だけでいけるんだと思う
おれは嫌いだけど
前にいた会社の人も使ってたな
- 516 :514:2007/04/06(金) 21:56:46 ID:/oCCmg0r
- >>515
レスありがとうございます。
>tblname.colname
>みたいに書かないで列名だけでいけるんだと思う
仰る通りなんですが、
tbl略称||colnameもtblname.colnameもそんなに見た目は変わらんのに・・・
むしろ同テーブルの結合だと、「tblname(別名).tbl略称||colname」とかで非常に見た目が痛い。
なんとか説得して変えたいんですが、うまい理由がどうしても見つからないんですよね。
- 517 :NAME IS NULL:2007/04/06(金) 22:16:04 ID:???
- >>516
結合した時にぶつかるの?
オラのuniキューは値は重複不可だけど、NULL値の入力が複数許可されている。
MSSQLServerの場合はNULL値はひとつのみ。
主キーはどちらの場合でもNULL不許可。
- 518 :NAME IS NULL:2007/04/06(金) 22:41:28 ID:???
- >>514
COBOLとかRPGとかの言語だとカラムがユニークでないとマンドクセな事になるからじゃね。
SQLでやる分には一長一短(?)だろうなぁ。
結合でどうこうはそこらの古代言語の風習からだと思う。
- 519 :514:2007/04/07(土) 00:01:27 ID:???
- みなさんどうもです。
>>517
いや、結合等で不都合はなんらないんです。
ただ、見た目、コーディングのめんどくささ。
不要にsqlが長くなり、見た目もよろしくないかなーと思うわけです。
ならば、何故カラムをユニークにする必要があったのか・・・が疑問でした。
>>518
環境書くの忘れてました・・・。
java&oracleです。
ここ7,8年で企画されたパッケージなんですが、最近放り込まれました。
企画者がcobolとかの出身・・・ありえるかもしれません。
これはもう慣れるしかないかな。
>>518さんの言う通り、一長も有り。
俺が気にしすぎなのかもです。
- 520 :NAME IS NULL:2007/04/07(土) 07:14:43 ID:???
- >なんとか説得して変えたいんですが、うまい理由がどうしても見つからないんですよね。
それはお前さんに「見た目が気に入らん」以外の理由が無いからだろ。
つーか変えたいから理由を探すって……馬鹿?
逆だろ。
前任者も含め周りともっと話し合ったほうがいいんじゃないか。
多分周りの連中は、お前さんが思ってるよりずっと頭がいい。
- 521 :NAME IS NULL:2007/04/07(土) 07:33:48 ID:???
- >>519
結局は好みの問題に落ち着くんだが、
漏れは極限までTYPOを短くしたい性質だから、
そういうカラム名は好きくないが、
安全牌というか、カラムのセットを強く意識させる意味で
カラム名をユニークにしているって事もあるだろう。
たださあ、藻前の環境のjava&Oracleなら、O/Rマッパー使えば
愚痴るほどの労力でもないだろ。ドメインクラスをきちんと定義して
マッピングすれば済む話だし。
プロジェクトメンバーにそこらのJava(つかオブジェクト指向)の
理念とスキルがあればの話だが。
不満があるなら藻前がプロジェクトリーダーになって
まったくの新規で作り直すときに提案汁。
- 522 :NAME IS NULL:2007/04/09(月) 20:21:18 ID:20qTNOeY
- すんません
mysql5の質問です
userテーブル id(int) name(varchar)
sendテーブル from_id(id) to_id(int)
があるとき
from_idとto_idのそれぞれのnameを取得したいのですが
うまくいきません
select from_id, to_id, (from_idの)name, (to_idの)name
from user, send where send.from_id=user.id and send.to_id=user.id
イメージ的には↑こんな感じなんですが……
たとえば
select from_id, to_id, t1.name, t2.name
from user, send where send.from_id=user.id as t1
and send.to_id=user.id as t2
みたいな方法ってあるんでしょうか?
お願いします
- 523 :522:2007/04/10(火) 09:26:11 ID:QyKYJy7e
- ちょw 過疎ってるw
- 524 :NAME IS NULL:2007/04/10(火) 17:23:23 ID:???
- 【帰ってきた】SQL質疑応答スレ 3問目
http://pc11.2ch.net/test/read.cgi/db/1160458216/
別スレで解決しました〜
- 525 :NAME IS NULL:2007/04/10(火) 18:48:20 ID:???
- 過疎ってると言うかあからさまにスレ違いだからスルーされただけだろう
- 526 :NAME IS NULL:2007/05/07(月) 07:05:59 ID:jas/6GwN
- 初心者です。
ロックについて質問させてください。
仮に会議室予約ということで会議室テーブルと予約テーブル(予約ID、会議室ID、日付、開始時間、
終了時間、予約者(ID))があったとします。
ここで予約を更新(インサート・アップデート)する場合
1・予約テーブルをロックして更新処理をする。(物理ロックともいえばいいんでしょうか?)
2・予約テーブルは関連する会議室テーブルの行をロック(もしくは行をアップデート)したもののみ
予約テーブルを更新できるというお約束の元で更新処理をする。(論理ロック?といえばいいのか)
という方法があるように思うのですが、皆さんはどのように実装されているのでしょうか?
ご教授お願い致します。
- 527 :NAME IS NULL:2007/05/07(月) 20:09:44 ID:???
- >>526
ロックを意識して設計する事は悪くないと思うけど、
その場合だと、そもそもロックを意識する必要あるのか?
1.会議室ID、日付、開始時間、終了時間でSELECT
2.該当ありならエラー、該当なしならINSERT
だけでロックの必要はないと思うんだが・・・。
そりゃ人気コンサートのチケット予約の様に秒間にすさまじいトランザクション走るなら、
もう2・3手間増えるけどサ。
- 528 :NAME IS NULL:2007/05/07(月) 20:48:41 ID:jas/6GwN
- >>527
レスありがとうございます。
すみません。この話は仮定の話です。誤解を与えるような書き方をしてしまい申し訳ありません。
仮にとは入れておいたのですがもっとはっきり書くべきでした。
学習のためのケースでこんな場合どうするんだろうと思い書き込んだものです。
リアリティーは無いかもしれませんが、トランザクションが必要な場合はどうされているのでしょう。
ご教授お願い致します。
- 529 :527:2007/05/07(月) 23:36:16 ID:???
- 漏れは学習なしで実務でRDB覚えたクチだからよーわからんが、
そういうのってロックがどーこーよりも、複数のトランザクションが
走った時の排他制御の事を知りたいって意味だよな。
昔はアンロックでリードして更新直前にトランザクション開始→更新ロック→
値セット→更新→更新成功?→OKならコミット、NGならロールバックとか
アレコレしていたなー、って感じだなぁ。
今はS2Daoとか使ってオートでVersionNo排他制御とかTimestamp排他制御とか
やっちゃてる。
まあ、好きなの使えば?って感じだな。
VBからADO使ってRDB更新するときは、まー、トラザクションを自前で実装するくらいで、
JavaでやるときはDIxAOP+O/Rマッパーで楽に終わる。
- 530 :NAME IS NULL:2007/05/08(火) 19:14:22 ID:RA6uBjt6
- >>529
レスありがとうございます。
すみません。私の説明が悪いようです。
排他制御の仕組みについてということではなくて、テーブルロックが必要な場合に、
そのテーブルをロックするのではなく、リレーションが張ってある他のテーブルの該当する行に
ロック(排他)をかけてから、テーブルロックが必要なテーブルにテーブルロックを掛けないで
更新するという約束ごとを作り運用するということへの、ご意見をうかがいたかったのです。
テーブルロック掛ける方法、掛けない方法どちらもメリット、デメリットがあると思いますが、
(ロックを掛けない場合のメリットととしては同時平行性が高まる。
O/Rマッパー使用時はこちらの方がナチュラル?等でしょうか)
実際皆さんはどのような判断をされるのか知りたかったのです。
書籍等ではこうゆうのは分かりませんし…
※この例の予約テーブルは主キーに会議室ID、開始時間、終了時間を指定することによって
実質的な重複入力を防ぐことが出来ないため(開始時間、終了時間がオーバーラップしているかが
実質的な重複を決めるため)更新トランザクションでは、排他的に予約テーブルにアクセスできる
必要がある。
- 531 :529:2007/05/08(火) 22:44:34 ID:???
- >>530
やってみれば?としか言えんが。
漏れが530の言っている事がイマイチ理解していないのがあるんだろうけど、
「主キーに会議室ID、開始時間、終了時間を指定する・・・」
の辺りで既にテーブル設計からおかしい悪寒。
そして、RDBMSの分離レベルの設定にもよるし、実際にどうやって
トランザクションを走らせるか知らんけど、その方法はテーブル設計が糞なのを
ヘナチョコな技法でムリヤリ回避したつもりになってるだけな希ガス。
漏れならテーブル設計をもっとスッキリして普通に更新対象のテーブルに対して
ロックかけるようにするけど。
- 532 :NAME IS NULL:2007/05/09(水) 07:15:58 ID:???
- >>530
そもそも初心者が「ロックを掛ける」ことなんて考えちゃイカン。
プログラマから見て「テーブルロックが必要な場合」など存在しない。
それはDBMSの仕事だ。
>>526の例で言えば、
1. 分離レベルserializableでトランザクション開始
2. 登録したい会議室IDで、登録したい終了時間より先に開始して、かつ
開始時間より後に終了するレコードを検索する
3. 見つからなければinsert
4. commit
これでOK。
ただやはり、スキーマでその制約を表現できるよう設計を見直す
努力は必要だな。
- 533 :NAME IS NULL:2007/05/09(水) 17:58:19 ID:???
- 1.トランザクションが少ないなら更新ロックが有効だけれど、
更新画面の掴みっぱなし(放棄)という問題あり。
2.次に、抽出→更新の手順において、抽出後後一旦トランザクション放棄なら、
更新(中)フラグ表(或いはカラム、文章見ると当該表をすでにJOINしてる?)でフラグ立ててから、
begein→抽出→commit→begin→更新→commitという手順を踏めば、
デッドロックに関しては、「フラグを見て」のルールより、他トランザクションは、
抽出は可でかつ更新はタイムアウトを待たずに中止が可能。
ただし、データの追加もといファントムデータ(データ数)について問題あり>トリガーにて解消可。
また、前出更新画面の掴みっぱなしを避けるためにも、クライアント画面ボタン押下>フラグ下を確認後フラグ立>更新の
クイック動作で行う手順に変更することが必要な場合あり。
同様できるだけ行ロックを用いることも大事で、2.はおおむね行ロックについて可能。
3.次に、テーブルロックをせずにテーブル更新をしたい場合。
前出トリガーは更新動作において作動。表ロックを使わないのであれば、
ルール無視のSQL直投げを防ぐフェールセーフの意味でも他トランザクションのトリガー監視が有効。
- 534 :NAME IS NULL:2007/05/09(水) 22:15:55 ID:???
- 質問者以上にアホっぽい回答だ。
- 535 :NAME IS NULL:2007/05/11(金) 11:32:41 ID:jkj6gZo6
- >>531
主キーの話はあくまでをビジネスキーを主キー(複合キー、not null、unique)にして
重複を防ぐということができないといことの説明に書いたもので、このケースでは主キーは
代理キーになります。
>>526参照のこと
テーブル設計についてですが、要件が仮に1時間ごとの予約であれば、
予約テーブル(予約ID、会議室ID、開始時間、使用者(ID))
(もしくは予約テーブルと予約詳細テーブルに分ける)のような感じになりますが、
予約時間の単位が細かくなり、かつ長時間連続で予約するシステムでは多くのレコードを
消費することになる(仮に15分単位の予約で4時間連続で予約した場合、
実質的にひとつの予約に16レコードが必要になる)ので、要件、メリット、デメリットの
トレードオフによりテーブル設計することになるのでは?
そしてこの場合のテーブル設計はこれで大きく外していないのではないでしょうか。
仮にこのテーブル設計がひどいものだとしても、あくまでこれは例です。
トランザクションの分離レベルは大きくのデータベースのデフォルトである
リードコミッテッドを想定していました。明記しなかったことをお詫びします。
また、このトランザクションをシリアライザブルに設定して対応する方法を
記入しなかったこともお詫びします。
ご存知のことと思いますが、SQL92の規定は直感的なシリアライザブルを
保証するようには書かれておらず、実際に直感的なシリアライザブルを保証しない
実装も存在する(オープンソース二雄の一つ、ポスグレがそうです)ことや、
リピータブルリード、シリアライザブルは現場であまり使われないだろうとの
勝手な思い込みにより、書かなくても意図を理解してもらえると思ってしまったのです。
続く
- 536 :NAME IS NULL:2007/05/11(金) 12:08:22 ID:jkj6gZo6
- それと私は逆上せてないですよ。この程度のことは、誰でも考えてはみる程度のものだと思えます。
私が期待したのは、実際に導入したにせよ、しなかったにせよ、その理由が何であるか
(上手くいかない理由等)、導入する場合の注意点等、先人の知恵をお借りしたかったのです。
それと不思議に思ったことがあります。非常に否定的でおられますが、
文面から察するに楽観ロックも使用されているようですが、楽観ロックはデータベースの
外側でルールによってアプリケーション(ロング)・トランザクションをエミュレートする
(語弊がありますが)いわばエセロックです。外側のルールに縛られる点など、
私には本質的に私の意図していることと大差がないと思えたりするのですが。
でも、なぜか思慮なしに否定されているようでちょと混乱してしまいました。
最後に説明がいたらなく誤解を与えてしまったことを改めてお詫びします
- 537 :NAME IS NULL:2007/05/11(金) 16:11:00 ID:jkj6gZo6
- >>532
レスありがとうごさいます。すいません。私の説明不足でした。申し訳ありません。
>>535を参考でお願いします
- 538 :531:2007/05/11(金) 22:45:53 ID:???
- 意味はなんとなく解るけどビジネスキーとか代理キーって単語初めて聞いた。
漏れが言いたいのは「漏れだったらそのテーブル設計ではロックはつかわねー、
ロックが必要なくらいのトランザクション走ってるなら別のテーブル設計する」ってだけだ。
藻前の場合は「このテーブル設計で問題ない」を前提に話してるだろ?
なら案件によってはソレがベストのケースもあるだろうから、やってみて
不具合なければいいんじゃね?って事なんだが。
いっちゃあ悪いが現実にそんな会議室予約システムでロックであーだこーだ
悩んでも実際ロック待ちなんかおきねーって話。
藻前の会社や学校の会議室が100万室ほどあって、利用者100億人いて、
秒間で数千トランザクション走っていて、レスポンスタイムが0.01秒未満でないと
利用者が納得しないと言うなら話は別だが。
漏れの意図するのは「設計が楽」「実装が楽」「他人が理解するのが楽」
を重視している。
RDBのロックの仕組みを初心者の他人に教えるのは結構ホネだしな。
あと楽観ロックって単語も初めて聞くけどVersionNo排他制御の事か?
どういう環境で開発しているか知らんが、S2Daoは突き抜けて生産性が高いツールだ。
ついでもSeasar2やSpringframeworkのDIxAOPも非常に便利だ。
ツールに合わせてテーブル設計するというのも妙な話だし、
532じゃないが、トランザクション管理やロックはRDBMSやツールに任せて
SE,プログラマはロジックの設計に集中できる方がいい。
藻前は理論をあーだこーだ言う前に現場でデスマを体験汁(w
- 539 :NAME IS NULL:2007/05/12(土) 01:32:26 ID:???
- >>535
ロックにはこれだけ拘るくせに、トランザクション分離レベルに対する
この軽視ぶりはなんなんだかな。
トランザクション分離レベルはstandardだが明示ロックはstandardではない。
初心者ならばなおさら、基本をキチンと勉強しろよといいたい。
だいたい「楽観ロック」って、間違って覚えてるみたいだし。
- 540 :NAME IS NULL:2007/05/20(日) 19:51:34 ID:???
- すいません、質問ですが
データベースの同時実行制御の意味と必要性、
ペシミスティック同時実行制御とは?
オプティミスティック同時実行制御とは?
の解説、説明をよろしくお願いします。
- 541 :NAME IS NULL:2007/05/20(日) 20:13:20 ID:???
- ググレカス
- 542 :NAME IS NULL:2007/05/20(日) 20:36:17 ID:???
- データベースの同時実行制御の意味と必要性って何だ?
- 543 :NAME IS NULL:2007/05/20(日) 21:51:27 ID:???
- 宿題は自分でやってください
- 544 :NAME IS NULL:2007/05/31(木) 16:02:49 ID:Y1SYpIyx
- なぁ。
データベース技術者で派遣って、40歳超えても食っていけるかな?
- 545 :NAME IS NULL:2007/05/31(木) 20:56:41 ID:tK2Z6s4Y
- iTunesのデータベースの仕組み教えてください!!!
- 546 :NAME IS NULL:2007/07/02(月) 12:26:42 ID:qsVWfajI
- 超ワラタ
MacユーザーはDQN
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
☆踏み台昇降DEダイエットPart63☆ [ダイエット]
お世辞抜きであなたのマンコを評価するスレ part60 [美容]
チンコだ!ペニスだ! 評価してくれ Part9 [美容]
お世辞抜きであなたのマンコを評価するスレ part61 [美容]
お世辞抜きであなたのマンコを評価するスレ part59 [美容]
↑
Mac OS X初心者質問用スレ 22.3
http://pc11.2ch.net/test/read.cgi/mac/1181254491/
- 547 :NAME IS NULL:2007/07/22(日) 19:11:42 ID:a4zCg7Dr
- DBごとに日付型の扱いを比較してるようなサイトってないですか?
- 548 :NAME IS NULL:2007/07/22(日) 22:07:32 ID:???
- DBマガジンでそういう特集昔やっていた。
- 549 :NAME IS NULL:2007/07/24(火) 21:17:14 ID:???
- Accessについて質問したいことがあります。
フォームのオプションを使いDate関数で入力日が自動的に設定されるようにする
にはどのように組めばいいのでしょうか?
- 550 :NAME IS NULL:2007/07/30(月) 14:38:00 ID:jyxinJLg
- MySQLに、GPS情報より2点間の距離を求める関数などありませんか?
- 551 :NAME IS NULL:2007/08/13(月) 02:19:40 ID:???
- <<リレーショナルモデル基礎>>
候補キー:リレーション(表)のなかで一意にタプル(行)を識別するための
属性(列)または属性の組。
ひとつのリレーションの中で、候補キーは複数ある場合がある。
主キー :候補キーのうち、最小の属性で構成されるもの
代理キー:候補キーが複数ある場合で、そのうち主キーでないもの
代替キー:主キーに変わって一意にタプルを識別するための属性または属性の組
(人工的につくられるIDなど)
※リレーション:リレーショナルモデルでのいわゆる表のこと(RDBのR)
ERモデルのリレーションシップ(R)の略では無い
- 552 :NAME IS NULL:2007/08/17(金) 01:47:03 ID:???
- ひとりごと・・・
会議室テーブル(親)---予約テーブル(子)のリレーションシップで、
それぞれ正規化されているなら、会議室テーブルと予約テーブルは
同時にトランザクション発生しないから、予約テーブルのトランザクションの
際に、会議室テーブルはそもそもロックの必要ないな・・・
そういえば、主キーは永続的な属性を選択するから、
基本は、Create or Deleteだったな・・・
- 553 :NAME IS NULL:2007/09/04(火) 16:22:37 ID:JtaRPNCa
- すんません。
Windows3.1くらいのころに
「ビートリブ」というmdbのような
DBがあったはずですが、
ビートリブの英語表記の綴りをご存知の
教えてください。
- 554 :NAME IS NULL:2007/09/04(火) 16:24:24 ID:JtaRPNCa
- すんません。自己レスです。
ビートリブじゃなくてビートリーブで
くぐったら出てきました。Btrieve
- 555 :NAME IS NULL:2007/09/14(金) 23:01:01 ID:???
- MySQLとかPostgreSQLって業務系で使ってる人いますか・・・
メインフレームをオープン系システムにしろ!といわれたんですが、
オラクルを使ったことがありません・・・
- 556 :NAME IS NULL:2007/09/15(土) 07:40:12 ID:???
- 喪前の業務系が具体性がないのでコメントしにくいが、普通に使われているだろ。
そしてオープン系システムとオラクルは関係ない。
喪前は知識や経験が激しく足りないから近所のSIerとかに素直に泣きついて
相談してこい。
漏れだったら前世紀のメインフレームの移植ならiSeriesくらいにしとくけどな。
喪前にRHEL+Oracleなんて構成組まれた日には現場の人間が泣くだろう。
- 557 :NAME IS NULL:2007/09/26(水) 21:51:11 ID:???
- DBMSの五大機能(要素)って何ですか?
調べてるけど全然わかんない。
RASISのことかな?
- 558 :NAME IS NULL:2007/09/27(木) 17:31:47 ID:6tEZGcgD
-
= Member = = MemberAction = = MemberLog =
MemId | MemName ActId | Action MemId | ActId | LogDate
------+-------- ------+------- ------+-----+----
1 | hoge1 0 | login 2 | 0 | 2007-09-27 00:00:00
2 | hoge2 1 | logout 4 | 0 | 2007-09-27 00:01:00
3 | hoge3 3 | 1 | 2007-09-27 00:02:00
4 | hoge4 1 | 0 | 2007-09-27 00:03:00
4 | 1 | 2007-09-27 00:04:00
上記のようなテーブル構成で、プログラムでMemberLogの閲覧ページを作る際に
どんな手法をとるのが一般的なんでしょうか?
JOINしたVIEWを作るのが一番楽そうだけど、MemberLogは相当数に膨れ上がることが
予想できるので、安易にJOINして後々ボトルネックにならないかと素人ながらに悩んでおります。
みなさんの意見をお聞かせください。
- 559 :NAME IS NULL:2007/09/27(木) 21:16:50 ID:???
- どなたか教えていただけないでしょうか。
たとえば、
・会員マスタ
・加盟店マスタ
がある状態で、
会員および加盟店から来た連絡に担当者が応対した内容の履歴を残すとします。
Oracle10g向けに設計された他人の仕事を引き継いだのですが、
応対履歴テーブルを見るとこんな構造になっていました。
1. 応対区分(PK): 会員:1 加盟店:2
2. 応対先ID(PK): 会員IDあるいは加盟店IDが入る
3. 応対日時(PK)
(以下略)
2.のように別々のIDの格納を1つのカラムで掛け持ちする設計っておかしくないでしょうか?
これでは外部キーを張れないと思うのですが、
こういった場合はどういう設計をするとRDBMS的に正しいのでしょうか。
また、上記のような設計をするとなにかメリットがあるんでしょうか。
- 560 :NAME IS NULL:2007/09/27(木) 23:15:29 ID:Yu25ut2y
- どなたか教えていただけないでしょうか。
eclipse上でmysqlを使い開発をしたいのですが、java.sql.*; とソースに書いても赤くなってしまいエラーになってしまいます。
おそらく何かのライブラリが足りないと思われるのですがどうやってインストールすればいいのかわかりません。
初歩的な質問でもうしわけありませんがどなたかわかる方いらっしゃらないでしょうか。
よろしくお願いします。
- 561 :NAME IS NULL:2007/09/28(金) 08:59:17 ID:H7n+htjO
- 質問です。
現在DBサーバは PostgreSQLを使用しています。
複数拠点(拠点A、拠点Bとします)があり、拠点AにDBサーバがあります。
拠点A−B間はVPNで接続しています。
拠点BでDBに接続する人数が多くなると、ものすごく遅くなります。(そりゃそうだ
拠点A−B間の接続を 高速なものに変更できないとすると、
どういった解決策が考えられますか?
例えば、キャッシュサーバとかレプリケーションサーバを立てるっていう解決策は的外れですか?
よろしくお願いします。
- 562 :NAME IS NULL:2007/09/28(金) 09:11:42 ID:H7n+htjO
- >>558
JOINで良いんじゃないか?
もしくは、どうせ1ページごとに表示するタイプだったらアプリ側で対応してしまうとか。
>>559
外部キー張らなければ良いと思う
メリットは対応状況を把握するシステムを考えれば思いつくと思うが。
例えば 別々に作った場合、@テーブルが多くなる。A日時ソートの一覧を作るとなると UNION 結合とかしなくちゃいけなくなる。B会員と加盟店以外に 準会員とかが出来たとしたら わざわざテーブル作ったりしなくちゃいけなくなるな
>>560
JAVA_HOME の 設定きちんとしてある?
- 563 :NAME IS NULL:2007/09/29(土) 17:14:28 ID:9wM39p3S
- 質問失礼します
WinXPPro(サービスパック2適用済み)にIISをインストールしたいのですが
OSのインストール後にCDを回収されてしまったのでCDがありません。
・マイクロソフトのページからダウンロード(探したけど見つかりません。)
・他にIISを入れる方法
等で可能な方法はありますか?あれば教えてください
- 564 :NAME IS NULL:2007/10/17(水) 00:46:59 ID:oQbAYq3I
- 初心者的質問で申し訳ありません。
普通、プログラムで同じ領域にアクセスする可能性がある場合、pthreadなどを使用して
排他制御を行う必要があると思います。
データベースでも、同じレコードに複数のプログラムから同時にアクセスする可能性が
ある場合、排他制御を行う必要があるのでしょうか?
それとも、データベース自身が排他制御機能をもっていてプログラマはそこらへんのところを
意識しなくてもよいことになっているのでしょうか?
- 565 :NAME IS NULL:2007/10/17(水) 02:29:31 ID:???
- まず「データベース 排他制御」でググれよ
検索サイトで解決できる問題かどうか考えれ
- 566 :NAME IS NULL:2007/10/17(水) 16:20:14 ID:???
- PostgreSQL で MySQL の \G (結果の縦表示?) に相当することはできないでしょうか。
- 567 :仕様書無しさん:2007/10/17(水) 23:17:48 ID:BPccDxL3
- 高3で今指定校推薦のための志望理由書書いてる。
●●大学理学部情報科学科に進学して将来SEになりたいと思ってるんだけど
どうしてSEになんでなりたいかがよく分からないんです。
これを教えてくださいとは言えないですが、例文とか自分が思ったこととか書いてもらえたらお願いします。
- 568 :NAME IS NULL:2007/10/18(木) 00:40:25 ID:???
- >>564
> それとも、データベース自身が排他制御機能をもっていて
>プログラマはそこらへんのところを
pthreadといっているので、おそらくマシン語レベルの排他制御をいっていると思うのだが、
その場合は、必要ない。
ただし、データベースで排他制御といった場合、pthreadで使われる排他制御とは意味が
異なってくるので、そこはwebや本などを参考にして勉強されたし。
>>565
エスパーが足りない。
- 569 :NAME IS NULL:2007/10/18(木) 02:11:21 ID:???
- 同じレコードにって書いてるのにマシン語とか関係あんの?
- 570 :>>564:2007/10/19(金) 02:14:02 ID:5lCvAI2R
- >>568
ありがとうございます。
すいません、データベースの排他制御は普通の排他制御と意味が違うのですねorz
失礼しました。。
- 571 :NAME IS NULL:2007/10/21(日) 15:14:56 ID:GM9DfNus
- どの板で聞いていいのか解らなかったので、accessではないですがサーバーのデータなので
ここでお聞きします。
共有サーバーにあるEXCELファイルを使ってると、『読み取り専用』か『通知』で開きますか?
って聞いてきます。
ある社員100人くらいの中小企業で働いてます。
うちみたいな零細もサーバーを使ってます。
そのサーバーに、進捗表のEXCELファイルを複数置いますが、だいたい20人くらいが使ってます。
同じ部署やデスク島の人もいれば、違う部署や違うデスク島の人もいます。
一応、誰が使ってるのかは、『○番の人が使ってます』と言う表示が出てから、
、『読み取り専用』か『通知』で開きますか?って聞いてきます。
自分の入力が終わると直ぐに閉じればいいのですが、電話があったりして開いたまま忘れてたり、
見るだけの為に開けてたりと、色んな理由でいつも読み取り専用になってます。
特に、管理職にそういう人が多いです。
そうなると、仕事が中断されて効率が悪いです。
そこで、質問ですが、共有サーバーのEXCELに何らかの設定をしておいて、
Aさんが普通に開く、そこでBさんが『通知』で開いておくと、Aさんが使ってるファイルの
上の青い部分とかに、『別の人が使いたがってますので、入力が終われば閉じて下さい。』
とかって、表示させることって出来ますか?
よろしくおねがいします。
- 572 :NAME IS NULL:2007/10/21(日) 15:31:24 ID:???
- >>571
やる気になれば出来るだろうけどそういう対策とっても
>自分の入力が終わると直ぐに閉じればいいのですが、電話があったりして開いたまま忘れてたり、
>見るだけの為に開けてたりと、色んな理由でいつも読み取り専用になってます
結局こういう人には無駄なワケで、そういう対策は無駄な労力となる。
致命的に困っているならそういうSIerに進捗管理システムを作ってもらえ。
- 573 :571:2007/10/21(日) 15:39:11 ID:GM9DfNus
- >>572
早速ありがとうございます。
Sierに言わないと出来ないなら、そんな大事にしたくないので今のままでいいのですが・・・
前の仕事場でもこういう感じのがあったので、困ってる人多いと思うのです。
簡単に出来るのであれば自分で設定したいと思うのですがやはり素人では難しいですか?
- 574 :572:2007/10/21(日) 18:30:18 ID:???
- >>573
素人にはムリ。
そしてどうしてもExcelでそういう進捗管理したいなら、
10月1週の進捗管理マスター.xls
10月1週の部長用進捗管理.xls
10月1週のグループA用進捗管理.xls
10月1週のグループB用進捗管理.xls
10月1週のグループC用進捗管理.xls
と、Excelファイルを分散させておき、週末にでも内容をマージ汁。
- 575 :571:2007/10/21(日) 18:38:30 ID:GM9DfNus
- >>574
そこまですると逆にややこしくなりそうなので、今のまま行こうと思います。
けど、マイクロソフトも不親切ですよね。
通知と読み取り専用
- 576 :571:2007/10/21(日) 18:49:39 ID:GM9DfNus
- >>574
間違って押してしまいました。
マイクロソフトも不親切ですね。
通知と読取専用で開くって表示させるくらいなら、
そういうことを想定してるんだろうし、
簡単な設定で使いたがってるってのを通知してくれればいいのにね。
どうもありがとうございました。
- 577 :NAME IS NULL:2007/10/21(日) 20:00:55 ID:???
- つ「ブックの共有」
- 578 :NAME IS NULL:2007/11/06(火) 21:03:34 ID:81NIGUj7
- 「GPL(GNU General Public License)」と「LGPL(GNU Lesser General Public License)」の違いって何でしょうね
- 579 :あぼーん:あぼーん
- あぼーん
- 580 :あぼーん:あぼーん
- あぼーん
- 581 :NAME IS NULL:2007/11/12(月) 22:17:44 ID:fqAzoxGL
- 初心の初心者による質問です
NetBeans二週間目の学生です
BeanKeeperがすごく楽にO/Rマッピング出来ると聞いたんですが
日本語のインストールガイドサイトがググっても出てきません
どなたか良いサイトをご存知ありませんか?
ダウンロードして解凍して出てきたjarファイルを
全てライブラリとして登録しておけばいいんでしょうか?
本家サイトのチュートリアルには使い方しか書いてないんですよね
204 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.3 2008/07/26
FOX ★ DSO(Dynamic Shared Object)