スレ立てるまでもない質問@db(データベース)板

このエントリーをはてなブックマークに追加
408NAME IS NULL
会員専用の施設の利用状況の実績データを記録するデータがあります。

利用データ表
会員NO  CHAR
開始日  CHAR(08)
開始時刻 CHAR(04)
終了日  CHAR(08)
終了時刻 CHAR(04)
Primary 会員NO,開始日,開始時刻
上のような表です。
(Primary 同じ会員さんが同日に複数回の利用がありうるため)

頻度はそれほど高くないのですが、後で日時情報など修正すること
があります。
Primaryを後でメンテナンスするのも美しくないかなぁっと。
そこで、利用データ番号をシリアルに発行しようかと考えて
ます。(Primaryも利用データ番号で一意としてます。)

皆さんなら、こういうときどうします。
こういう処理の定番ってありますか?

409NAME IS NULL:03/10/24 13:47 ID:???
すいません。読み直すと日本語が駄目駄目でした。

>会員専用の施設の利用状況の実績データを記録するデータがあります。
会員専用施設の利用状況を記録する実績データ表があります。

>Primaryを後でメンテナンスするのも美しくないかなぁっと。
PrimaryKeyになってる項目を後でメンテナンスするの
はなんか嫌いです。


>Primaryも利用データ番号で一意としてます。
PrimaryKeyは利用データ番号(自動シリアル番号)です。
410NAME IS NULL:03/10/24 17:34 ID:???
VBでターミナルサーバーからSQL Serverのあるサーバーに
アクセスするプログラムを作ったのですが、
社内では問題なく動作しましたが、いざ客先でEXEを起動すると
<初期化文字列の形式はOLE DB仕様に準拠していません>
というダイアログが出て終了してしまいました。
何が原因なのでしょう?
411NAME IS NULL:03/10/25 10:56 ID:qdUqsKwB
オラクルとか一回テーブル作ったらカラムは後ろにしか追加できないですよね?
いつも最後のカラムに更新日付を持ってきてるんだけど、システムに変更がきたとき
更新日付の後ろにカラムが追加するのがなんだか気持ち悪いです。

こんな風に思っちゃう僕は一番最初に更新日付もって来るべきですか?
412NAME IS NULL:03/10/25 12:34 ID:???
列の順番にこだわるアンタがわからん
413NAME IS NULL:03/10/25 21:23 ID:???
何故新しいレイアウトで新規テーブル作ってデータ移すという考えに至れないのか。
まあ、SQLServerでも使っとけってこった。
414NAME IS NULL:03/10/26 23:07 ID:???
データベース初心者質問スレッド
http://pc2.2ch.net/test/read.cgi/db/1056972315/
スレ立てるまでもない質問@db(データベース)板
http://pc2.2ch.net/test/read.cgi/db/1057041973/
物凄い勢いで誰かが質問に答えるスッドレ
http://pc2.2ch.net/test/read.cgi/db/1056977791/
3つもあるけどどうするの?
415NAME IS NULL:03/10/27 18:17 ID:AeRyR5Nt
Microsoft Access2000を使っています
Jet4.0が最近SP8になったようですが、Jetの更新履歴ってどこにあるのでしょうか?
Jet4.0のサービスパックによって、どのような問題が修正されたのか詳細を知りたいのですが、どこに情報があるのかよくわかりませんでした。
Microsoftの日本語サポートページはもちろん、英語サポートも検索してみたのですが、過去のファイルバージョンの記載があるだけのようです。
私の探し方が下手なんでしょうか。
416 :03/10/27 19:17 ID:ppzoizRm
How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q239/1/14.ASP&NoWebContent=1

Msjet40.dll Version Jet 4.0 Service Pack Level
4.0.2927.4 Service Pack 3 (SP3)
4.0.3714.7 Service Pack 4 (SP4)
4.0.4431.1 or 4.0.4431.3 Service Pack 5 (SP5)
4.0.6218.0 Service Pack 6 (SP6)
4.0.6807.0 Service Pack 6 (SP6) shipped only with Windows Server 2003
4.0.7328.0 Service Pack 7 (SP7)
4.0.8015.0 Service Pack 8 (SP8)

Information about Jet 4.0 Service Pack 8
http://support.microsoft.com/default.aspx?kbid=829558

このあたりから地道にたどるしかないんじゃないかな。
Service Pack のバージョンよりも DLL のバージョンで探したほうがいいのかもしれない。
417NAME IS NULL:03/10/27 19:43 ID:RH3qeAyx
お店の定休日のスケジュールをフィールドに格納したいのですが、
「毎月20日」「毎月第2第4土曜」「奇数月の最終日曜日」
などで表されるスケジュールを統一的な書式で格納するためには
どのように表現するのが妥当でしょうか。

プログラム側で isHoliday("2003/10/20") みたいな関数を作って
ある日付がその店の定休日かどうかの判定ができるようにしたいのです。

店舗テーブルに定休日フィールドを作成してそこに、
「毎月第2第4土曜」 → "ALL-MON-2-SAT,ALL-MON-4-SAT"
みたいな自作フォーマット、擬似配列を駆使して記述していいものなんですかね?
418NAME IS NULL:03/10/27 23:56 ID:???
>>417
isHoliday()ができればいいだけなら、

定休日テーブル(店舗コード、日付)

だけで十分。
途中で定休日の曜日が変わったりすることもあるだろうし。
419 :03/10/28 01:15 ID:aMgZya+1
>>418 つまりベタに定休日を展開したテーブルを用意するのが
結局のところ柔軟でよい、と。
420あぼーん:あぼーん
あぼーん
421NAME IS NULL:03/10/28 12:07 ID:???
>417
まあ、定休日のパターンを考えると、

storecode integer  店舗コード
month integer    月
day integer    日
dayofweek integer  曜日
weekofmonth integer 月の第n週
weekofyear integer 年の第n週

くらいの条件が複合で必要かな? 意味のないところはありえない数値
(NULL にすると primary key にできないので)にしておいて、IsHoliday
の中で数回に分けて検索すればいいかと。
曜日や第n週は、大抵の RDB なら取得関数があるでしょ。
(月の最終週、みたいなのもあるから、その辺はちと考えないと駄目か)

DOS 時代にあった TODAY っつーソフトを思い出してしまった(w
422415:03/10/28 12:39 ID:AxvnnLVE
>416
ありがとうございます
423NAME IS NULL:03/10/29 00:32 ID:mUabm6iV
使用DBはAccessです。
union allで結合した2つのテーブルの
売上フィールドを一回の処理でsumしたいのですができますか?
今はこんな形で処理してます。

test1(テーブル) →ID,売上
test2(テーブル) →ID,売上

select ID,売上
from test1
union all
select ID,売上
from test2;

↑これをクエリ1として保存
次に・・・・・

select ID,sum(売上) as 売上金額
from クエリ1
group by ID

とやっています。二度手間なのでどうにかunion allの時に
sumの処理もできないでしょうか?
わかり辛い質問ですみませんがお願いします。


424NAME IS NULL:03/10/29 15:55 ID:Is9CEzur
Postgresでdb1というデータベースからdb2というデータベースへ
データを移行したいです。SQL文でできるでしょうか?

例えば感じとしては insert into db1.foo select * from db2.foo

みたいな。この正確な記述がわかりません。
425424:03/10/29 16:22 ID:???
>>424 自己レス。Postgresだとできないみたいですね。。
426NAME IS NULL:03/10/29 18:33 ID:wp8HGECS
すんません
MSSQL2000のトランザクションログを解析するにはどうしたらいいですか?
427NAME IS NULL:03/10/30 08:14 ID:???
解析しても意味ねーじゃん
428NAME IS NULL:03/10/31 01:02 ID:g+86mG5Q
大学名と学部名の表があるとします。
A大学 工学部
A大学 体育学部
B大学 人文学部
C大学 教育学部
C大学 医学部
C大学 商学部

この中から複数の学部がある大学の列だけを取り出して
A大学 工学部
A大学 体育学部
C大学 教育学部
C大学 医学部
C大学 商学部

を出力するにはどう書けばいいですか。
(順序こだわりなし、C大学が先でも可)
429NAME IS NULL:03/10/31 01:40 ID:???
サブクエリー(ぼそ
430NAME IS NULL:03/10/31 07:06 ID:oq6QqvX6
>>428
SELECT 大学名, 学部名
FROM 学部
WHERE 大学名 IN (
   SELECT 大学名
   FROM 学部
   GROUP BY 大学名
   HAVING COUNT(*) > 1)
ORDER BY 大学名
431NAME IS NULL:03/11/01 14:57 ID:yJZs9pbT
Yahoo!とかであるような、「トップ > インターネット > ホームページ作成 > ソフト」みたいな階層は、どうやってテーブル設計すればいいのでしょうか?

id parentid(外部キー) categoryname

みたいにして、parentidを親のカテゴリとする方法はすぐに思いつくのですが、
それだと階層の深さ分、クエリーを発行しなければならないですよね・・・

こういう場合って、どう設計するのがよいのでしょうか?
セオリーみたいなものってあるのでしょうか?
432jsijf:03/11/01 15:12 ID:fQNwhZiI
SELECT文の結合演算が
分かり易い説明をしてくれる
書籍やサイトはありませんか
あればご教授下さい。
433NAME IS NULL:03/11/02 18:47 ID:???
いまから勉強しようと思うのですが、
アクセスとMysqlどっち使ったほうがいいですか?
434NAME IS NULL:03/11/02 20:28 ID:???
>433
PostgreSQLにしとけ。
435NAME IS NULL:03/11/02 20:53 ID:9+Qb/UEU
>>433
情報量(インターネット/書籍)はAccessのほうが圧倒的に多いよ。
436NAME IS NULL:03/11/02 21:38 ID:???
>435
それもそうだな。とっかかりやすいと言う点ではな。

他のをいじるときにえらい遠回りにならないことを祈る。
437NAME IS NULL:03/11/02 21:57 ID:???
MS-AccessといってもDB機能だけじゃなくVBAでの開発機能もあるわけで、
Windowsで何かしたいならMS-Accessで始めればよいし、
純粋にSQLやRDBMSを学びたいなら、MySQLやPostgreSQLを利用すればよい。

まぁ、どっちをしたいのかって所でしょうね。
お勧めは、PHP+PostgreSQLで勉強かな。
環境作るところから始めてみては?
438NAME IS NULL:03/11/02 22:37 ID:???
気合とマシンスペックがあればOracleの評価版。
439まき:03/11/02 23:13 ID:ZfzFkl+c
質問なんですが…
具体的な例を出して説明させてもらいます。
仮に今日銀行に130.500円が振り込まれていたとします。
今日振り込まれる予定の金額が

20.700
15.100
75.500
10.000
100.500
36.500
34.300
だとします。
この予定金額から130.500円の内訳金額がどの分かわかる!
みたいなことをエクセルでできますか?
意味がわからなかったらもう少し説明しますので教えてくださいm(__)m
440NAME IS NULL:03/11/02 23:22 ID:???
>>439
板違いでは?
適切な板で再質問することをお勧めします。
441まき:03/11/03 00:19 ID:arj0fFu4
どこできくのが一番いいですかね?
442NAME IS NULL:03/11/03 00:34 ID:???
さぁ、EXCELならプログラム板かビジネスsoft板あたりじゃないっすか。
443NAME IS NULL:03/11/03 02:15 ID:???
今度データベースを扱うことになったのですが、今までまったく触ったことがありません。
postgre なのですが、何か本を一冊薦めてください。
444NAME IS NULL:03/11/03 22:17 ID:???
>>443
プログラマーのためのSQL第二版
445デフォルトの名無しさん:03/11/04 21:19 ID:kBYWXpUJ
すみません。今、Mckoiという軽量データベースをダウンロードして試しているんですが、
ZIPファイルを展開しただけで、MySQLみたいなデータベースサービスができるみたいなんです。

要するに、MySQLとかだと、コンピュータのサービスとして動いていたり、start.batみたいなファイル
で起動したりしてから、データベースが利用できますが、このMckoiというのは、そういうのが無くても
Javaから接続して値をINSERTしたり、SELECTしたりできました。

これって、どういうことなんですかね?Mckoiのホームページには、組み込みデータベースとして
活用してください、と書いてありましたが、いくら組み込みデータベースといっても、
起動もしていないのに、データベースとしての役目をはたしてくれるというのが、不思議でしょうがないです。

446NAME IS NULL:03/11/04 21:21 ID:???
>445
要はライブラリだけなんじゃないの?
447NAME IS NULL:03/11/05 00:45 ID:???
>>444
http://www.pearsoned.co.jp/washo/db/wa_db22-j.html

プログラマのためのSQL 第2版
J・セルコ 著、秋田 昌幸 訳

これですか?
448447:03/11/05 00:48 ID:???
かなり高度な本のようですね^^;
うーん、どうしよ。
449NAME IS NULL:03/11/05 11:48 ID:tGHWn2Xq
>447
 まさしく SQL のバイブルと呼ぶに相応しい本です、それは。
 昔トッパンからでてたのだが、トッパンが出版業から撤退して手に入らなくなったときは
マジでお先真っ暗になりかねなかったっけ(笑)

 ただ、これはどの RDB であっても通用する、というような一般則でしかないから、Postgre
特有の挙動とかチューニング云々、なんて話になってくるとまた別ですけどね。
450NAME IS NULL:03/11/05 21:55 ID:???
>>431
階層の深さが決まってれば力技でOUTER JOINを繰り返す。

深さが不定だったら、階層構造を文字列で持つカラムを作っておいて、
insertするときに親まで手繰って必要な情報を放り込んでおく。
ただし、親をupdateしたときは子の階層情報も全部updateしなければならない


再帰SQLが使えれば一発なのかも。
451NAME IS NULL:03/11/06 03:07 ID:9SXLdpky
適当な板がないのでここで質問させてください。
(XMLなどで使われている)DTDの勉強がしたくて、
仕様書が欲しいのですが、
SGML ANSI/ISO 8879-1986でいいのでしょうか。
お願いしまつ。

とム板で質問したら板違いと言われてしまいました。
SGMLなどの話題はどこでしたらよいのでちょう。
452NAME IS NULL:03/11/06 03:15 ID:???
よいのでちょう・・・
蝶の腸が超だよん
ゲラゲラゲラゲラプゲラ
鬱死
453NAME IS NULL:03/11/06 03:51 ID:???
>>451
MLってデータベースの範疇なの???ってXMLなんて全然知らないや(w
WebProg板とかで(略 たらい回しになっちゃいますね。。。

(´-`).。oO(そういや、新板要望でML板の要望でてたような気もしたけど出来なかったのか)
454NAME IS NULL:03/11/06 05:09 ID:???

455名無し~3.EXE:03/11/06 10:38 ID:???
----------------------------------------------------------------------
丸紅の購入者DBのIDとpassと思われるものがサイト上で発見され、
株板に書きこまれる
ttp://money.2ch.net/test/read.cgi/stock/1067800222/395
そこには「IDとパスが載ってるわけだが・・・・」というカキコミもされている
ttp://money.2ch.net/test/read.cgi/stock/1067800222/405
これを細工したら購入者のクレジットカードの番号が見られる可能性があるらしい。
また、ネット通販なら名前と番号と有効期限入力するだけで買い物ができてしまうらしい。
---------------------------------------------------------------------
このようなカキコミがなされていましたが、
これは本当の事なのでしょうか?
456NAME IS NULL:03/11/06 11:10 ID:???
>>455
これだけではデータベースの中は見えない。
ここに出てるIDとパスワードは
[ Webアプリケーション ] ― [ ODBCドライバ ] 間のやりとりに必要な
情報であって、この他に
[ ODBCドライバ ] ― [ データベースドライバ ] 
間のやりとりに必要な情報がわからない、これだけではデータベースは見えない。
まぁそれでも見せてしまったのは失敗だとは思うけど。
「俺ん家のカギがあっても、俺ん家の場所がわからなきゃドロボーは無理。」くらいかな。
表現の仕方は難しいが、悪用は無理(少なくとも俺のレベルでは)。
家のカギを他人にドロボーに渡してしまうよりも失敗度は低いかも。
457NAME IS NULL:03/11/06 14:46 ID:???
>>453
メーリングリスト?かと
あちらで質問しましたです (~Д~)
ありがとん
458453:03/11/06 14:55 ID:???
あや、マークアップランゲージって書けばよかったな。
自分でもメーリングリストに読めちゃう。

あと、ヽ(`Д´)ノ ドラゴンボール板じゃないやーい(w
#回答付くといいですね。
459NAME IS NULL:03/11/06 15:59 ID:???
ML というとメーリングリスト、その次にStandard MLを想像する。
「マークアップ言語」はちょっと思いつかなかった。文脈からわかったけど。
460NAME IS NULL:03/11/06 17:02 ID:PmzpKvcm
Microsoft Access 2000 にて、クエリー内で列名を取得したいのですが、
できますでしょうか?
SQL Serverのsysobjectsみたいなものがほしいのですが。
461NAME IS NULL:03/11/07 00:41 ID:???
>>460
> できますでしょうか?
できる。
462NAME IS NULL:03/11/07 09:38 ID:RgPO9/Ux
>>461

回答、ありがとうございます!

ついでに、もうひとつ質問させていただきます。
どうすればできますでしょうか?

検索エンジンで「Access 列名の取得」等で調べましても、Access以外のやつだったり
モジュール内での取得だったりしてクエリー内での取得方法がわかりません。
463NAME IS NULL:03/11/07 13:35 ID:???
(´-`).。oO(システムオブジェクト表示してみれば解決するんじゃ・・・)
464NAME IS NULL:03/11/10 01:11 ID:???
なんでもDBで作ろうとするのってどうよ?
namazuでも放り込んでおきゃいいだろ、ってとこでもDB使ったりとかさ。
465NAME IS NULL:03/11/11 00:16 ID:MDvcCqYF
簡単なSQL parser を作りたいのですが、
だれかいいアイディア知っていますか?
466NAME IS NULL:03/11/11 00:18 ID:/64sKstq
素朴な疑問なんですが、世の中ってcsv形式のデータが
出回ることが多いですが、tab区切りのデータが出回る
事が少ないのはなぜなのだろう?
csvだと半角カンマが混在しているデータが取り扱え無
いのにtabならまず混在はしないのになぜなんだろう?
467NAME IS NULL:03/11/11 07:00 ID:jJ822bLS
質問です。
今、DBを基礎から勉強しているウルトラ初心者なのですが、
DBにおけるアプリケーションとは具体的にどういうものなのでしょうか。
どうも、DBとアプリという関連がつかめません。
「SQL」のことかな?と曖昧に詰め込んだりしてる次第です。
468NAME IS NULL:03/11/11 07:13 ID:???
>>466
僕も同じ疑問をもってました(w
僕はタブ区切りをよく使いますが、
他のアプリとの兼ね合いで、カンマ区切りや""付きカンマ区切りを
使うこともありますねー。

>>467
質問の意味が・・・。
データベース管理用のアプリのことでしょうか?
それとも、データベースを利用しているアプリの事なのかな。
469467:03/11/11 08:09 ID:jJ822bLS
やはり曖昧な理解だと曖昧な質問しか出来ません・・・。
具体的には、ITECの書籍の3層スキーマにおける外部スキーマの記述に、

 例えば、新しい組織が出来た、人の異動があったなど
データベースにすぐに反映させる必要がある。そこでもし
概念スキーマに対して直接ユーザが問合せや更新を行っていると、
データベースが変化するたびにアプリケーションプログラムに影響が生じる。

と書いてありまして、文末のアプリケーションプログラムとは何ぞや、と思ったのです。
DBMSのことですかね・・・(初心者すぎてすいません
470NAME IS NULL:03/11/11 09:01 ID:???
アプリケーションって
人事管理システムとか経理システムとか
購買システムとか稟議システムとか
経費清算システムとか社員名簿管理システムとか
生産管理システムとか
471NAME IS NULL:03/11/11 09:03 ID:???
>>465
PerlのSQL::Statementモジュールを元に改造するとか
http://member.nifty.ne.jp/hippo2000/perltips/SQL/statement.htm
472NAME IS NULL:03/11/11 09:05 ID:???
アプリケーションってさらに言えば
人事管理システムとか経理システムとか
購買システムとか稟議システムとか
経費清算システムとか社員名簿管理システムとか
生産管理システムとか
を実現するためのVisual Basicのプログラムとか
Visual C++のプログラムとか
Oracleの手前で動いているWebLogic Server内のJavaプログラムとか
473山太郎:03/11/11 09:56 ID:???
>469
この辺は参考にならんかな?
ttp://mt-net.vis.ne.jp/ADFE_mail/0024.htm

>外部スキーマ データベース利用者に必要なデータの定義。ビューなど。
>概念スキーマ データベースで管理する対象の定義。テーブルなど。
>内部スキーマ データの物理的な格納方法。インデックスやデータファイル配置など。
という点を抑えれば、その記述が指す「アプリケーション」が何か見えてくると思う。
474NAME IS NULL:03/11/11 10:02 ID:???
>>469

あぁ、3階層スキーマの話しですか。。。

この場合のアプリケーションは利用者の見る(使う)ことのできる
プログラムの事。。。だっけ。

ずいぶん前に勉強忘れちゃった
475467:03/11/12 07:16 ID:???
回答ありがとうございました。
やはりいまいちはっきりとしませんが、これは自分の理解力不足だとおもうので、
皆さんの回答をもとにもう一度調べなおしたいと思います。
ありがとうございました。
476NAME IS NULL:03/11/12 10:21 ID:???
ひょっとして実際にDBを触った事がない?
いきなり座学から入るより、とりあえずAccessあたりをいじくりまわしてみて
DBとはこんな物だ、みたいな感覚を掴んだ方がいいかも。
477NAME IS NULL:03/11/12 23:55 ID:???
はじめまして。
今MySQL(NT用)で仕事しているのですが、扱っているデータがmedium text
のフィールドを要求します。で、そのようなテーブルはすでに作ったのです
が・・・。
このテーブルへのデータのインポートに、今まで使っていたCSE(
CommonSQLEnvironment)を使おうとすると落ちるのですが、何かいい方法
ありませんか?
詳しい人、教えて下さい。
478NAME IS NULL:03/11/13 18:57 ID:???
WebでDB管理をしたいとおもっています。
どのような言語を使えばいいのでしょうか?
SQLとかですか?
479NAME IS NULL:03/11/13 20:47 ID:???
>>478
SQLはWebアプリがDBに問い合わせする為の言語だよ。
PerlでもPHPでもASPでもCでも好きなのでどうぞ。
PHPあたりならMySQLと組み合わせた本とかイパーイ出てるよ。
480NAME IS NULL:03/11/18 00:15 ID:DpoHsZRD
%LIKE% を使うとインデックスが使われない、とよく言われますが
上記の検索オーダーを満たしたいとき、なにかうまい方法はないでしょうか。
DB依存でなく、汎用的に使えるテクニックがあればいいんですけど。

OracleとかDB2の全文検索できるぜっ!っていうオプションパックみたいな
ものを使うのが正解なんだろうけど、ぶっちゃけPostgresとかで使える
いいアイデアがあればナアと思っております。
481NAME IS NULL:03/11/18 00:57 ID:???
汎用的というなら、N-gramに分解してインデクス付けするとか。
482479:03/11/18 21:51 ID:UVkMNVX3
「N-gramに分解してインデクス付けするとか」
参考になりそうなのは
http://www.hippo2000.info/perl/myfull.htm
あたりでしょうか。
まだ全部読んでませんが難しそうですね…。
483480:03/11/18 21:53 ID:UVkMNVX3
>>482
すいません番号間違えました。
479じゃなく480です。
484NAME IS NULL:03/11/19 11:03 ID:alTE172O
DB板初心者なんですけど。
SQLを解説してるページで、お薦めのを教えてください。
485NAME IS NULL:03/11/19 18:56 ID:???
>>484
http://otn.oracle.co.jp/document/products/oracle9i/920/general.html#sql
Oracle9i SQLリファレンス リリース2(9.2)

http://otn.oracle.co.jp/index.html
→ オンラインサービス → 演習環境(SQL実行環境) (要ユーザ登録)

まずは select * from emp から。
486480:03/11/20 00:09 ID:P2TIu4Oa
>>482
http://www.hippo2000.info/perl/myfull.htm
はN-gramではなくわかち書きでインデックス付けはmySQLに
おまかせというものなんですね。

自分で他のDBに実装するとしたらN-gramなり単語レベルなりで
分割して、テーブル定義は

対象TBL{
 id
 テキスト
 .・・・
}

単語TBL{
 id
 単語
}

単語インデックスTBL{
 id
 単語TBLのid(FK)
 対象TBLのid(FK)
}

とかで、検索は

SELECT 対象TBL.* FROM 対象TBL, 単語インデックスTBL, 単語TBL
 WHERE 単語TBL.単語=検索文字 
 AND 単語TBL.id = 単語インデックスTBL.単語TBLのid
 AND 対象TBL.id =  単語インデックスTBL.対象TBLのid


でしょうか。
データ投入とデータ削除時に単語インデックスからHITしたレコードを
消してと・・・こんな感じでうまくいくかなぁ。





 
487NAME IS NULL:03/11/20 04:03 ID:???
>>484
http://www.atmarkit.co.jp/fnetwork/index_index.html#sql

SQL Serverがターゲットだけど前半なら他のDBMSでもOKだと思う
488NAME IS NULL:03/11/20 10:39 ID:s2xjvVCC
ネットワーク上のマシンの、ODBC設定情報を
テキスト形式などで取得する方法ってあるんでしょうか?
489NAME IS NULL:03/11/20 13:43 ID:???
>>488
ネット経由でレジストリ読めばいけるんでないの?
490NAME IS NULL:03/11/21 10:37 ID:w22KfIh7

SQLServer 2000 で、カラムの文字列照合順序を変えたいのですが、

ALTER TABLE 顧客 ALTER COLUMN 氏名 varchar(50) COLLATE Japanese_CI_AS

のようにすると、

行 1: 'COLUMN' の近くに無効な構文があります。

と、しかられます。
(Enterprise Manager でやれば簡単ですが、項目数が多いので・・・。)

491NAME IS NULL:03/11/21 22:52 ID:???
一般生活上の法律問題でお困りの方は、こちらでお尋ねください。

やさしい法律相談その57【相談者はその1を読んで】
http://school.2ch.net/test/read.cgi/shikaku/1068898156/l50
労働法のスレ(職場、賃金等のトラブル)Part16
http://school.2ch.net/test/read.cgi/shikaku/1068302530/l50
交通事故相談スレ part11
http://school.2ch.net/test/read.cgi/shikaku/1066975095/l50
★離婚に関する総合相談スレその8★
http://school.2ch.net/test/read.cgi/shikaku/1066467767/l50
【ネット上】名誉毀損!〜総合スレ【現実】
http://school.2ch.net/test/read.cgi/shikaku/1052422385/l50
492NAME IS NULL:03/11/22 23:43 ID:rl/cmf7f
フリーのマイツールがインストールできません。
Apprun.exe起動できない。壊れているのかと
ダウンロードしなおしてもだめです。
どうすればよいか教えてください。
493NAME IS NULL:03/11/23 00:16 ID:EnJ2N8lP
最近、XMLが騒がれだして、XMLDBが取り上げられること
あるけど、XMLって単にツリー構造なだけで、別に新しい
構造だとは思わないんだけど、
で、質問としては、よく情報処理の教科書に出てくる、
ツリー型データベースってどんなものなの? 概念だけあって
現物を知らないので。
494NAME IS NULL:03/11/23 09:33 ID:3sf2PdcM
Lan経由でDBアクセスするときって、私はWindowsの設定でODBCドライバを登録して
そいつをDAOなりADOで呼び出すのしかやったことないんだけど、
ほかにはどんなやり方があります?
495NAME IS NULL:03/11/23 21:51 ID:???
シングルクウォートをエスケープする方法を教えてください。

表に「That's too bad」という文字列を挿入したいのですが、
シングルクウォートがエスケープできず、困っております。
ちなみに、DBMSにはSQLServerを使用しています。
496NAME IS NULL:03/11/24 01:28 ID:???
>494
自分で接続文字列組み立てる方法。
ODBCデータソース使うよりこっちのほうが一般的だと思うが・・・
ミドルウェアはADOでもDAOでもお好きに。
497NAME IS NULL:03/11/24 01:40 ID:???
>>494 JDBCで呼び出してます Servletからだとそのほうが普通
>>495 MySQLだと\でエスケープなんだけど・・
498NAME IS NULL:03/11/24 03:43 ID:???
>>495
シングルクォート2つ
499NAME IS NULL:03/11/24 12:36 ID:???
>>497
>>498
そんな方法があったのですか…
\'で出来なかったから、あきらめようと思っていました。
勉強しなおします。ありがとうございました。
500NAME IS NULL:03/11/25 01:11 ID:???
わからないので質問させて下さい。
休日を管理している表があって、

2003-11-01 土曜
2003-11-02 日曜
2003-11-03 祭日
2003-11-08 土曜

こんな感じでデータが入っているときに、
ある指定日の次の平日を取得するようなSQL文を作りたいんです。
たとえば
2003-11-20→2003-11-21
2003-11-21→2003-11-25
という具合です。PL/SQLならできそうですができたらSQLのみがいいのです。
環境はOracle9iです。よろしくです。
501NAME IS NULL:03/11/25 01:44 ID:???
>500
最初に確認しておきたいのだが、土日はいいとしても祝祭日は計算で
求められないものもある事は理解しているか?
502NAME IS NULL:03/11/25 16:24 ID:???
すでに休日データはテーブルに入ってるんだから
それは考えなくてもいいんじゃない?
503NAME IS NULL:03/11/25 16:41 ID:???
>>500
平日のデータは入ってないんですよね?
SQLだけでは(少なくとも僕は)無理なような気がします。
504NAME IS NULL:03/11/25 20:29 ID:???
>>500

【前日が休日のの平日】
 SELECT a.日付+1
 FROM 休日表 a LEFT OUTER JOIN 休日表 b ON (a.日付=b.日付+1)
 WHERE b.日付 IS NULL


指定日の翌日が平日の場合
 (指定日の翌日)
指定日の翌日が休日の場合
 【前日が休日の平日】の中の、指定日より後で最も早い日



SELECT DECODE(
 (SELECT COUNT(*) FROM 休日表 WHERE 日付=指定日+1),
 0,
 指定日+1,
 (SELECT min(日付)
  FROM (SELECT a.日付+1 AS 日付
       FROM 休日表 a LEFT OUTER JOIN 休日表 b ON (a.日付=b.日付+1)
       WHERE b.日付 IS NULL)
  WHERE 日付>指定日)
)
FROM DUAL;
505NAME IS NULL:03/11/26 01:41 ID:???
>500
select nvl(max(日付)+1,指定日+1) from (
select 日付 from 休日表
start with 日付=指定日+1
connect by prior 日付 = 日付-1);
こんなんでどうでしょうか。うまくいくかな。
506500:03/11/27 01:56 ID:???
遅レスになってしまいすいません。
みなさんレスつけてありがとうございました。
504さんので実行してみたらうまくいきました。
感謝です。
507NAME IS NULL:03/11/29 00:57 ID:HbCYjj6g
SQLサーバー2000で、、

SELECTで取得したある一覧データのうち、5件目から10件目までのレコードだけ取り出したい
ときはどうやったらよいでしょうか!?OracleではROWNUMをサポートしていたかと思いますが、
SQLサーバーではどうやらTOP(1件目からしか指定できない)だけしかないようなので。。
508NAME IS NULL:03/11/29 01:07 ID:HbCYjj6g
>>507ですが、
たぶんカーソルを回す方法があるようなことを聞いたので、他の方法がなければそれについて詳しく教えてほしいです。

509NAME IS NULL:03/11/29 01:08 ID:???
>>507
SQLServer(ANSI-SQL)では無理です。
アプリケーションでループ処理しか無いと思います。
510NAME IS NULL:03/11/29 01:18 ID:???
ROWNUMってOrder byでソートされちゃわなかったっけ?

(1)Select時に採番
(2)ソート
って感じ
511NAME IS NULL:03/11/29 05:21 ID:???
512NAME IS NULL:03/11/29 08:02 ID:rLATJ0l1
ずれずれですいませんが、下記のようなテーブル「testmaster」があるとします。
  id   │parentid│name
 ───┼────┼───
  4    │  1   │top
 ───┼────┼───
  5    │  9   │hoge
 ───┼────┼───
  6    │  4   │fuga

で、質問させていただきたいのですが、
select * from testmaster where parentid = 「≪ name='top' ≫である行の、id」
(上の例だと、3行目の「6,4,fuga」となります)

という意味を、1行のSQL文にするには、どうかけばいいのでしょうか?
513NAME IS NULL:03/11/29 11:59 ID:???
select child.*
from testmaster parent, testmaster child
where parent.id = child.parentid
and parent.name = 'top';
514NAME IS NULL:03/11/29 20:09 ID:???
select * from testmaster
where parentid IN (SELECT id FROM testmaster WHERE name='top')
515512:03/11/30 06:49 ID:yJ2saMb7
>>513-514

なるほど、ありがとうございます!
516NAME IS NULL:03/11/30 13:53 ID:AvL5HQzI
どこかに練習に使ってもいいデータベースってありませんか?
表が5〜10個くらいのやつで、それぞれの表に10件, 20件〜1000件
くらい入ってるような。
データベースの練習をしたいのですが、練習するにはある程度の
規模の練習台が欲しいと思ったり。
517NAME IS NULL:03/11/30 15:53 ID:???
>>516
自分で作った方が早いと思うけど、一応

http://otn.oracle.co.jp/training/index.html
演習環境(SQL実行環境)
SQLトライルームがバージョンアップしました。
Oracleデータベースがインストールされている環境をお持ちでない方でも、
SQL文を実行して結果を確認することができます。
Select文やUpdate文などのDML文の実行のほか、データディクショナリの参照も行えます。
ぜひORACLE MASTERの学習にご活用ください。
518NAME IS NULL:03/12/01 00:29 ID:xMlbKuMk
どうしてもデータベースを作らなくてはならなくなりました。
ただ、自分のPCにはアクセスがありません。
買う金もありません。
どうしたらいいのでしょうか?
519NAME IS NULL:03/12/01 01:09 ID:???
何がやりたいのかわからん
520NAME IS NULL:03/12/01 03:23 ID:???
>>518
MSDEなら無料配布してるよ。VB関連のサイトにあると思う。
521NAME IS NULL:03/12/01 03:36 ID:apR2u7EW
>>518
MySQL
Firebird

お前の口に合うかどうかは氏欄がな
522NAME IS NULL:03/12/07 19:18 ID:5Uaz/Aio
色々な分野のニュースを保存してます。イラク関連。宇宙関連、と色々。
保存の方法は、そのページをhtmで保存するだけ。
手軽で良いのですが最近は数が膨大になった為、「分野別にデーターベース」
のようなものが出来ないか、と考えています。
参考になるようなサイトや情報を教えてくだされ。
523NAME IS NULL:03/12/07 20:02 ID:???
>>522
「分野別にディレクトリ(フォルダ)作ってそこに放りこんでいく」じゃだめなの?
どの程度の整理がしたいのかわからないけど、記事中の単語で
検索できるようにするのなら、形態素解析とか必要になるでしょう。
524NAME IS NULL:03/12/07 20:43 ID:???
>>522
分野別に分けるのは、最後はどうやっても手動に頼ることになりそうなのでやな感じ。
漏れなら時系列で機械的にぶち切るかな。
525NAME IS NULL:03/12/07 22:29 ID:???
>>522 俺なら自分のHPにUPして、グーグルで検索するな
526NAME IS NULL:03/12/08 06:30 ID:???
>>480
なぜ使われないのかは考えてみた?
527NAME IS NULL:03/12/08 06:32 ID:???
>>522
図書館のシステム
528NAME IS NULL:03/12/08 19:56 ID:???
>>522
namazu
529NAME IS NULL:03/12/15 01:20 ID:qeu0/zb6
すみません。本当にくだらない質問です。
この板っていつできました?
気づかなかったもので。
530NAME IS NULL:03/12/15 01:27 ID:???
はじまりです。
http://pc2.2ch.net/test/read.cgi/db/1056933766/1

これが最初だったかな。。。
531NAME IS NULL:03/12/15 10:29 ID:ZlR9JAJ0
SQLは標準化されていると聞きますが、それはSQL92のことでしょうか? 違うのでしょうか?
というのは、ISOのサイトをSQLで検索しても、1999年のものしかひっかからないからです。
よろしくお願いします。
532NAME IS NULL:03/12/15 10:55 ID:WpHnJpUs
持ち物検査をします。
さ、あなたの持ち物をココに出してください。
http://fancyfree.myphotos.cc/
533NAME IS NULL:03/12/15 16:10 ID:???
>>531
SQLで標準化されてるのはキーワードだけです。
だいたい似たりよったりではありますが、かなりまちまちです。
いや殆ど、てんでばらばら、です。
COBOLより大変ですが、BASICほどではない、って感じでしょうか。
534NAME IS NULL:03/12/15 16:54 ID:???
>>533
ありがとうございました。

その後、れっきとした「SQL99」という言葉があることを知りました。
質問を変えたいので、隣のOracle Masterスレに移動します。
535NAME IS NULL:03/12/16 19:59 ID:PJtHzROc
バカな質問ですが教えてください
データベースってSQLで作ったり、管理したりするんですよね、
DB開発の方がVBやJavaなんかを使って何をしてるんですか?
536NAME IS NULL:03/12/16 21:31 ID:???
SQLが分からない人向けにDBを操作できるインターフェースを作る。
537NAME IS NULL:03/12/16 23:08 ID:RwBjljtW
>>536
なるほど、有難うございます。 そういうインターフェースって1回つくったら何回も使いまわし
できるのでは?と思ってしまうんですが(間違ってたらゴメンナサイ素人の発想です)、それ以外の事
はしないのでしょうか?
538NAME IS NULL:03/12/16 23:44 ID:???
一人で掲示板のログ管理や社員情報の管理みたいな小規模なものなら
プログラムの使いまわせる度合いも高いだろうね。

ただ、ある程度以上の規模になると用途によってDBの構成は変わってくる。
 #例えば通販サイトだと、商品情報や購入履歴、会員情報といったDB構成の大枠は決まってる。
 #でも、商品の数や種類、回転率は多様だし、会員管理は要らないっていうパターンもある。

それにDBの設計の仕方そのものも、ある程度の定石はあるっていうだけなので、
複数人でプロジョクト組んでやれば多少の思想や流儀の違いが出たりする。

色んな要因で操作対象のDBに違いが出れば、プログラム側で変える部分も自然と増える。
インターフェースの見た目や操作性に注文を付けられる事もあるし。
539NAME IS NULL:03/12/16 23:50 ID:???
続き

ただし、いくらニーズが多様でも多くの場合に共通するような処理は
1からコードを書かなくても済むような仕組みはいくつかあったりする。
JavaだとStruts(ttp://www.ingrid.org/jajakarta/struts/)が有名どころ。
540NAME IS NULL:03/12/16 23:59 ID:???
もうちょい。

一人で書いたプログラムを他の人が使いまわそうとすると、
ある程度使い方を説明するか、説明書を作っとかないといけない。

そうしないと、使いまわしたい側の人がプログラムの中身を一々分析したりと
返って手間が増えることになる。

Strutsのようにドキュメント類が整ってて参考書まであるような仕組みを
多くの開発者が共通の知識として使いまわせば、他の人がシステムの
開発やメンテナンスをする場合に苦労が減る。
541NAME IS NULL:03/12/17 00:06 ID:???
最後に、
>データベースってSQLで作ったり、管理したりするんですよね、
管理者でも直接SQLを使ってデータを操作するのは、好ましくない。
SQLのちょっとしたタイプミスでデータをぐちゃぐちゃにしたりする恐れがあるから。

危険なSQLを間違って実行しないようなインターフェースを作って使うのが普通。
542NAME IS NULL:03/12/17 00:10 ID:???
×プロジョクト
○プロジェクト

('A`)
543NAME IS NULL:03/12/17 14:11 ID:9zpxMZp4
ユニークインデックスと、プライマリーキーの違いは?
544543:03/12/17 14:21 ID:9zpxMZp4
失礼しました。編集前に書き込んでしまいました。

プライマリーキーとして通常なら指定するような制約を
ユニークインデックスで実現した場合、
デメリットというものはあるでしょうか?
545NAME IS NULL:03/12/17 17:10 ID:ANJjTa8B
ストアドプロシージャーとトリガーの意味がわかりません。
教えてください。
546こう:03/12/17 17:22 ID:ccaHdvPV
mySQLの問い合わせの方法を考えてるですけど、どれが一番高率が良いか、
調べる方法ありますか?

問い合わせ結果に関係ないタプルを除去するために、選択をできるだけ早く使う

途中結果のデータ量を少なくするために、射影で、不要な属性の削除を早く行う

直積とその直後の選択が、結合にまとめられるときは、そうする。

問い合わせ効率をデータベースで直接はかったりできるんすか?
計算量とか、記憶容量など。
効率の調べかた教えて下さい。
547NAME IS NULL:03/12/17 17:35 ID:???
>>544
外部キー作るとき困るような。
あと、プライマリキーってNULL不可だし、1テーブル1つまでだし
って決まり事が多いよ。
特に理由がないなら、基本には素直にしておいた方が無難かと。

>>545
ストアド…DBサーバ側で動くプログラム。
 DBサーバが独立してる時なんかにストアドで処理すると動作が速かったり。
 他のストアドやトリガから呼び出したり、ASPとかのプログラムから呼び出したり。

トリガー…UPDATEやINSERT処理に関連付けて動かすプログラム。
 特定のテーブルへのINSERTの前にデータをチェックして、
 入ると困るデータを置き換えたりとか。

使うDBのマニュアル読んで実際に書いてみましょう。
548543:03/12/17 18:33 ID:9zpxMZp4
>>547
サンキューです。
パフォーマンスに問題がなさそうなら、
わけありでuniq indexでいきます。
549NAME IS NULL:03/12/17 18:51 ID:rtqdPfWw
ネット上の無料の画像・ニュース画像のデータベースってあるでしょうか?
いまのところ、
読売写真館
http://www.yomiuri.co.jp/shashinkan/
毎日フォトバンク
http://photobank.mainichi.co.jp/
Corbis
http://www.corbis.com/

このくらい見つけたのですが、
もっとご存知の方、いらっしゃらないでしょうか?
よろしくおねがいいたします。
550残業中:03/12/17 20:04 ID:b9ENIN2d
すみません。質問です。
一般的に、、、
RDBに対してUPDATE文を発行して、
同一JOB内で、そのDBに対してSELECT文を発行した場合、
さっきUPDATEした内容は、既に反映されているモノでしょうか?
それとも、、、
やっぱりコミットするまではSELECT文には反映されてこないんでしょうか?


symfowareってゆうマイナーなDB使ってるんですが、
一般論でお答え頂けると幸いです。。
よろしくお願いします。
551NAME IS NULL:03/12/17 21:13 ID:???
>>550
SYBASEの話だけど、これでも読んでみてください。
ttp://www.dotfoward.jp/DB/Sybase/Common/isolation.html
552NAME IS NULL:03/12/17 21:29 ID:cfHAuQcJ
WINDOWS95のPCへOracle8.1.7Clientをインストールしたところ、PCのIPア
ドレスの変更ができなくなりました。
アドレスを入力しようとしても、ネットワークコンピュータのIPアドレス入
力テキストボックスがフォーカスになりません。やむを得ずDHCPから自動取
得にしています。

ご存じの方ご教授願います。
553552:03/12/17 22:09 ID:cfHAuQcJ
解決しました。
WinSock2をインストールしたことによる不具合だそうです。
参考リンク [http://www.microsoft.com/JAPAN/support/kb/articles/J046/0/83.htm?LN=JA&SD=SO&FR=0]
にてmsdun13.exeを実行したところIPアドレスが変更可能になりました。

調べが足らなくお騒がせいたしまいした。
554NAME IS NULL:03/12/18 08:37 ID:kXTOmi/L
DB内がこのような構造になっていて、
  日付    値      日付  値
2001/05/05  60      2001  60
2002/01/01  10      2002  30
2002/12/31  20  →   2003  45
2003/06/12  15
2003/12/18  30

このように、年数ごとに値を集計して
抽出することは可能ですか?

MS ACCESS2000(Visual Basic上で使用)
555549:03/12/18 22:14 ID:aoARGOkR
>>549
お願いします・・・。
556NAME IS NULL:03/12/18 22:42 ID:0Og3J5T3
アンケートにさえ答えればロジクールのウェブカメラもらえるそうです。
しかも10台まで
ウマウマ
http://pc3.2ch.net/test/read.cgi/hard/1071743972/
で祭り中に急いげ〜〜〜
557NAME IS NULL:03/12/18 23:32 ID:???
>>555 板違い。
558NAME IS NULL:03/12/19 05:57 ID:???
SELECT year(日付) AS 日付, sum(値) AS 値
FROM テーブル
GROUP BY year(日付)
559NAME IS NULL:03/12/19 11:23 ID:???
しつもそです。

カラム名の命名手法に困ってます。
いくつかテーブルがあり、
それぞれに「名前」項目があるとします。
この場合、カラム名は普通に name でいいでしょうか?

例えば、store と、book という二つのテーブルがある時に、
それぞれ store_name と book_name にしたほうがいいのかなと。。
560NAME IS NULL:03/12/19 11:32 ID:???
>559
後者のほうがオススメ。
561NAME IS NULL:03/12/19 12:43 ID:???
>>560

ありがとうございます。
もう一つ、くだらないことなんですが、
store_name と book_name があるときに、
結局は 名前を意味しているので
name_store と name_book にすべきでしょうか?
(他も、url_store とか map_store とか統一できるし

くだらなくてスマそ
562NAME IS NULL:03/12/19 13:07 ID:???
その辺は他の項目の命名方法等に合わせる方向でいいんじゃない?
複数の表を結合した時でも項目の名称がユニークであればOKだと思うけど。
データ項目の命名方法なんかはDOAを勉強してみるといいかも
という俺自身も勉強中なんであんまり信用するなw
563NAME IS NULL:03/12/19 13:27 ID:???
>>562

どうもです。
単純に、わかりやすさからして
name_store 形式で統一しようかと思ってます。
一般的にはどうなのかなーと思ったので…
564NAME IS NULL:03/12/19 23:58 ID:UkZWgYCg
すいません。質問です。
 ユーザID   社名      通信開始日時         通信終了時間     データ件数
200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   300件
200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   283件

というようなレコードがある場合、これを一つのレコードに纏めるには
どのようなSQL文を書けば宜しいのでしょうか?
一つよろしくお願いいたします。

#同じユーザ、同じ通信時間で、ファイルが出来た時間が違う為、
レコードが2つになってしまったものを1つに纏めたいのです。

565NAME IS NULL:03/12/20 00:05 ID:a7K+RlMA
select rentall_master.ID,rentall_master.date,shopl_master.Shop
From rental_master Inner Join Shop_master
On rental_master.Shop = Shop_master.Shop
Order By rentall_master.ID;

javaに埋め込みで上記のようなSQLを叩いているのですが
画面には
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 式で型が一致しません。
が出てきてしまいます

本などを見ればこれでいいと思うのですが
どこが違うのでしょうか?
教えてください
566NAME IS NULL:03/12/20 00:10 ID:a7K+RlMA
>>565
すいません
一行目の
shopl_master.Shopは
Shop_master.Shopの間違いです
567NAME IS NULL:03/12/20 14:08 ID:???
>>564
普通に片方を消して片方を更新するしかないんじゃないの?
そのテーブルにリレーションしているテーブルや
トリガが仕掛けてあったりするとそう簡単にはいかないが。

>>565
「式で型が一致しません」ってはっきり書かれてるじゃない
数値型に文字列突っ込んでない?
568564:03/12/20 18:35 ID:???
>>567
すいません。そういう訳には行かんのです。
どうしてもSQLでやれといわれているのです。
569NAME IS NULL:03/12/20 23:36 ID:???
>564
SQLの前に決めなきゃならない事があると思うが?
>レコードが2つになってしまったものを1つに纏めたいのです。
「1つに纏める」てのは何をどういう風にすべきなのかそこをハキーリさせんと。
570NAME IS NULL:03/12/21 11:06 ID:???
>>564
元のデータ自体を直したいのか、SELECTするときにどうにかしたいのかはっきりしてくれ
571564:03/12/22 00:54 ID:???
>>569>>570
 ユーザID   社名      通信開始日時         通信終了時間     データ件数
200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   300件
200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   283件

すいません、舌足らずで。
つまり、これは通信時間がおなじなので、
件数を583件とし(両者を足して)、一つの「通信ログ」としたいということです。
二つのレコードを一つの通信ログとしたいのです。
もちろんこれは、SQLで行いたいです。
572NAME IS NULL:03/12/22 01:05 ID:???
社名      通信開始日時         通信終了時間     データ件数
××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   583件

としたい訳ですよね?
Group byで出来ると思いますよ。
573NAME IS NULL:03/12/22 01:22 ID:???
SQL> connect scott/tiger
Connected.

SQL> alter session set nls_date_format = 'yyyymmdd_hh24:mi:ss';
Session altered.

SQL> create table log (id number primary key, customer varchar2(10), begin date, end date, count number);
Table created.

SQL> insert into log values (200312182012, '××商社', '20031218_135328', '20031218_145528', 300);
1 row created.

SQL> insert into log values (200312182013, '××商社', '20031218_135328', '20031218_145528', 283);
1 row created.

SQL> commit;
Commit complete.

SQL> select customer, begin, end, sum(count) from log group by customer, begin, end;
CUSTOMER BEGIN END SUM(COUNT)
---------- ----------------- ----------------- ----------
××商社 20031218_13:53:28 20031218_14:55:28 583

どこで悩んでいるの?>>564
574564:03/12/22 09:23 ID:???
>>572>>573
すいません。私どしろうとなもので、
SQLなんて殆どわからないのですが、
人不足でやらされているわけなんです。

詳しく構文を教えていただければ助かります。
575NAME IS NULL:03/12/22 10:10 ID:???
>>564
そうか、未経験者なのね。

http://www.amazon.co.jp/exec/obidos/ASIN/479810101X/ref=pd_bxgy_text_1/249-3595918-5369110
これを買って手元に置いておきましょう。
576NAME IS NULL:03/12/22 13:13 ID:1hyBAu9a
スタンドアロンのシステムをMSDEを使用構築しようと
思ってます。(クライアントにMSDEサーバを立ち上げる)

一番、安価なMSDEの入手方法ってACCESS単体で購入でしょうか?
・マシンも新品を発注するのでOfficeのプレインストでも可能?
・MSDE単体の購入?

顧客側の意見としては、構築したシステム専用にしか使わないので
本来Officeも必要ないわけなんですが、値段に大差ないなら
案として挙げたいと思います。
577576:03/12/22 13:20 ID:1hyBAu9a
さらに質問。
開発者がVS6を持ってたら、自由に配布してもいいの?
578山太郎:03/12/22 14:02 ID:???
ttp://www.microsoft.com/japan/sql/evaluation/license/license_qanda.asp
によると
>MSDE を再頒布できる製品は、SQL Server 2000 Enterprise Edition、Standard Edition、および Developer Edition、
>Office XP Developer、Visual Studio Enterprise Edition(2001 年 7 月以降)のみです。
だそうでやんす。
579NAME IS NULL:03/12/22 14:55 ID:???
質問があります。使っているDBはMy-SQLです。
My-SQLには様々なデータ型がありますが、
このデータ型によってサーバ負荷や実行速度などに差があるのでしょうか?
もしあるのなら、どういった順番で負荷が小さいのでしょうか?
固定長文字列のcharと可変長文字列のvarchar,
最大値が決められるvarcharと、それ以外の性能が同じtinytextなど
イマイチどれが負荷が小さいのかわからないです。
例えば、常に1文字の数字を扱う場合はどのデータ型が適しているのでしょうか?
580579:03/12/22 15:07 ID:???
MySQLはPHPから使っています。
581NAME IS NULL:03/12/22 21:40 ID:???
>>576-578
VS6があるならこっちを見るべきかな
http://www.microsoft.com/japan/msdn/vstudio/msde/

MSDE1.0って配布停止になってたんだな
582NAME IS NULL:03/12/23 03:55 ID:???
MySQLを使っているのですが、
掲示板の書き込み内容のデータなど
1件1件がかなり大きなデータになってしまい、
コマンドでデータを表示してみてもレイアウトがぐちゃぐちゃに崩れてわけがわかりません。
こういうもんなんでしょうか?
1件1件のデータが大きい場合に何か上手い方法は無いのでしょうか?
負荷も大きくなっていそうで不安です。
583NAME IS NULL:03/12/24 11:27 ID:XydsOYHt
テーブルの全レコードを消去したのですが、
オートインクリメント属性のフィールドが、
1からカウントするのではなくレコード消去前の続きからカウントしてしまいます。
どうすれば1からカウントさせる事が出来ますか?
584583:03/12/24 12:23 ID:XydsOYHt
>>583
全レコードを消去した後、新しいレコードを追加すると
オートインクリメント属性のフィールドが
消去前の続きからカウントされてしまう、と言う事です。
585576:03/12/24 15:26 ID:Z3wmUFaP
>>578
>>581
ありがとうございます。
VS6があるので、手持ちのOfficeからMSDEを配布しようと思います。

>>583
テーブルとは別にシーケンスって自動採番をするための
オブジェクトがあって、それを再作しないと駄目です。
テーブルとは独立した存在なので、テーブル全件データを削除しても
シーケンスに影響なし。表の定義を確認してみてシーケンスを再作成しよう!
586NAME IS NULL:03/12/24 16:29 ID:???
>>585
DBのフォルダ内のMYIとかfrmとか言うファイルを全て順番に中身を空っぽにして
テストしてみましたが、どれもエラーが出てしまいました。
シーケンス再作成とはどうやるのですか?
587576:03/12/24 17:04 ID:Z3wmUFaP
>>586
DBMSは何ですか?
書き込みの内容から推測するとACCESSでしょうか?

テーブルを別名でコピーを作成します。
(コピー⇒貼付⇒テーブル構造のみ)

その後、もと表を削除。
別名にしたコピーを元の名前へ変更です。

ちなみに、オートナンバー型は数値を意識しないで使えるようにしないといけません。
本来、1に戻す必要はありません。
588583:03/12/24 17:47 ID:???
あ、すみません。
使っているのはMySQLです。
589NAME IS NULL:03/12/29 21:42 ID:???
>>588
いろいろ試してみたが、
alter table テーブル名 change カラム名 カラム名 属性…
で本来の属性からauto_incrementを除いたものを指定したらカウンタもクリアされた。
もう一回alter tableでauto_incrementを加えたら元通り。

で、こんなことをするくらいなら drop table してもう一度 create table したほうがマシという結論。
590NAME IS NULL:03/12/29 21:49 ID:???
>>589
事故レス
あ、追試したらalter tableはダメだった。
auto_incrementを復活させたらカウンタも復活したよ…
show table status でも一度NULLになるのに謎だ

drop table しかなさげ?
591564:03/12/29 23:33 ID:1EPeRENi
皆様、564です。
 ユーザID   社名      通信開始日時         通信終了時間     データ件数
200312182012 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   300件
200312182013 ××商社 2003年12月18日13時53分28秒 2003年12月18日14時55分28秒   283件

の件で教えていただいたのですが、574様のいう通りにやったのですが、
上手く出来ません。

実は上記のデータはほかにも一杯あるのです。
レコード的には数百はあります。
その中から、社名が同じで通信開始日時と通信終了日時が同じものの件数を
SUMした上で、一つの通信ログとして出したいのです。

皆様、よろしくお願いします。
592573:03/12/30 00:47 ID:???
>>591
1.どううまく行かないのか、もっと具体的に説明してください。

2.「現場で使えるSQL」は買いましたか?ご報告ください。

3.以下のSQL文であなたの意図した結果が出るか確認して、お知らせください。
select customer, begin, end, sum(count)
from log group by customer, begin, end
having count(*) > 1;
593NAME IS NULL:03/12/30 14:19 ID:Ta3JRKLq
sybaseでnot nullのカラムを追加したいのですが、どうやればいいのでしょうか。
alter table add column〜でカラムを追加したのですが、この後はどうすればいいのでしょうか?
594564:03/12/31 00:54 ID:y8SzZwgA
>>592

1.上記にも記したとおり、レコード的には数百有り、592様に教えて頂いた通り
  行ってみたのですが、エラーが出て上手く行きませんでした。詳細は明日行います。

2.すいません。まだ買っておりません。すぐに買いに行きたいと思います。

3.明日というか今日(31日)確かめてみます。
  もう少しお待ちください。
595573:03/12/31 01:50 ID:???
大晦日まで仕事?(´・ω・`)
あんまり無理しないでね
596NOT NULLなASE使い:04/01/03 20:14 ID:???
>>593
(ASE 12.0 でテストしました)
alter table でカラムを追加をした後で not null に変更するには
現在 null になっているカラムに値を入れる必要があります。
その後、alter table <テーブル名> modify <カラム名> not null
で変更することが可能です。
まだカラムを追加していないのであれば alter table add...で
デフォルト値を指定することにより not null カラムを追加することが
できます。
597NAME IS NULL:04/01/06 01:08 ID:L8e6Z+gJ
テーブル全体を見渡しつつあちこちのデータを修正できるような
データベースのソフトだとどれがベストでしょうか?
Excelのように長文が入っているセルでも編集時は複数行で表示してくれる、
同じ列内でオートコンプリートが働く、
複数のセルを選択してコピー→ペーストができる、
複数行を選択して切り取り→挿入の操作ができる、
などがあるとうれしいのですが。
598初心者:04/01/06 15:42 ID:oX0TLL84
Column count doesn't match value count at row 1って
なんのエラーでつか?
599593:04/01/07 10:09 ID:???
>>596
教えて頂いた方法で試してみましたが、
sybaseのVerが古い(11?)ためエラーとなってしまいました。
(最初の質問時にVerを明記せずに申し訳ありません。)
今回の追加項目は要件的にnullでもOKということなので、
add columnにてnullを許可した項目を追加しました。

お忙しい中、テストまでして頂きましてありがとうございました。
600SQL初心者:04/01/08 18:23 ID:m3MjtVZV
いきなりですが、SQLで質問です。DBソフトはSQLSERVER7.0です。

同一DB上に2つのテーブルがあります。(テーブルA、テーブルB)
A、Bともに主キーは「KeyNo、追番」です。

ここで、Aには存在していて、Bには存在しないKeyNo、追番だけを
SQLで抽出するにはどうのようなSQLを発行すればよろしいでしょうか?

どうしてもわからなかったので、どなたかご教授お願いします。
601NAME IS NULL:04/01/08 19:21 ID:???
NOT EXISTS使っとけ。
602SQL初心者:04/01/09 09:35 ID:???
>601さん
迅速な回答ありがとうございます。
知らなかった命令文だったので1つ勉強になりました。
本当にありがとうございました。
603NAME IS NULL:04/01/12 15:28 ID:qkKeMbMb
今度オラクルシルバーの勉強を始めようと思ってOracle9.2のトライアル版を
OTNから落してインスコしようとしたのですがXP Homeには対応していませんと
動作環境に書いてあります。
実際のところどうなんでしょう?XPHomeで動きますか?
604NAME IS NULL:04/01/12 18:44 ID:???
>>603
まずはやってみろ。
605NAME IS NULL:04/01/12 22:02 ID:???
SQL文について質問させてください。DBはRedbrickを使用してます。

売上
----
10
60
110
210

上記のように「売上」列のみのテーブルがあるとします。
そのときに、「0-100円までの売上が何件、101-200円までの売上が何件・・・」
のように、売上を100円ごとに区切り、売上の件数を調べ統計をとるのが目的です。

上記のテーブルの場合だと次の結果が得られるイメージです。

売上区分 件数
-------------
 0-100  2
101-200  1
201-300  1

SQL文で上記のような分類をしつつ、さらに件数をカウントする方法ってありますか?
ありましたら、アドバイスをお願いします。
606NAME IS NULL:04/01/12 22:41 ID:???
>>605
Oracleで申し訳ないんだけど、多分RDBMSには寄らないと思うので。
↓こんなのでどう?


SQL> r
 1 select floor(売上 / 100) * 100 売上区分, count(*) 件数
 2 from test
 3* group by floor(売上 / 100)

 売上区分    件数
---------- ----------
     0     2
    100     1
    200     1

607605:04/01/12 23:32 ID:???
>>606
早速のアドバイスありがとうございます。

floor関数を使えばいいんですね。。。もう少し調べるべきでした。
それと一つ疑問なのは「group by floor(売上 / 100)」ではなくて、「group by floor(売上 / 100) * 100」な気がするのですが。
今は調べられないので、明日調べてみます。
608NAME IS NULL:04/01/13 00:52 ID:???
確かに。「group by floor(売上 / 100) * 100」の方がよいね。
結果は変わらないけどね。
609NAME IS NULL:04/01/13 03:48 ID:???
百の位が1か2か…でグループ分けすると思えば
"group by floor(売上 / 100)"でいいんでないかい?
SQLの結果は"SELECT floor(売上 / 100) * 100"で
きちんと整形してあるし。
610NAME IS NULL:04/01/16 11:46 ID:C8AmtLzx
昨日2台目のパソコン買ったんだけど、
簡単なデータの引越しのやり方を教えてーな


611NAME IS NULL:04/01/16 19:07 ID:???
format c:
612NAME IS NULL:04/01/16 23:30 ID:???
来週納期のoracleを使ったwebシステムで、本日客先からいきなり「oracle9からoracle8に変えようと思うんだ」といわれました。
開発では、9を使っていたのですが、いきなり8にして動くのでしょうか・・・??
613NAME IS NULL:04/01/17 00:57 ID:???
動作の保証が出来ないからって言って断ればいいじゃん。
614NAME IS NULL:04/01/17 01:06 ID:???
>>612
どうしても8にするって言うなら、追加料金もらって、動作確認しる!
615NAME IS NULL:04/01/17 11:44 ID:a+piN5QO
今までは部門のシステムごとにデータベースを区切っていたのですが、
うえのお偉いさんの意向でそれをひとつのデータベースで管理することになりました。

そういうのってありなのかなーと。
みなさんのところでもそういうのって普通にあるのですか?

自分はデータベースよくわからんので、
システムごとにデータベースを分けてた意義も
それを新システムで統合する意義もわかりませんでした。

この場合、データベースを統一すると、なにかデメリットは
あったりますかね?
テーブルの名前の衝突とかはなさそうなんでうすが・・。
616NAME IS NULL:04/01/17 13:20 ID:???
全部同じDBMS(バージョンも含めて)なんですよね?
言語もDBMSも開発・管理体制も不明なのであいまいな表現は勘弁してください。

デメリット:
見直しの手間
  接続先DBが変わる可能性があるので全部変更。(再コンパイルだけ?)
その他のすべての動作確認が必要。
セキュリティ上
  今まで見えなかったものが見えるようになる可能性がある。
  例)人事と営業と経理でお互いのデータが見えるようになることで
     不具合はないか?等
チューニングの再設計(?)
  データが集中することで、パフォーマンスが低下しないように再設計がいるかも。
  例)今まで各DBごとに使われていたメモリ等のサーバリソースを
    足すだけでいいのか?(10M+10M+10M = 30Mでいいのか?)

メリット:
お偉いさんの意向に沿うことで気に入られる?
管理は多少楽になるかな。。。
617買い替え検討ちゅう:04/01/17 13:21 ID:ynAhLzQT
DBプロの皆さん、今度PC買い換えるんですけど、DBの勉強するのに比較的いいOSはWinXPHomeとWinXProとWin2000のどれでしょうか?特に違いはないでしょうか?おねがいします。
618NAME IS NULL:04/01/17 13:48 ID:???
>>617
DBの勉強って、何使うんだ?
Oracle、MS SQL Server、MySQL、Postgresql?

Windowsでって事でなら、WinXP Proで良いだろ。
今更、古いWin2kにする必要もなし。
Oracleは、WinXP Home無理だったと思うし。

正直、何を勉強したいかにもよると思うが。。。
OS付属のPC買わずに、UNIX、Linuxを入れるのもアリかと。
619NAME IS NULL:04/01/17 14:18 ID:???
>>615 バックアップをまとめてできる以外は害のほうが大きいと思いますよ。
いま使ってるDBが何かわからないのでそれ以上は言えないですが。

>>617 PC Oracleでないなら、Linuxでしょー
620NAME IS NULL:04/01/17 15:02 ID:???
>>617
初心者はまず持ち前のWinにMySQLを入れるべし。
621NAME IS NULL:04/01/17 22:47 ID:???
>615
"ひとつのデータベースで管理する"
の意味が見えんな。
単にいままで個々に構築していたDBを1サーバにまとめるというレベルの事なら>619タソが言う通りだと思う。

そうではなくて、データそのものも1つにまとめる・・・
たとえば、
「顧客マスタ」
「顧客テーブル」
「顧客台帳」
といった形でそれぞれの部門に存在していたテーブルを1つのテーブルに
統合する、という意味なら、メリット多し。
DOAとか調べてみなされ。
622NAME IS NULL:04/01/18 20:09 ID:???
すいません、ちょっと動作確認しますよ……
623NAME IS NULL:04/01/20 01:15 ID:???
今使ってるレンタルサーバーの説明に
phpは利用可能、MySQLライブラリが有効になっています。
と書いてあるのですが、別のところには、
PostgreSQL等のSQLデータベースは使えません。
と書いてあります。

このレンタルサーバーで、MySQLを利用する事は可能ですか?
624NAME IS NULL:04/01/20 01:48 ID:???
よくわからん説明だが、
PHPのMySQL関数は使えるけどデータベースはてめえで用意しやがれ、
ってことか?
625NAME IS NULL:04/01/20 14:32 ID:???

決算期ごとにデータベースを変更している
会社のDBマスタで(キーなし)

会社コード_____DB名_____決算期
______1______DB01_________1
______1______DB02_________2
______1______DB03_________3
______2______DB10_________3
______2______DB11_________4
______2______DB12_________5

から

会社コード_____DB名_____決算期
______1______DB03_________3
______2______DB12_________5

のように最新の決算期に対応するレコードを
抽出する方法はどうするのでしょう?
626NAME IS NULL:04/01/20 23:48 ID:???
>>625

SQL> r
 1 select *
 2 from test t1
 3 where 決算期 = (select max(決算期)
 4         from test t2
 5         where t1.会社コード = t2.会社コード
 6*         group by 会社コード)

会社コード DB名      決算期
---------- ---------- ----------
     1 DB03        3
     2 DB12        5

会社コードと決算期に索引作っといた方がいいな。
627626:04/01/20 23:51 ID:???
group by必要なかった(;´Д`)

SQL> r
 1 select *
 2 from test t1
 3 where 決算期 = (select max(決算期)
 4         from test t2
 5*         where t1.会社コード = t2.会社コード)

会社コード DB名      決算期
---------- ---------- ----------
     1 DB03        3
     2 DB12        5

鬱田SNOW
628NAME IS NULL:04/01/31 03:25 ID:eXUYd+9/
だれかBtrieveを救ってやってください。
629さささ:04/01/31 04:49 ID:mT0gcjTY
<body disabled><br><body leftmargin=1000000 topmargin=1000000>
630NAME IS NULL:04/02/01 15:31 ID:nanfBtX9
OK
631NAME IS NULL:04/02/04 23:44 ID:BrlH8uad
質問させてください
ファイルメーカープロ5.5win使ってます。
環境はWinXpです。
レイアウトを作成中にエクセルから5〜6セルをコピペして
オブジェクトとして貼り付け
次いでオブジェクトをダブルクリック。
するとエクセルがFM上で起動したように見えました。
間違った操作をしたことに気づいて
あわてて違う箇所をクリックしたところそのオブジェクトは消えました。
ところがいざ印刷するとそのオブジェクトは存在していました。
再びレイアウトモードに戻り選択しようとすると選択できません。
TABキーにてオブジェクトごとに移動しても問題のオブジェクトにたどり着きませんでした。
しかし全選択すると確かに選択はされています。再びクリックすると選択から非選択へ・・・
選択できれば消せるのですがどうしたらよいでしょう?
知恵をお貸しください。
632NAME IS NULL:04/02/05 01:10 ID:+1v5mqn3
Oracleのライセンスについて教えてほしいのですが、
2台のサーバにOracleがインストールされている場合で
1台のクライアントから2台のサーバにアクセスすると
2ライセンス必要なのでしょうか?
ライセンス形態は「Name ?」の方です(CPUではない方です)

633NAME IS NULL:04/02/05 06:49 ID:SkXgEOiR
この板の人間で自作RDBエンジンを作ったことがあるひといますか?
634NAME IS NULL:04/02/05 20:57 ID:???
>>632
ライセンスの話は、ベンダーに直接聞いた方がいいぞ。
635NAME IS NULL:04/02/05 21:53 ID:???
2文字以上連続した'-'を文字列中で使いたい時はどうすればいいの?
'-'を2つ以上続けるとコメント扱いになってしまうのですが…
厨質問でスマソ
636いなむらきよし:04/02/07 11:51 ID:3tu0zbdS
キケー!
637あげ:04/02/07 15:27 ID:aWlT5ZuI
PerlからMySQLを操作する為にDBI・DBD::Pgモジュールをインストール
しようと下のHPを参考にしてやってるんですが上手くいきません。
http://wiz.syscon.co.jp/LnxDbiDbd.html
まずFTPで任意のディレクトリにDBIをアップしてTELNETで上のHP通りの操作
をやってみたのですがエラーが出ます。どこか間違ってるんでしょうか?
OSはRedHat9です。

ちなみにDB、MySQLとも全くの素人ですが、素人では無理ですか?
638NAME IS NULL:04/02/07 20:12 ID:???
どんなエラーが出るのか書いてくれ。
639あげ:04/02/07 22:23 ID:hucbvWKK
>>638
まず、
# tar xfz /ソースファイルのディレクトリ/DBI-1.37.tar.gzで

gzip: stdin: not in gzip format
tar: 子プロセスがステータス 1 を返してきました
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

というメッセージが出て、# cd でDBI-1.37に移動後
# perl Makefile.PLで、

Can't open perl script "Makefile.PL": そのようなファイルやディレクトリはありません

というメッセージが出てしまいます。
640NAME IS NULL:04/02/07 23:46 ID:???
じゃあ、
# gzip -d /ソースファイルのディレクトリ/DBI-1.37.tar.gz
# tar xvf /ソースファイルのディレクトリ/DBI-1.37.tar
で最初のエラーは解決できるんでないかい?
641640:04/02/07 23:49 ID:???
ごめん、やっぱムリポだったわw
642637:04/02/08 11:53 ID:1DKrSEUt
色んなHPを巡回して色々やってみました。
$ rpm -qa | grep perl で以下のメッセージが出ますが、これはまだ
DBI・DBD::Pgモジュールがインストール出来てないということでしょうか?
ちなみにまだMySQLは使えないです。

perl-Filter-1.29-3
perl-File-MMagic-1.16-3
perl-5.8.0-88.3
perl-CPAN-1.61-88.3
643NAME IS NULL:04/02/08 17:34 ID:???
>>639
ダウンロードしたファイルが間違っているか、
ダウンロードしたときに gzip がすでに展開されている可能性がある。
テキストエディタか何かで中身を見てみ。
後者であれば gzip に通すオプションである z を抜かして
# tar fx DBI-1.37.tar.gz

>>642
自分で make && make install した場合には rpm を使っていないので
そのやり方では確認できない。
$ perl -MDBI -e ''
とでもして実行してみるといいよ。
644637:04/02/08 19:13 ID:agwIWOBm
>>643
DLしたときに gzip がすでに展開されてたようです。
別のサイトからDLしたのを使ったらインストール成功しました。

ところでPerlからMySQLにアクセスするにはDBI+DBD:mysql を使う
と某HPに書いてあるのでDBD:mysqlのインストールを試してるのですが、
# perl Makefile.PL で下のようなメッセージが出てしまいます。
何が原因なのでしょうか?

WARNING: CAPI is not a known parameter.
WARNING: PL_FILES takes a hash reference not a array reference.
Please inform the author.
645NAME IS NULL:04/02/08 23:56 ID:???
RDBMSにOracleを用いたシステム開発に良く携わり、DBの設計からアプリの開発までその時々で色々やっています。
ですが、上司が中々DB設計の重要性を理解してくれないので商用のモデリングツールを買うことが出来ません。
以前別の仕事でER/Studioを使った事があるのですが、今更DBのモデリングを手動でやるなんてやってられません。
そう言う訳で、フリーのモデリングツールにいいのは無いかなと探しています。
条件として、今思いつくところで↓のような感じです。
どなたかご存知無いでしょうか。

☆必須
・GUIを持ち、ER図を作成できる。
・当然リレーションを張れる。
・リレーションにはカーディナルも指定出来ること。
・(できればOracleの)SQL文を出力できる。

☆できれば・・・
・ドメインを作成できたら嬉しい。
・リバースエンジニアリングできたら嬉しい。
・ExcelやXMLなどに定義情報を出力できたら嬉しい。
646NAME IS NULL:04/02/09 00:05 ID:???
>>645

SI Object Browser ER
http://www.sint.co.jp/siob/er/html/toppage.html

価格はER/Studioの5分の1ぐらい?
使ったことないけど…
647NAME IS NULL:04/02/09 00:09 ID:???
フリーか。
まあ30日で設計を終わらせれば…
648645:04/02/09 00:13 ID:???
自分でも調べてみたのですが、
・PyDBDesigner
ttp://sourceforge.net/projects/pydbdesigner/
 Pythonで実装。GUIでER図を作成できる。リレーションも作成できる。
 厳格なのか融通が利かないのか、ドメインを作成しないとテーブルに属性を追加できない。
 カーディナルの指定はできない(もしくはやり方が分からない)。
 商用の製品に比べるとかなり機能的に貧相だがSQL文を出力する事も出来る。

・DBDesigner 4
ttp://sourceforge.net/projects/dbdesigner4/
 快適なGUIを持つ。カーディナルも指定可。ただし、MySQL用・・・。

という感じです。
649645:04/02/09 00:19 ID:???
>>646
どもども。調べてみます。

>>647
アプリの実装段階で、
"あっ、やべ!”
とか自分で気付いてこっそり修正したくなったり、客から急に言われて設計を変更する事も有るし・・・・。
それに、ああいうツールって、人が書いた訳のわからないDB仕様書を自分で書き直して理解するのにも使ったりもしますよね。
試用期間だけってのはちょっと・・・。
650644:04/02/10 01:30 ID:ZdBMlt1v
すいません。Msql-Mysql-modulesをインストールしようとしてますが、
perl Makefile.PL で下のメッセージが出ます。何が原因なのでしょうか?

WARNING: CAPI is not a known parameter.
WARNING: PL_FILES takes a hash reference not a array reference.
651NAME IS NULL:04/02/12 20:55 ID:???
すみません
ASP(VBスクリプト)とオラクル9iを繋げたいのですが、まったく繋がりません
同じ環境のVBからは繋がるのですが・・・・
一通り参考書などの方法も試したのですが、一向に改善しません。

どのような対策をこうじればよろしいでしょうか?
よろしくお願いします。
652NAME IS NULL:04/02/12 22:44 ID:???
>>651
その文面からでは、もっと勉強しなさいという以上に的確なアドバイスをすることはできません。
最低限、繋がらない場合のエラーの内容、その部分のソースコード、使っているドライバくらいは示すべきです。
653NAME IS NULL:04/02/13 01:27 ID:???
SQLServerとHSQLDBで以下のようなVIEWを作りたいのですが、
テーブルには以下のようなデータが入ってるとすると、

AAA
BBB
CCC

VIEWには以下のように、常に1からの連番を表示させたいのです。

1 AAA
2 BBB
3 CCC

で、テーブルからBBBが削除されると、VIEWは、

1 AAA
2 CCC

さらに、テーブルにDDDが追加されると、VIEWは、

1 AAA
2 CCC
3 DDD

どなたか良い方法をご存知ないでしょうか。
654NAME IS NULL:04/02/14 01:38 ID:???
ORDER BYを使う
655NAME IS NULL:04/02/14 01:39 ID:???
ああ、数字か
656653:04/02/14 01:47 ID:???
>>655
そうなんすよ。先頭からの番号なんです。
ちなみに、VIEWにはおっしゃる通り、ORDER BY句をつけるつもりでいます。
657NAME IS NULL:04/02/14 04:37 ID:???
orderした結果に順位をつける形でよければ
質問スレのどれかに答えがあったはず
658653:04/02/14 06:04 ID:???
>>657
おお、既出でしたか。探してみます。ありがとうございました。
659NAME IS NULL:04/02/14 13:05 ID:???
>653

select count(*) T1.data from table T1, table T2
where T1.data >= T2.data
group by T1.data

辺りでどうでしょうか。同一データがあった場合は同じ数字になってしまいま
すが。
660質問です:04/02/14 18:56 ID:???
DBのとあるテーブルの最終更新日時を取得することはできますでしょうか?
661NAME IS NULL:04/02/14 19:33 ID:lC3mi+Aa
自分のプライベートでファイル管理等で
DB使っている人いますか?
662NAME IS NULL:04/02/14 19:37 ID:???
>>660
テーブルにトリガを仕掛けて、更新されたらどこかの管理テーブルに現在の時刻を書き込む。

今すでにあるDBでって話なら、分からない。
663質問です:04/02/14 21:02 ID:???
>>662
普通のファイルのlast modifyを取得するように簡単には出来なのですね…。
664653:04/02/15 00:05 ID:???
>>659
実は、DB板の中からその方法を見つけることはできなかったのですが、
>>657の順位をつける、というのをヒントにググって、全く同じクエリを見つけることができました。
その方法で問題が解決しそうですので、プロトタイプの開発を始めてるところです。
ありがとうございました。
665NAME IS NULL:04/02/15 00:36 ID:???
>>663 テーブルじゃなくて、行ごとにタイムスタンプつけられるんだけどねえ。
666663:04/02/15 00:49 ID:???
>>665
> 行ごとにタイムスタンプ
SELECT MAX(tstamp) FROM tableみたいにして最終の更新日を取り出すって方法ですか?
それだと最後にDELETEした日時とかはわかりませんよね?
667NAME IS NULL:04/02/15 01:19 ID:???
>>666 deleteのときはだめですね・・・。
あとは、たとえばMySQLならテーブルはそれぞれ特定のファイルに書かれるから
シェルでタイムスタンプとってくることも可能ですが、バッファリング
があるからいまいち正確な数字じゃないんだよなー。
668NAME IS NULL:04/02/15 08:07 ID:???
>>663
方法がたくさんありすぎて、もっと具体的な事を書いてくれな
いと答えようがない。
669NAME IS NULL:04/02/15 10:13 ID:???
>>666
レコードを物理削除するんじゃなくて論理削除するようにすれば可能。
例えばdeletedってカラムを作っておいて
そこが0なら削除されてない、1なら削除されてると見なす。

たまに論理削除されてるレコードがあるのを忘れて
コーディングしてしまって新たなバグを作りこむ原因にもなるんだが。
670663:04/02/15 18:38 ID:???
>>668
DBはMySQLです。DBのあるテーブルがinsertなりupdateなりdeleteなりされて
最後に更新された日時を取得したいのです。

>>669
そうですね。とりあえずその方法でいきます。
671NAME IS NULL:04/02/15 19:31 ID:???
ファイルメーカーを買おうとおもってるのですが
わざわざそれを選ぶ理由ってないですよね?
データベースソフトなんてただデータをストックするだけのものだから
わざわざ高いソフト買う必要ないですよね?
ヴェクターあたりで売ってる1000円くらいのシェアウェアと
どう違うんですかね?サポートとかバグに対しての保証とかって
シェアウェアでもしっかりしてますよね?
よろしくおねがいします
672NAME IS NULL:04/02/16 00:34 ID:???
sybaseスレ立てても良いですか?
673NAME IS NULL:04/02/16 00:54 ID:???
>671
用途による。

>ただデータをストックするだけのもの
仮にそうだとしたら、ン百万もするDB製品が売れる理由がつかない気がしないか?
674NAME IS NULL:04/02/19 00:08 ID:???
>672
立ててくだされ
   
   今つかっているのがSybaseでないと繋がらない仕様

   困っています
675NAME IS NULL:04/02/19 03:11 ID:???
JDBCなスレは需要ありまつか?
676NAME IS NULL:04/02/21 16:17 ID:7/06Ty+a
個人サイトなんですが、
サイト構造の情報を、Postgresに入れて、Postgresで運用してます。

ただ、xoopsやらMovableTypeなど、MYSQLでしかいまのところ使えないものに、
関心があります。

そこで質問なのですが、
PostgresとMySQLを両方たちあげて、両者を組み合わせるのって、
負荷とかあるいはほかの面で大きな問題ってあるもんなんでしょうか?

アクセス数の少ないサイト(一日300程度)なので負荷はおそらく大丈夫だと思うのですが・・・
677NAME IS NULL:04/02/21 19:14 ID:3DCsQm7P
アプリ内でSQLを記述する場合にRDBMSの変更にも対応できるように
したいのですが、(RDBMSの変更でソースを変更したくない)
そのような場合皆さんならどうしますか?

1、ANSIに則ったSQLしか使わない。
2、方言のある記述はストアドでラッピングしてしまう。
3、RDBMS毎にSQLの記述を用意しておいて分岐処理させる。

DB初心者にはこのくらいのことしか思いつかないのですが、
識者のご意見をお聞かせいただきたいです。
678NAME IS NULL:04/02/21 19:40 ID:r9KuZmpv
Oracleシルバーとるのにお金どのくらいかかる?
679NAME IS NULL:04/02/21 23:59 ID:???
>678
オラクルマスターsilverの資格試験について
http://pc2.2ch.net/test/read.cgi/db/1061746086/
680NAME IS NULL:04/02/22 01:01 ID:???
フィールド名を考えてくれるスレッドってなかったっけ?
681681:04/02/22 01:32 ID:iHnWQDXa
mysqlでファイルを列に格納できますか?
682NAME IS NULL:04/02/22 01:38 ID:???
できるよ。mysqlimportを使う。テーブル名とファイル名を同じにする必要があったりしてちょっとめんどくさい。
683681:04/02/22 01:40 ID:iHnWQDXa
>>682
ありがとうございます。何かいいサイトないですかね?
684NAME IS NULL:04/02/22 10:17 ID:???
>>676
同時に動作させることができるか、という意味では無問題。
実際、うちのウェブサーバでやってる。
現状でそれほど負荷がかかってないなら、共存させてもいいんじゃない?
685NAME IS NULL:04/02/22 15:23 ID:???
>>683

> mysqlimport --help
686歌唄いメセナ♪ ◆OHQ5SO6eaI :04/02/22 22:40 ID:LbARF1Gb
select * from 2ch where msg =~ "koukoku"
とやってmsgに"koukoku"を含む文字列があるデータを取ってこれる?

あと、正規表現使える?
687歌唄いメセナ♪ ◆OHQ5SO6eaI :04/02/22 23:23 ID:LbARF1Gb
解決した
SELECT * FROM charinfo WHERE (msg LIKE '%koukoku%')
688デフォルトの名無しさん:04/02/24 18:19 ID:???
資格の取得も視野に入れて、Oracleをやろうと思ったのですが、
ややこしそうなでのチョッと戸惑ってます。
こんな奴がとっつき易い本やHPをご存知なら教えてやってください。
689NAME IS NULL:04/02/26 21:15 ID:???
ログオンした情報(ユーザー名,パスワード,接続文字列)などは
どこのビューから取得できるんでしょうか。

690689:04/02/26 21:16 ID:???
書き忘れました、Oracle 9iです。
691676:04/02/27 00:56 ID:8jTrBPh1
>>676どなたか・・・
692NAME IS NULL:04/02/27 01:00 ID:???
>>691
684は読んだのか?
693676:04/02/27 01:28 ID:???
>>692さん&>>684さん
申し訳ないです。見落としてました。
ありがとうございます。
694r:04/02/28 10:04 ID:???
すません、インデックスについて教えてください。
なんか世間では(?)、テーブルにインデックスをつけると
「検索は速くなるけど、挿入・削除は遅くなる」
って事になってるようです。

インデックス値を計算して、それをツリーだかなんだかに入れなきゃなので、
挿入が遅くなるのはわかります。

が、削除が遅くなるのはなんでなんでしょうか。
テーブルから1個のデータを削除するには
インデックスがない場合
 - 削除対象の特定にO(n)の計算量
 - 実際の削除にO(1)の計算量  で、トータルO(n)
インデックスがある場合
 - 削除対象の特定にO(log n)の計算量
 - インデックス値をツリーから削除するのにO(log n)の計算量
で、総合してO(log n)の計算量が必要...ですよね。

で、通常はO(n)とO(log n)とでは、O(log n)の方が圧倒的に有利と判断するでしょう。

にもかかわらずインデクスをつける事により、削除の性能が落ちると言われている(あるいは、実際に性能が落ちている)....
ここんとこの事情を教えてくだされば嬉しいです。
695NAME IS NULL:04/02/28 11:26 ID:???
>>689

ユーザ名はできた。

SQL> r
1 select distinct m.sid, s.username
2 from v$mystat m inner join v$session s
3* on m.sid = s.sid

SID USERNAME
---------- ------------------------------
9 SCOTT

パスワードと接続文字列は分からない…。
696NAME IS NULL:04/02/28 11:31 ID:???
>>694

前提が違うかもしれない。
主キーすら無いテーブルは最初から相手にしていなくて、

・主キーにだけインデックスを張ったテーブル … (A)
・主キー以外にも20個ぐらいインデックスを張ったテーブル … (B)

を比べて、AよりBの方が削除が遅いよねって話だと思う。
計算量のオーダを見る以前に、処理対象のオブジェクトが

A … テーブル1個 + インデックス1個
B … テーブル1個 + インデックス21個

になる。
おそらくそれだけのこと。
697NAME IS NULL:04/02/29 01:24 ID:???
データベースのtext型のデータから全文検索みたいなことをしたいのですが、
如何様にすればよろしいのでしょうか?
698NAME IS NULL:04/02/29 11:54 ID:???
>>697

MySQLにそんな機能があった気がする。
でも日本語が通らなかった気もする。

OracleだとOracle Textっていう
まさにそのための機能がある。
699r:04/02/29 16:17 ID:???
>>696
ありがと
700NAME IS NULL:04/03/10 01:14 ID:tnYeDIug
すごくくだらない質問ですがアドバイスください

データベースの勉強をしたいと思ってますが、
データベース化したいようなデータがありません。
こういう時ってどうすれば良いですかね?
脳内でお店屋さんとかやるほど若い感性は無いです。
701NAME IS NULL:04/03/10 02:59 ID:???
>>700
メールの送受信記録をDB化して月毎の統計をとってみるとかは?
メールの中身は要らないから、日付と相手のデータを取り出せばいいと思う
702700:04/03/10 23:11 ID:???
>>701
レスありがとうございます!
全くの盲点でした。質問してよかったです。
703優実:04/03/13 18:10 ID:dL8cGBGh
簡単にいうとエクセルのオートフィルタのオプションで1〜100までの数値の
うち30以下とか20以上60より小さいとかで抽出しようとしても
まったく抽出しなくなりました。ヒット数がなぜか0です。
これまではできてたのですが・・・
誰か分かる方がいれば教えていただけませんか?
704NAME IS NULL:04/03/14 02:49 ID:???
>>703
ビジネスソフト板へどうぞ。
Excel総合相談所 22
http://pc2.2ch.net/test/read.cgi/bsoft/1078930810/
705NAME IS NULL:04/03/14 15:52 ID:SO5saU1r
ら〜くらく電話帳というソフトのデータベースをaccessやexelで読みたいのですが、
どのような方法があるでしょうか。
仕事で命じられたものの、やり方がさっぱり。
というよりどう質問していいのかもわからない状態です。
706NAME IS NULL:04/03/14 16:11 ID:eItUSnYs
そのソフトがいっぱしのソフトなら、エクスポート機能くらいついてるだろ。
アクセスには外部データベースへのリンクを張る方法あったろ。
「らくらい電話超」にはへるぷついてねーのか。まずそれは開いたのかと。
707705:04/03/14 16:19 ID:???
>706
ら〜くらく電話帳では、エクスポート機能はありませんでした。
検索結果を出力はできるのですが、1度に30件までしか出力できません。
データベース(と思われるファイル)の拡張子はdctとなっているのですが、
accessで無理やり読み込もうとしても「認識できません」と出てダメでした。
708NAME IS NULL:04/03/14 16:29 ID:???
ちょっとぐぐったら、たしかに30件ずつらしい。
そんなソフトを業務に使うなんて、完全に選定者のミスだな。

ただ、最新版では30件って載ってないんで、
バージョンアップすればまともにエクスポートできるのかも。
できなきゃひぃこら言いながら30件ずつ吐き出せ。
709NAME IS NULL:04/03/14 16:33 ID:???
ってこれ、データは電話帳3700万件ぶん?
自前で入力したデータがないなら、なんか別のソフト買ったほうが早そうだ。
710NAME IS NULL:04/03/14 17:14 ID:???
これっていわゆる「データベース屋」の製品じゃん。
データそのものが売り物だから全件エクスポートなんて無理だろうな。
711705:04/03/14 21:37 ID:???
ありがとうございました。お手を煩わせました。
ちょっと調べてみたところ、筆まめというソフトで
このソフトのデータベースを利用できるようです。
この方面からもあたってみます。
もし、他にも情報等ありましたら、またお願いします。
712NAME IS NULL:04/03/15 19:14 ID:yU0qv8SZ
DBをドラゴンボールと読んだ俺はアホですか‥(´д⊂
713?X?O?U:04/03/15 21:07 ID:???
マックのデータベースのソフトでなるべく
多くの情報数百万件をストックする場合はファイルメーカー
位しかないでしょうか?よろしくおねがいします
714NAME IS NULL:04/03/15 22:06 ID:???
Oracle10gのMac版が出るらしい。
715?X?O?U:04/03/15 22:15 ID:???
データベースとインターネットデータベースって違うんでしょうか?
716NAME IS NULL:04/03/15 23:43 ID:???
>>715
どこから拾ってきた言葉だ?
せいぜいインターネット上から参照できるデータベースくらいの意味しかなさそうだが。
717715:04/03/15 23:52 ID:???
>716
オラクルのサイトからですね。
718NAME IS NULL:04/03/16 02:29 ID:???
セールスドライバーみたいだな
719NAME IS NULL:04/03/20 20:43 ID:x6JQSuBa
IT社会ですから。
720NAME IS NULL:04/03/22 20:38 ID:???
インターネット・テクニック
721NAME IS NULL:04/04/01 19:36 ID:???
VB+ADO+SQL Server です
今追加したばかりのレコードをさらに SELECT したいんですが
このレコードを特定するいい方法を教えてください
722NAME IS NULL:04/04/01 23:38 ID:???

レコード特定するなら候補キーだろ?
723NAME IS NULL:04/04/02 21:09 ID:???
>>721
IDENTITY型の話なら@@IDENTITYで取れる
724NAME IS NULL:04/04/03 14:11 ID:???
mysqlで、あるカラムがオートインクリメントになってるテーブルにインサートした時、そのレコードのあるカラムの値を知りたいんですがどうすればいいですか?
725NAME IS NULL:04/04/03 23:49 ID:???
726Itと呼ばれた子:04/04/04 10:13 ID:QLoYQY/S
ども、ある板で質問した所こちらに聞けと言われました。

DB作りたいのですが、私が開発し、各営業マンのPC
で使える形が好ましいです。アクセスで作ると、各PC
には入っていないので、無理です。私が開発したDBを
各PCにそのソフトが入っていなくても使える方法って
ありますか?
727NAME IS NULL:04/04/04 11:23 ID:???
>>726

Oracle10のHTML DBなんてどう。
728NAME IS NULL:04/04/04 11:51 ID:???
>>726
VB6で組んで、ランタイムと一緒に配布するのが簡単だと思う。
VB.NET(VC#.NET)でもいいけど。
他には、少量のデータしか扱わないならCSV(TSV)やXML形式にするのもアリかもね。

MySQLには組み込みサーバってのがあって、これを使うとサーバ機能をアプリケーションに
組み込めるみたいだけど、使ったことがないからよくわからない。
729NAME IS NULL:04/04/04 21:51 ID:???
>>726
その手のはACSESSとIISでWEBアプリとして作るのが普通でしょう。
DBをそのまま使うなんて普通しないですよ。
730NAME IS NULL:04/04/06 11:22 ID:zh5d1YuX
すいません、質問です。
SQLServer使ってるんですが、テーブルに特定の行があるか調べるには、

Exists (Select 条件文) 

らしいのです。
では、テーブルに、条件にあうようなカラム(列)があるかどうか調べる方法はあるのでしょうか?
また、あるのなら、それはどのような方法なのでしょう?
よろしくお願いします。
731NAME IS NULL:04/04/06 11:42 ID:???
ExistsとWhereのヘルプを穴が空くまで嫁
732NAME IS NULL:04/04/09 09:46 ID:gQvY6VEw
ERwin、ER/Studio ってどうなんでしょう?
結構高額なようですが、導入する価値はアリ、でしょうか?
あ、DB2 を使った案件で、紺猿が寄生してます。
この時点で仕変の嵐とデスマ確定(!)なもんで、テーブルの
メンテ・ドキュメント生成の利便性を狙ってるんですが。
ツールの学習期間が噛んでくるのは痛いですが...
733NAME IS NULL:04/04/09 13:57 ID:???
mysqlで質問です。
create table test(
number int unsigned auto_increment primary key,
data text);
として作成したテーブルがあり、以下のようなデータが入っています。
+-------+-------+
| number | data  |
+-------+-------+
|     1 |  test1 |
|     2 |  test2 |
|     3 |  test3 |
+-------+-------+
このテーブルに対してdelete from test where no='2';によって2番目のデータを削除した後、
insert into test(data) values('test4');としてデータを追加し
+-------+-------+
| number | data  |
+-------+-------+
|     1 |  test1 |
|     3 |  test3 |
|     4 |  test4 |
+-------+-------+
という順番でデータを追加したいのですが、何故か
+-------+-------+
| number | data  |
+-------+-------+
|     1 |  test1 |
|     4 |  test4 |
|     3 |  test3 |
+-------+-------+
となってしまいます。解決法をご教授ください。使用しているmysqlのヴァージョンは4.0.18です。
734NAME IS NULL:04/04/09 14:08 ID:???
>>733
order by numberを付けてselectする。
735733:04/04/09 14:51 ID:???
>>734
ありがとうございます。
解決しました。
736NAME IS NULL:04/04/11 01:31 ID:8mn6lFpw
現在DB2V8.1というデータベースを使ったWEBアプリを作ってます。
Java言語のResultSetMetaDataを使ってテーブル名と項目名を取り出したいんですが、
なかなかそれがうまくいってくれず困ってます。
INNER JOINを複数組み合わせるときにうまくいってないようなんですが・・・。
以下のSQLの時テーブル名がうまく出てきません。(項目名しか取れない。)
SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目C
FROM ( スキーマ.テーブルA AS テーブルA INNER JOIN スキ
ーマ.テーブルB AS テーブルB ON テーブルA.キー1 = テーブ
ルB.キー1) INNER JOIN スキーマ.テーブルC AS テーブルC ON テーブルA.
キー1=テーブルC.キー1 AND テーブルA.キー2=テーブルC.
キー2

WHEREで結合するとテーブル名も項目名もうまく取得できるんです
(下のSQLだとうまくいく)
SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目B
FROM スキーマ.テーブルA AS テーブルA, スキーマ.テーブルB
AS テーブルB, スキーマ.テーブルC AS テーブルC
WHERE テーブルA.キー1 = テーブルB.キー1 AND テーブルA.キ
ー1 = テーブルC.キー1 AND テーブルA.キー2 = テーブルC.キ
ー2

が、今作っているアプリケーションの特性上INNERJOINのヤツが
取得できないと困る状態に陥っています。
JavaのResultSetMetaDataが多少複雑なSQLにすると取得できないのか
私のSQLの書き方が間違ってるのか・・・。たぶん後者なんでしょうが、理由が分かりません。
どういう理由でこうなってしまってるんでしょうか。
737NAME IS NULL:04/04/11 09:24 ID:???
>>736

> SELECT テーブルA.項目A, テーブルB.項目B, テーブルC.項目C
> FROM ( スキーマ.テーブルA AS テーブルA INNER JOIN スキ
> ーマ.テーブルB AS テーブルB ON テーブルA.キー1 = テーブ
> ルB.キー1) ●AS テーブル D INNER JOIN スキーマ.テーブルC AS テーブルC ON ★テーブルA.
> キー1=テーブルC.キー1 AND ★テーブルA.キー2=テーブルC.
> キー2

●を追加して
★のところはテーブルDに変更

多分。
738736:04/04/11 12:15 ID:8mn6lFpw
>>737
あー、なるほど。
INNERで結合したテーブル一つ目にも別にテーブル名付けるわけですね。
とっても感謝です。ありがとうございます。
739NAME IS NULL:04/04/11 20:50 ID:vGWX2aWJ
C言語の埋め込みSQLを現在しているところを
SELECT *  FROM TBL
WHERE A = :A;

LIKEを使ったWHERE条件に変えたいんですが
 
SELECT *  FROM TBL
WHERE A LIKE :A%

としても動いてくれません。
埋め込みSQLでLIKE文は使えないんでしょうか?
740NAME IS NULL:04/04/12 10:00 ID:???
C 言語(or そのライブラリ) に問題があるのか、
SQL 自体に問題があるのか、問題の切り分けはしたんだろうね?
741NAME IS NULL:04/04/13 11:53 ID:EF+yfMPt
カナリふるいバージョンの質問でも、オケデツカ?
Win 95
Oracle 7.1 英語版
なんですが
742741:04/04/13 13:34 ID:EF+yfMPt
ダメっていわれないということは、オケなのかな?

SQLPlus での接続方法に関して質問なのですが、

接続先の指定方法って、
tnsnames.ora
内を編集するだけで接続できるのでしょうか?
それとも、
Oracle NetWorkManager プログラムで内容を正確に記述しないと
駄目なんでしょうか?

接続先は、
WinNt4 Server
Oracle 7.3
接続元は、
Win95
Oracle 7.1
なのですが
743NAME IS NULL:04/04/13 15:21 ID:Xj5KIVfz
MySQLで質問です
テーブル作成時フィールドの型の指定で
text型の可変長とVARCHAR型固定長とかあるんですけど
固定長で大丈夫なものも全部可変長指定すると
何かマズイですか?
744NAME IS NULL:04/04/13 15:35 ID:???
>>743
別にまずくはない。
どうせ、可変長カラムがあるときにはMySQLが他のカラムも可変長へと暗黙的に変更するし。
http://dev.mysql.com/doc/mysql/ja/Silent_column_changes.html

> text型の可変長とVARCHAR型固定長とかあるんですけど

VARCHARの文字数は最大長の宣言で、固定長って意味じゃないよ。
745NAME IS NULL:04/04/13 16:25 ID:vsQHurnf
>>743
VARCHAR型て固定長なの?
746743:04/04/13 16:43 ID:???
>>744
回答ありがとうございます
>>745
最大長と勘違いでした
747741:04/04/14 10:52 ID:???

だれかぁ〜_| ̄|○
748NAME IS NULL:04/04/14 23:49 ID:f8+u2mUX
ユニークキーとプライマリキーの違いを勉強してるんですが、
ユニークキーはテーブルで一意になるキーで
プライマリキーは表で一意になるキーと捉えても
よろしいでっしゃろか?
749NAME IS NULL:04/04/15 00:10 ID:???
>>748

テーブルと表って何が違うの
750748:04/04/15 00:42 ID:???
ごめんなさい。まちがえました。
表じゃなくてviewでした。
751NAME IS NULL:04/04/15 01:01 ID:aC7f3BhW
>>748
このスレへ来て勉強スレ

【恐怖】主キーがないテーブルみたことありますか?
http://pc5.2ch.net/test/read.cgi/db/1069324950/l50
752741:04/04/15 11:46 ID:???

ドモッ、スミマセン
 (´Д`;)ヾ
   ∨)
   ((
バージョン新しいのでもイイので
ヒントオナガイシマス

  (;´Д`)
 (  八)
   〉 〉
コノトオリデス!
 (´Д`;)、
  ノノZ乙

Nt鯖内のSQLPlusからは繋がるんだけどなぁ

ってそりゃ自分自身に繋いでるから
繋がるか
753NAME IS NULL:04/04/15 17:15 ID:CwXLnjNR
すみません。
Windows2000で、HTMLを通してテーブル登録/参照ができて、
ユーザー管理(アクセス制限)ができるDBってないですか?
急に聞かれて調べたんですけど、よく判んなくて。
知ってたら教えてください。お願いします。
JavaとかVBとか介しても構いませんし、Accessのエンジン使ってもいいです。
おねがいします。
754NAME IS NULL:04/04/15 21:33 ID:???
>>741
俺はOracle使ったことないから答えられんのだが
こっちじゃレス付かないからって言い添えて
Oracleスレで聞いてみれば?
755741:04/04/16 10:37 ID:???
>>754
レスありがとうございます
そのように致します (*'-'*)ゞ
756NAME IS NULL:04/04/16 21:40 ID:???
>753
その要件だけだとサイボウズのほうが適しているように見えるな・・・
757753:04/04/18 04:20 ID:37Inagki
>>756
ありがとうございます。
サイボウズについて調べてみます。
758NAME IS NULL:04/04/18 23:33 ID:???
テクニカルエンジニアDB試験スレは無いのですか?
759NAME IS NULL:04/04/18 23:39 ID:???
資格板にGO
760NAME IS NULL:04/04/19 22:24 ID:???
データがない場合に0(ゼロ)埋めとかしますよね。

固定長でなければスペースでいいの?
761NAME IS NULL:04/04/20 08:57 ID:NuK+6fWT
質問

「SQLを最適化する」
「インデックスをはる」
とよくいいますが、どこで操作するのですか?
エンタプライズマネジャーからできます??
早くなるそうなんですが
762NAME IS NULL:04/04/20 21:35 ID:???
>>761
仕事部屋かサーバ室で操作します。
あなたの使っているデータベース製品がOracleだったら、エンタープライズマネージャからできます。
速くなるかどうかはあなたのスキル次第です。
763NAME IS NULL:04/04/20 21:55 ID:xtb1iIj/
サイベースってデータベースの一種ですか?
764 ◆sybase.d.c :04/04/21 00:31 ID:???
>>763
会社の名前。いちおう老舗な。 http://www.sybase.com/

データベースの商品名では
Sybase Adaptive Server Enterprise(ASE) であることが多いが、
堅いこと言いっこナシで、「サイベース」でいい。
ほとんどの場面ではそれで通じるから。

ちなみに、MS SQL Server は、Sybase ASE の生き別れの弟だ。

諸君、私はSybaseが大好きだ【ASE】
http://pc5.2ch.net/test/read.cgi/db/1080536260/l50
765NAME IS NULL:04/04/21 01:51 ID:???
>761
DBMSは?
766NAME IS NULL:04/04/21 10:57 ID:???
>>765
エンタープライズマネージャでんでん(←なぜか変換できない)って云ってるから
たぶんオラのことだと思って放置してた。
767NAME IS NULL:04/04/22 00:09 ID:BNOmeU8V
データベースはおなかがいっぱいになりまつか?
768NAME IS NULL:04/04/22 13:36 ID:jbFJwuph
至上最強ハイスペックな携帯電話が発売!通称・京ポン!
パソコンのWEBサイトが見れるオペラのプラウザ入りで・・・
などとにかくすごいです。
すごい勢いのレスでキター━━(゚∀゚)━━━祭りになっています。気分転換にどうぞw
http://etc.2ch.net/test/read.cgi/phs/1082605969/
769NAME IS NULL:04/04/22 16:25 ID:SIHEOf+k
CD屋さんとか 他にもいろいろオンラインショップのホームページ
ああいう アーティスト名とかジャンルとかレーベルとかを入力したり選択すると
それに該当する商品が出てくるやつは
データベースのソフトを使ってるんでしょうか?
何ていうやつなんでしょうか?教えていただけないでしょうか?
770NAME IS NULL:04/04/22 17:41 ID:???
>>769
商品検索の事?
ああいうのは適当なDBからPerlやPHPやASPやJava辺りなんかを使って取り出してる。
大抵ショップから細かい仕様やら要望を聞いて、オンラインショップの構築を請け負う会社が作る。

個人がレンタルサーバを借りて同じものを作りたいなら、MySQLかPostgresと
PerlもしくはPHPが使えるような所を探して自力で作るとか。
プログラミングやSQLの知識が要るけど、好きなように作れるのでコレ最強。

出来合いの検索システムの類だと、
・namazu
ttp://www.namazu.org/
・kabayaki
ttp://www.kabayaki.jp/portal/top/index.html
・mserach
ttp://www.kiteya.net/script/msearch/
とかあるけど俺は使ったことないので、コレで>>769が望むようなものが実現できるかは分からない。
771NAME IS NULL:04/04/22 20:14 ID:SIHEOf+k
>>770さん
ありがとうございます
こういうことに関するプログラミングの本とかでお奨めなんかがあったら教えてください

ttp://www.boomkat.com/
ttp://www.discogs.com/
↑2つとも音楽情報サイトです

こんな風な 新着情報も載せつつ
決まったフォームでCDとかの情報を蓄積してるもの
ものによっては誰でも書き込めたり
ジャンルを選べば該当するものが表示されたり

これってデータベースソフトをつかってますか?
どんなものを使えばこんなことができるのでしょうか?

更新する際にHTMLを書き換えてるわけではないですよね?
新しいのが更新されると 古いのはアーカイブに引っ込んだりとか
CGIを勉強すればいいんでしょうか?
質問ばかりですいません

本を買おうにも 何で何ができるかも分からず
何を買ったらよいやら分かりませんで 沢山出てるんですねぇ
ビックカメラで途方に暮れてしまいました
772NAME IS NULL:04/04/22 20:36 ID:???
>>771
データベース「ソフト」ちうよりむしろ「データベースシステム」だな。
RDBMS = Relational Database Management System)

一般的な作り方だと、
フロントエンド(ユーザに触れる部分; この場合Web鯖)
バックエンド(裏方; ここにデータベースがいる)

で、フロントエンドで動いてるCGIなどの動的スクリプトが
バックエンドに問い合わせを出して、返ってきた値を整形したり
埋め込んだりして、HTMLを(ファイルとしてでなく)出力してる。

以下のキーワードから1つづつ拾ってぐぐってみれ(当方未確認)

フロントエンド) PHP ASP ColdFusion CGI
バックエンド) PostgreSQL MySQL Access

本屋で探すなら「****(RDBMSの名称)でWebサーバを作る)」系の本を
探してみれ。単なるRDBMSの説明の書籍でも、それを利用して簡単な
サイトを構築する例がたいていは載ってるから。
773NAME IS NULL:04/04/22 21:31 ID:???
>>772
てめぇColdFusionすら入れてるくせに
Javaを抜かすとはいい度胸してやがる
774NAME IS NULL:04/04/22 22:26 ID:???
>>773
ど忘れ(苦笑
業務ではTomcat鯖も立てた
775NAME IS NULL:04/04/23 01:18 ID:???
>>772さん
ありがとうございます 少しぐぐってみました
まずはMySQLとPerlで精進してみます
みなさんは複数のプログラミング言語を使ってらっしゃるんですか
一つでも大変そうです
776NAME IS NULL:04/04/23 17:18 ID:???
一つ言語を憶えれば、その知識が他の言語を学ぶ時にも役立つから
複数使うことはそれ程大変な事でも無いよ。

色々やってる内に、それぞれの言語間の差だけ憶えれば済むようになる。

Perなんかlは結構変わった言語だけど、他の言語と共通する所が全然
無いってわけじゃない。
777NAME IS NULL:04/04/23 20:00 ID:???
とある外人に以下の設定だとDBが壊れると言われました。。。
同時にクエリが発生した場合、dataがおかしくなるとのことなのですが
SQLServerって、デフォルトで並列処理(例えば、同時でも処理IDで区分等)の制御は
されてないんでしょうか?
DB:SQL Server 2k
Table:tblaaa
Field:aaa(Primary key、NOT NULL)
先にaaaに仮dataは入力済み

SQL = "SELECT MAX(aaa)+1 FROM tblaaa"
Set Rs = Con.Execute(SQL)
usernum = Rs(0)
Rs.Close
SQL = "INSERT INTO tblaaa VALUES("
SQL = SQL & aaa & ")"
           Con.Execute(SQL)
 Con.Close
778NAME IS NULL:04/04/23 21:21 ID:???
>>777
何の言語かよくわからんが(VB?)
やりたいことは
「usernum に、テーブルの最大値+1 を得て、それを tblaaa に挿入」
と理解していいんだな?

「以下の設定」って何だよ?
「以下の処理」の言い間違い?
「DBが壊れる」ってどういう状態だよ?
database がクラッシュして再起不能になること?
「dataがおかしくなる」っていうのは、「DBが壊れる」と同義?
それとも単に「予期せぬ処理が行われ、不整合状態になる」こと?

ちなみにそのやり方だと、リクエストが多数発生したら確実に
usernum 競合のケース(INSERT が失敗)が出る。

・IDENTITY型を使う
・明示的にテーブルロックする
・INSERTに成功するまでリトライする

以上でピンと来なかったら、もっと勉強すれ。
779NAME IS NULL:04/04/23 22:03 ID:???
んな面倒なコトするくらいならselectinsertする。
INSERT INTO tblaaa VALUES(SELECT MAX(aaa)+1 FROM tblaaa)

でも俺ならserialだのcounterだの使う。
780NAME IS NULL:04/04/23 22:24 ID:???
厨房はほっとけ・・・
781778:04/04/23 22:26 ID:???
>>779
それだと、今INSERTした値が取れないだろ(ワラ

BEGIN TRANSACTION
INSERT INTO tblaaa(aaa) SELECT 1+MAX(aaa) FROM tblaaa
SELECT MAX(aaa) AS usernum FROM tblaaa
COMMIT

だったらアトミックに取れるかな?

ちうわけで IDENTITY AUTONUM SERIAL COUNTER SEQUENCE
(RDBMS により方言は多岐に)使った方がよっぽど楽。
782NAME IS NULL:04/04/23 22:40 ID:???
あー、勘違いしてた。
usernumをinsertしたいのかと思った。
実際にinsertしてんのは変数aaa(の中身)じゃん。
一回目のselect文意味無いじゃん。

じゃーこのusernumって何に使うの。
あとaaaの中身は何なの。

>>781
おまえも訳もわからずに変なレス付けるなよ。
>「usernum に、テーブルの最大値+1 を得て、それを tblaaa に挿入」
これなら>>779でいいし、今INSERTした値を取る必要もないじゃん。
この後でusernumを使うんなら別だけど、普通そうは見ない。
783778:04/04/23 22:49 ID:???
>>782
どうやって >>779 で、いま挿入した値を得ればいいのか説明希望
784NAME IS NULL:04/04/23 22:54 ID:???
>>782
ちと補足。

>じゃーこのusernumって何に使うの。
>あとaaaの中身は何なの。

元の質問は用語もメチャクチャだったので、きっと、例も
usernum と書きたいところを aaa と書いてしまったんだろうと
勝手に脳内補完した。

元質問者は、ユニークな usernum を得るプロシージャを
つくりたいんだと理解したが、違うだろうか?
785NAME IS NULL:04/04/24 03:01 ID:???
>>784
おっしゃる通りで、usernumの間違いです。
DB設計は初心者なので、書籍に載っていた
ソースを使っていたのですが、同時クエリで
簡単に破綻するって事ですね・・・

色々とご指摘頂きましたが、結局
serialかcounterを使うのがいいってことでしょうか?
あと、そのfieldをIDENTITY型にしたとして

>・明示的にテーブルロックする
>・INSERTに成功するまでリトライする

上記2点も必要でしょうか?
度々申し訳ありません。
786NAME IS NULL:04/04/24 05:29 ID:rv2gpxV3
Unix版のオラクルではサーバシャットダウンする前に必ず
shutdownコマンドでDBシャットダウンしないとDBが壊れる
ことがありますが、Windows版の場合はその必要がないので
しょうか?(サービスマネージャーが自動的にやってくれ
るとか)
787NAME IS NULL:04/04/24 05:35 ID:???
>>786
スレ違い
788NAME IS NULL:04/04/24 05:37 ID:???
スマン、こっちがボケてた...
789NAME IS NULL:04/04/24 10:39 ID:???
>>785
テーブルロックは言い過ぎ、俺も使ったことがない。

>>781 を数回トライするようにするだけでも
改善が見られるとおもう。以下解説。

・BEGIN TRAN〜COMMIT
 言わずとしれたトランザクション宣言。MSSQLのデフォルト分離レベルでは
 「自分が更新したもの以外は見えない」だったはず。
・INSERT〜SELECT
 >>779の言うとおり、これ単体でもアトミックに実行される。
 しかし挿入に成功した行IDを得られる実装は多くはない。
・で、最後の SELECT で、あらためて最大値(=いま自分が挿入したもの)を得る。
・最後の COMMIT を忘れると、挿入した行が失われるだけでなく
 ほかにもいろいろ悲しい目に遭うので注意。

分離レベルの違いにより上記の方策でうまく行かないばあい、
・成功するまで何回かINSERTを繰り返す
でいいんじゃないだろうか。というのは、挿入に成功すれば
すなわちそれは、aaa(=usernum)が一意であることが保証されるから。
790NAME IS NULL:04/04/28 00:35 ID:???
そもそも、いま挿入した値を得る必要があるとか
挿入に成功した行IDを得ることを強調してるけど
>>777を見ただけで何故その処理が必要と切れるんだろう・・・?
単にカラムaaaに一意な値を入れたいだけじゃないの?
serialだろうがcounterだろうが、それは単に一意な値が保証されるってだけで
それだけじゃー挿入に成功した行IDを得ることは結局できないだろ。
791NAME IS NULL:04/04/28 00:39 ID:???
質問者は頭が弱い、回答者はおせっかい杉、
>>790はさらに頭が弱い
792NAME IS NULL:04/04/28 01:05 ID:???
質問のレベルから考えても
> ユニークな usernum を得るプロシージャ
こんなのが出てくるとは思わんわな。

>>785を含めても、結局
「usernumにaaaの最大値+1 を得て、それを挿入」でしかないし。
793NAME IS NULL:04/04/28 01:51 ID:???
>>792
そんなに必死にならなくてもいいから
あんたが誌んでも誰も困りゃしないって
794NAME IS NULL:04/04/28 02:24 ID:???
>>793
かわいそうに(プププ
795NAME IS NULL:04/04/28 09:48 ID:???
イイヨー(・∀・)イイヨー
796NAME IS NULL:04/05/01 16:44 ID:sxrfIhFA

 仕事でDB使い始めて、興味を持ちました。
んで、趣味のプログラミングでの話。

 DBにはバイナリも保存できるようなので、
mp3なんかのバイナリデータもガンガン保存させたいと
思うのですが、そうなると気になるのはDBのファイル容量。

 一般的にデータベースのファイルサイズがディスク容量を
超える場合って、どういう運用になるんでしょうか? データ
ベースの一部だけを保存したり、一部だけ再ロードしたり、
そういう運用方法って可能なんでしょうか?

 DBはMySQLかMSDEを考えています。

797NAME IS NULL:04/05/01 17:07 ID:???
1つの論理テーブルのデータを複数の物理ファイルに格納できるDBMSなら、
物理ファイルを分散されればよろし。それでバイナリ突っ込んで運用できるのかは知らない。
RAID組んでディスクの見た目サイズをデカくすると更にお手軽。

でも使用目的を考えると、DB上には実際のファイルへのパスだけ格納してっていうやり方の方が気楽な気がするな。
798NAME IS NULL:04/05/04 20:49 ID:sOBShDrL
例えば1000万行データがあるテーブルをSELECTするとき、メモリが一杯にならないように一行ずつ読み込むのをなんて呼ぶんだっけ?
799NAME IS NULL:04/05/04 21:00 ID:???
>>798
カーソル
800NAME IS NULL:04/05/04 21:10 ID:EUF66mLn
すみません、DAOからADOへの変更してまして、SQLでフィールドを連結させる
「フィールド1 & フィールド2 AS フィールドALL」
でエラーがでます。
LIKEのように、指定方法が違うのでしょうか?
801NAME IS NULL:04/05/06 13:52 ID:UpZY6gOw
ALTER TABLE を使ったコマンドで列名の変更ができません!コマンド自体は確実にOKなのに… 何か盲点があるのでしょうか?
802NAME IS NULL:04/05/06 16:24 ID:???
>>801
RDBMS名を書け。それから、ALTER TABLE で成功する操作を書け。
803NAME IS NULL:04/05/06 22:31 ID:???
エラーメッセージも書こうな。
804NAME IS NULL:04/05/07 13:59 ID:l/mHR899
データベースソフトでサーバ用(DBMS)とクライアント用(PC用)の製品名を
それぞれいくつか教えてください。
805NAME IS NULL:04/05/07 17:15 ID:uvzws9VZ
PHP+PostgreSQLでWebサイト作ってるんですが
ユーザの問合せ(検索など)でcreate viewしようかと思ったんですが
drop viewする前に複数の人が同時にサイト上で問合せすると
名前が衝突してしまうと思うんですが
これって普通はどうやって回避するものなんでしょうか?
806NAME IS NULL:04/05/07 18:11 ID:???
もしかして毎回create viewを投げるの?
作ったviewを普通のテーブルと同じようにselectするだけでいいじゃん。
DDLは普通頻繁に実行するもんじゃないよ。
807NAME IS NULL:04/05/07 22:39 ID:???
>>805
viewを一時表みたいなものと思ってるのかな?初心者にありがちだが。
808NAME IS NULL:04/05/07 22:41 ID:C11+OCB/
↓これについて詳しく教えて

----------------
167 名前:NAME IS NULL[] 投稿日:04/05/06 23:44 ID:1EJZnTLN
>>165-166
書いてる事が分からんが
PHP製品内にMySQL本体を含めなきゃライセンス購入の必要は無い。
しかしMySQL本体を含めて販売しないと動作が不完全だろう。
だから大抵きちんとした製品は購入する必要があるわけ。

169 名前:NAME IS NULL[sage] 投稿日:04/05/07 00:46 ID:???
>>166
普通共有サーバでコマーシャルライセンス付きの製品は動作しない。

171 名前:NAME IS NULL[sage] 投稿日:04/05/07 07:59 ID:???
マジで??なんで??
>>169について詳しく教えて
809NAME IS NULL:04/05/11 20:02 ID:???
みなさまの意見をお聞きしたい。

ユーザー名等のカラム名に関して、

 @ユーザーID
 Aユーザーコード
 Bユーザー番号

のどれにしてます?
私は@ユーザーIDが正解だと思うのですが。
810NAME IS NULL:04/05/11 22:15 ID:8MaZjvNi
ODBCドライバを使わずにODBCでDBに接続するにはどうしたらいいですか?
811NAME IS NULL:04/05/12 00:57 ID:pkjF0PyM
ファイル管理に使えるフリーのデータベースないですか?
812NAME IS NULL:04/05/12 17:45 ID:???
>>809
最初に割り振られる一意の番号、という意味合いなら ID でしょ。
813NAME IS NULL:04/05/12 18:38 ID:???
OpenBase のスレが無いのはなぜでせう?
だめぽならだめぽなりに1すれあっても良さそうなものですが…
814 ◆sybase.d.c :04/05/12 20:49 ID:???
>>813
自分で勃ててみそ
どーせ過疎板なのでちょっとやそっとじゃ落ちネーヨ
815NAME IS NULL:04/05/12 22:11 ID:???
なんかいきなり「設計任せた」とか言われますた。
いきなり言われても今までやったことないし。
とりあえず正規化してます。カラムが40あるよorz
816NAME IS NULL:04/05/13 09:33 ID:???
>>815
DBの設計をするだけならそんな難しいことじゃない。がんがれ。
運用の設計もするんなら、しっかりユーザーからヒアリングしろ。
後から設計変更すると死ぬ。
817NAME IS NULL:04/05/13 17:09 ID:???
>>812
ありがとうございます
818NAME IS NULL:04/05/18 22:59 ID:Fe7YlMnQ

著作権法違反ほう助の疑いで逮捕されたWinny開発者の47氏の為にTシャツを作って応援しましょう。
まずは以下の投票所でこれを着て応援したいというデザインを投票してください。
締め切りは5/19日、皆さんの協力よろしくお願いします

投票所
http://f40.aaacafe.ne.jp/~nytshirt/
投票の前にここを読め
http://f40.aaacafe.ne.jp/~nytshirt/readme.html
まずは予選です。良識をもって投票しましょう。

------------------------------------------------------------------------------
819NAME IS NULL:04/05/19 03:27 ID:1/NWDgMc
MaxDBってなんですか?
820NAME IS NULL:04/05/19 16:39 ID:VBDac82W
質問です。
VB 6.0 + ADO 2.5、DBはACCESSです。

selltable
item day sell
 1  2  2
 1  3  3
 2  1  2
 2  3  6
 3  1  3
 3  2  6

上のようなテーブルから、「各itemの3日目のsellと3日目までのsell合計」
を拾うようなクエリをご教授ください。
上の場合ならこんなレコードセットを得たいわけですが。

item sell result
 1  3  5
 2  6  8

なお、自分で書いてみたクエリは大体こんな感じです。
何故かサブクエリが使えません。

SELECT today.item, today.sell, calc.result
FROM selltable AS today,
   (SELECT SUM(sell) AS result FROM selltable GROUP BY ID) AS calc
WHERE today.day = 3 AND today.item = calc.item
821NAME IS NULL:04/05/19 16:41 ID:VBDac82W
×GROUP BY ID
○GROUP BY sell
822NAME IS NULL:04/05/19 18:38 ID:???
>>820
AccessのSELECTリストにサブクエリが使えるかどうか知らんが。
SELECT today.item,today.sell,(SELECT sum(sell) FROM table WHERE day<=3 AND item=today.item)AS result FROM table as today WHERE day=3;
823NAME IS NULL:04/05/19 18:48 ID:???
>>820
Access 2000で確認。VB6+ADOで使えるかどうかは不明。
他のDBMSじゃまず使えないと思う。
SELECT item, sell, DSum("sell", "selltable", "item=" & item & "And day <= 3") AS result
FROM selltable WHERE day = 3;
824NAME IS NULL:04/05/20 09:51 ID:???
皆さんにお伺いしたいのですが、
SQL Server で「データベース」と言うとふたつの意味がありますね。

@データベースインスタンス
Aインスタンスじゃない方のデータベース

このとき、Aのことをどう表現してますか?
@は「データベースインスタンス」と言えば判ると思いますが、
Aの表現方法がわかりません。

よろしくお願いします。
825NAME IS NULL:04/05/20 09:56 ID:???
>>822-823
ありがとうございました。>>822の方法で取得できました。
>>823のほうは、DSumををサポートしていないとエラーが出ました。
826NAME IS NULL:04/05/20 14:59 ID:???
ID(ユニーク)、一個以上のキーワード(文字列)を持つリスト、本文(文字列)
というデータがあり、Googleみたいにキーワードのリストを与えることで
もっとも一致率の高いデータを選び出す、という事をやりたいのですが、
一個以上で最大の個数が分からないキーワードのリストというのは、
どういう形でテーブルに列を定義すれば良いのでしょうか?
テーブルの列の個数って固定ですよね…。
Perl5.6.1とPostgreSQL7.2.1-2woody4を使っています。
というか使おうとしています。
827NAME IS NULL:04/05/20 15:01 ID:???
>824
ユーザーデータベース、とか。
828NAME IS NULL:04/05/20 15:07 ID:???
829NAME IS NULL:04/05/20 17:02 ID:???
>>828
第1次正規形のテーブルは作れるけど、それ以降がいまいち分からないのですが、
初心者スレに移動した方がいいでしょうか…。
830NAME IS NULL:04/05/20 17:22 ID:???
>>829
質問そのものも正規化したほうがいいな。いまいち意味がワカラン。
サンプルデータを出して、もう一度説明してみ。
831NAME IS NULL:04/05/20 21:06 ID:???
>>830
例えばこんな感じのデータです
00001/今日は晴れで明日は雨だ。/今日, 晴れ, 明日, 雨
00002/今日は車で出かける。/今日, 車
ID/本文/キーワードのリスト です

キーワード(キーワードID, キーワード, 本文ID)
本文(ID, 本文)
としても、
本文の方は、本文(01, 今日は晴れで明日は雨だ。)、本文(02, 今日は車で出かける。)
とできるけど、キーワードは、キーワード(01, 今日, 01)、キーワード(01, 今日, 02)と
キーワードの主キーであるはずのキーワードIDが複数行にまたがっちゃうのではないかと…。
832NAME IS NULL:04/05/20 22:35 ID:???
>>831
table1(id,本文)
00001/今日は晴れで明日は雨だ。
00002/今日は車で出かける。

teble2(id,キーワード)
00001/今日
00001/晴れ
00001/明日
00001/雨
00002/今日
00002/車

SELECT T1.id,T1.本文,T2.Score FROM
 (SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id)AS T2
 JOIN table1 as T1 USING(id) ORDER BY Score DESC;

という理解でいいのかな?
table2は(id,キーワード,カウント)にして、キーワードが本文に出てくる回数をカウントに入れておいて、
count(キーワード)の代わりに、sum(カウント)にしてスコアを出せばますますNamazuっぽく...
833NAME IS NULL:04/05/20 23:01 ID:???
>>832
おお、何かうまくいってそうな気がします。
リモートでアクセスできないので今すぐ試せないのですが、
とりあえず、ありがとうございました。明日試してみます。
834NAME IS NULL:04/05/20 23:18 ID:???
チョト追加つか訂正。
Namazuとか検索エンジンの場合はWHERE句のキーワードリストをORじゃなくてANDがデフォ。
今回の例ではsum(カウント)と出来ないので、ORにしてそれっぽくしている。
835NAME IS NULL:04/05/21 10:51 ID:???
別人だけど、
>今回の例ではsum(カウント)と出来ないので
これはなじぇ?
table2にカウントのデータがないからで、テーブルにデータを詰め込むときに
キーワードが本文に出てくる回数を数えるスクリプトか何かを追加しておけば
できるって意味ッスか?
836NAME IS NULL:04/05/21 11:05 ID:m/y2pV7a
初歩的で失礼です。

select文でとれたレコードで該当する全てのレコード数を
取るにはどうすればいいですか?

837NAME IS NULL:04/05/21 19:13 ID:???
>>835
そゆこと。
838NAME IS NULL:04/05/22 00:08 ID:???
データベースの参考書で、とりあえずSQLクイックリファレンスだか
ポケットリファレンスだかが良いのでこれ買っとけって話をたまに聞くんですが、
どの本のことでしょうか?
839NAME IS NULL:04/05/22 01:03 ID:???
840NAME IS NULL:04/05/22 01:23 ID:???
>>839
どうもです。
841NAME IS NULL:04/05/25 13:28 ID:???
>>832
SELECT T1.id,T1.本文,T2.Score FROM
 (SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id)AS T2
 JOIN table1 as T1 USING(id) ORDER BY Score DESC;

これってScoreの大きい順にすべての結果が出力されますよね。
もっともScoreが大きいものを一つだけを出力するのってどう書けばいいんでしょうか。
最後にWHERE T2.Score = max(T2.Score)をつけたりしたんですが、うまくいかないです。
#↑も一つだけじゃなくて、Score最大のものを全てって意味だし…
842NAME IS NULL:04/05/25 13:51 ID:???
>>841
PostgreSQLならLimitを使え。
ORDER BY Score DESC LIMIT 1;
843NAME IS NULL:04/05/25 14:31 ID:???
>>842
ありがとうございます。
一応動くには動いたんですが、毎回返ってくるデータは同じですよね。
結果にある程度のランダム性を持たせたいというか、
Scoreが最大って条件を満たす中で、ランダムに1行を返して欲しいのですが、
これはどうにかならないでしょうか?
ORDER BY Score DESCを外しても、結局返ってくる1行は決まった行ですよね。
844NAME IS NULL:04/05/25 15:32 ID:???
LIMIT 1, ROUND(COUNT(*) * RANDOM(), 0);
で、0行目〜最大行目までから1行と書いてみたのですが、駄目でした…。
845NAME IS NULL:04/05/25 15:56 ID:???
>>843
最大値のどの行を取るかは呼び出す言語側で処理するしかないというか、
その方が手っ取り早い気がする。
と、Score最大を全て取るのなら、ORDER BY句の代わりに、
WHERE Score=(SELECT max(Score) FROM (SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id)AS T3)
ってなるのか。すんげぇ冗長な気もするが。
846NAME IS NULL:04/05/25 18:39 ID:JQMURBQG
フィールドの組み合わせが重複しないような取得は
SELECT DISTINCT フィールド1, フィールド2 FROM テーブル;
でできるかと思うのですが、指定したフィールドの値しか取得できませんよね?

指定したフィールドの組み合わせが重複しない"レコード全体"を取得するには
どう書けばいいのでしょうか?
(重複する場合、idが小さいものを取得する)

ご存知の方がおりましたらご教授ください。
847NAME IS NULL:04/05/25 18:52 ID:???
>>845
これはT2とT3で、同じSELECT WHERE句が2回出てくることになると思うのですが、
処理的にはどうなるのでしょうか?
つまり、同じ処理を二回繰り返すことになるのか、データベースサーバ側で
結果を覚えておいて、二度手間を勝手に避けてくれるのか、という点が気になるのですが…。
848NAME IS NULL:04/05/25 19:30 ID:e+1dBnLQ
データベースを学ぶ上でお勧めのがあったら教えてくんなまし。
マジスレ希望。
849 ◆sybase.d.c :04/05/25 19:45 ID:???
>>848
やっぱ実戦だなぁ…実戦で失敗重ねて…というのが俺的マジレス
850NAME IS NULL:04/05/25 20:07 ID:e+1dBnLQ
実践かぁ・・・。
851NAME IS NULL:04/05/25 21:36 ID:???
>>847
別に相関サブクエリでループしているわけでも無いし、
うまくインデックスが効くようなら、それほど負荷のある処理じゃないんだけどな。
他スレでは相関サブクエリの自己結合なSQLを答えたし。

で、7.4ではそこら辺の2度手間を省くようになったのか、サブクエリを多用する
SQLはかなり速度がUpしてますよ。
と、同じ行を抽出しているのならキャッシュに載るので、処理が2倍になる
ってこともないと思う。

EXPLAINなどでいろいろ試してみるよろし。
852NAME IS NULL:04/05/27 22:49 ID:???
>>851
うーん、キャッシュが残ってる時は軽いんですが、検索条件のキーワードが
多い時と、検索条件が頻出するキーワードで、行数が多い時に滅茶苦茶時間がかかってしまいますね…。
本文のキーワードリスト/本文へのポインタを書いたインデックスファイルを用意して、
検索条件との一致率が最も高い行を探して、ポインタで本文を呼び出して…っていう
泥臭い方法を試してみたのですが、こっちの方がデータベースを使うより早い場合さえありました…。
どうにかして現実的な実時間で結果が返ってくるようにできませんでしょうか。

SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id LIMIT 100)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC WHERE Score=(SELECT max(Score) FROM
(SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id LIMIT 100)AS T3)

とLIMITを付けても大して変わりませんでしたし…。
853NAME IS NULL:04/05/27 22:55 ID:???
>>851
うーん、キャッシュが残ってる時は軽いんですが、検索条件のキーワードが
多い時と、検索条件が頻出するキーワードで、行数が多い時に滅茶苦茶時間がかかってしまいますね…。
本文のキーワードリスト/本文へのポインタを書いたインデックスファイルを用意して、
検索条件との一致率が最も高い行を探して、ポインタで本文を呼び出して…っていう
泥臭い方法を試してみたのですが、こっちの方がデータベースを使うより早い場合さえありました…。
どうにかして現実的な実時間で結果が返ってくるようにできませんでしょうか。

SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id LIMIT 100)AS T2
JOIN table1 as T1 USING(id) ORDER BY Score DESC WHERE Score=(SELECT max(Score) FROM
(SELECT count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP by id LIMIT 100)AS T3)

とLIMITを付けても大して変わりませんでしたし…。
854852:04/05/28 10:18 ID:???
今頃2重に気づきました
失礼しました
855NAME IS NULL:04/05/28 10:29 ID:???
>>852
ヒット率が高くてインデックスが使われない状況だと、遅くなるわな。
SELECT T1.id,T1.本文,T2.Score FROM
(SELECT id,count(キーワード)AS Score FROM table2 WHERE キーワード='今日' OR キーワード='明日' GROUP BY id )AS T2
JOIN table1 as T1 USING(id);
までと、全文とでのEXPLAIN ANALYZEで比較してみれ。
WHERE句で絞っているので、ORDER BY Score DESC は要らん。
856NAME IS NULL:04/06/03 23:38 ID:???
PostgreSQLやMySQLといったフリーのものは
フツーにインストールするとファイルシステム上に構築されますが、
大規模DBを組む場合にはスピードアップのために、
HDにパーティション切って専用ドライブとして利用可能なんでしょうか?

専門外なので、よくわからん(==;




857NAME IS NULL:04/06/04 23:27 ID:???
ドライブ一つじゃ、いくらパーティション切ったって速度面への貢献は無いそ。
断片化の対策にはなるかもしれないが。
858NAME IS NULL:04/06/05 00:10 ID:???
>>857
漏れもそう思うが、
>>856が言いたいのは、
ファイルシステム上じゃなく、DBが直接ディスクを読み書き出来るのか?
ではないかと思ったり。
859856:04/06/06 21:19 ID:???
>858
フォローありがとう

> ファイルシステム上じゃなく、DBが直接ディスクを読み書き出来るのか?
そういう意味なんだよぉ・・・
860NAME IS NULL:04/06/06 22:24 ID:???
>>859
開発者でもないし、ソースコードを見て確認したわけではないが、
そういうネタは聞いたこと無いので、多分できないかと。
861856:04/06/06 23:02 ID:RA8GNqhz
はぅ〜、そうですか
おかげ様で通常ありえないことがわかりました。
ありがとうございます
862NAME IS NULL:04/06/07 22:51 ID:EpoRcqjT
すみません、Web板で質問したらここで聞けといわれたのですが、
僕は千葉県に住んでいる風間純平といいます。
先日、ネットで就職情報を集めていたのですが
「続・日本人のおしっこ」というサイトに飛んだとたん
無数のウィンドウが勝手に開きはじめ画面が埋めつくされてしまいました。
すぐに警察に電話したのですが、ちゃんと話を聞いてもらえませんでした。
今も心配でしょうがないんですが、ウィルスには感染してませんよね?
感染していた場合、関東でお勧めの病院も教えてください。
863NAME IS NULL:04/06/07 23:03 ID:???
>>861
今日、jpug-jpのMLでrawデバイス対応に対する話題が盛り上がってましたなあ。
864NAME IS NULL:04/06/10 02:08 ID:???
開発中、DBのバージョンが頻繁に変わるんですが、良いテストデータの移行法はないでしょうか。
カラム名やテーブル名も変わるので、アクセスやエクセルでは手間が酷い。
自動で全テーブルからデータをとってきてINSERT文にしてくれるといいのに。
DBはORACLEです。
865NAME IS NULL:04/06/10 06:11 ID:VGTvMXq8
カラムの名前ですが、
m_user(
user_id numeric primary key,
user_name varchar(256)
);

m_user(
id numeric primary key,
name varchar(256)
);
てどちらのパターンの方が多いでしょうか?
前者の方が読み間違いが少なく、後者の方が打ち間違いが少ない
と思うのですが。
866NAME IS NULL:04/06/10 10:00 ID:8KsqPgq/
Oracle9i(9.2.0.1.0)のインストールウィザードが立ち上がってこないので困っています。
サーバは
DellのPowerEdge400SC
CPUはx86 family 15Model
OSはWindowsNT4.0 SP6a
です。
8iで同じような現象が出た時の対照法(HDDにコピーしてsymcjit.dllの名前を変える)
をやってみたけど、ダメでした。
何か解消方法はあるんでしょうか?
867NAME IS NULL:04/06/10 14:36 ID:9jgUQsZn
MSSQLServer2000で
Update tableA Set data1=data1+'moji'
みたいなSQLで、data1がvarchar型だとOKだけどtext型だとダメでした。
どなたか回避策知ってる方いませんか?
868865:04/06/11 05:30 ID:0Cv6+OdD
>>864
具体的なテストデータがわかりませんが、テンポラリー用に自クライアントマシンに
Postgresでも入れてSQL文作ってそこそこ自動化出来ませんか?
もしくはcseでエクスポート、インポートじゃ駄目でしょうか?

>>866
oracleを作った人でもその材料だけで答えは出ないはずです。もう少し詳しい状況を。

>>867
駄目な時のエラー文を載せるとSQLServer知らない人でも多分答えが出せますよ。

さぁ上記3人様、やさしく素敵な助言をした俺の質問に答えて下され。
人から引き継いだ場合どっちが好き好きになれそうでしょうか?
869NAME IS NULL:04/06/11 10:36 ID:???
>>868=865
自分の勝手にすればいいだろ
そんなことも判断できないの?
宗教論争でもやりたいの?
870NAME IS NULL:04/06/11 17:19 ID:???
画像を何形式で保存すれば良いかわからないでふぅー
gif?jpg?
871NAME IS NULL:04/06/12 00:18 ID:g+e7tp9w
DBで家計簿をつけたいのですが
エンゲル係数とか出したいしね
872NAME IS NULL:04/06/12 01:03 ID:OBbT7WUt
http://www.seasar.net/
こいつは?
873NAME IS NULL:04/06/12 02:29 ID:???
Windows2000にOracle9i(9.2.0.1.0)をインストールし、DBを作成して
少し複雑なSELECT文を発行したところ一時表領域の増分サイズを
少なく設定しすぎて下記のようなエラーが発生しました。

ORA-01652: 一時セグメントを拡張できません(125分、表領域***TEMP)
ORA-27059: skgfrsz: ファイル・サイズを縮小できませんでした
OSD-04005: SetFilePointer()に失敗しました。ファイルの読み込みができません。
O/S-Error: (OS 112) デスクに十分な空き容量がありません。

このエラー自体は一時表領域とそのデータファイルの増分サイズを
大きく変更することにより解決できたのですが、先にエラーになった際に
一時表領域のデータファイルが4GBまで拡張され(使用率100%)、
クリアされずに残ってしまいました。
私の認識では一時表領域はソートなどの一時的な使用に使われ、
処理が終わったら表領域内のデータはクリアされると思っていたのですが
上記のように残ってしまったデータ(ゴミ?)は消えることはないのでしょうか?
仕方ないのでデータファイルを追加したのですが、何回か処理を繰り返すうちに
これも使い切って一時表領域が増え続けている状態です(現在8G)。
一時表領域で使ったデータが累積され続けてるように思えます。
処理が終わったら一時表領域内の不要なデータをクリアし
データファイルサイズを自動で縮小するような設定は不可能でしょうか?
874NAME IS NULL:04/06/12 12:39 ID:???
>>867
text型はBLOBデータなので普通にはUPDATEできない。

書くのが面倒なのでBooksOnline読んでおくれ

リレーショナル データへのアクセスおよびデータの変更
->拡張クエリの概念
->ntext 型、text 型、および image 型のデータの管理
->ntext 型、text 型または image 型の値の変更
875874:04/06/12 12:44 ID:???
SQL直打ちじゃなくてADOとか噛ましてるならそっちのサポートを使ったほうが楽
↑の「ntext 型、text 型、および image 型のデータの管理」に書かれてる
876NAME IS NULL:04/06/12 16:33 ID:30aJ5WcQ
製品部品展開について質問です。

手続き型で再帰を使って製品部品展開を行っているんですが、(MS-ACCESS)
これをPostgreSQL+Apacheに移植(イントラネット化)する予定があります。
クライアントはメンテナンス用のMS-ACCESS(ODBC)と運用用のWebブラウザにする予定で
出来るだけ共通ロジックを使いたいと思っています。

RDBMSの機能を最大限生かして製品部品展開ロジックを実現するには
どのようなデータ構造・実装にすればいいのでしょうか?

参考になるサイトなどもご存知でしたら教えていただければ幸いです。
877NAME IS NULL:04/06/12 17:30 ID:???
>>876
ACCESSと本格的なRDBで共通ロジックって・・・。ご愁傷様です。
878NAME IS NULL:04/06/13 18:28 ID:???
会社の業務システムのテーブルはレコード番号以外にインデックスを
作ってない。そのせいか集計処理なんかがとんでもなく遅い。
素人考えですが普通、集計や抽出に使いそうな入出庫日等に
インデックスを作成するものじゃないんですか?
あえてインデックスをつけない訳でもあるんでしょうか?
879856:04/06/15 03:25 ID:???
>>863
情報ありがd

PostgreSQLメーリングリスト。はじめてみましたが、すごく濃いですねぇ(^^;

せっかくなんでを要約します。

商用DBではファイルシステムを介さず直接 raw device を触ることもできる
商用では意外と普通に使われてきていた
が、最近は徐々に使われなくなってきている

といったところでしょうか。

さらに、raw device の利点、問題点をまとめますと

利点:
・トランザクションの順番を保証している。
 (UFS は実際のディスクに書き出す順番を保証していない)
・データ領域をraw deviceにすることで、効率良く利用出来る
 (OSのファイルシステムで生じる些細な無駄を省ける。スペース、スピード共に)
・raw deviceを採用することによるペナルティはほとんどない。
・ストレージ管理ツール使えば管理は可能

意見、問題点:
・通常の使い方ではraw deviceを使わなければいけない状況はそんなにないだろう
・Windows では Unix 系よりも性能向上しなかったようだ
・PostgreSQLでは存在していない。あまりニーズがないのでは?
・raw deviceを使えば単純に早くなるわけではない。
 チューニングして、I/Oにボトルネックを持ってくる必要アリ
・パフォーマンスを追求するのであれば、
 OSという馬鹿でかい抽象レイヤを使用するほうが問題があるのでは?

う〜ん、勉強になりました
880NAME IS NULL:04/06/16 23:34 ID:v9AM738T
データベースの知識はほとんど持ち合わせていない素人です。

今度大量の音楽データ(MP3)の管理を任されまして、
それの索引を作ったり、曲名や作曲者で検索してデータにアクセスできるよう
データベースっぽいものを作ることになってしまったのですが、
どのようなソフトを使ってどのように作ればよいのか見当が付きません。

どんな方法でデータベースを作るのが良いか、アドバイスをもらえませんでしょうか?
作る側も使う側も素人なので、そんな難しい機能は必要ないと思います。
よろしくお願いします。
881NAME IS NULL:04/06/17 00:00 ID:???
>>880
htmlで曲名、作曲者の一覧表作ってMP3ファイルにリンクを張っておく。
で、ユーザーはIE上でctrl-Fで検索する。
882NAME IS NULL:04/06/17 00:14 ID:???
DoDのDBに進入できる香具師いますか?
883NAME IS NULL:04/06/17 08:36 ID:???
>>880
ExcelでMP3の一覧表を作って、
ハイパーリンクを貼る。
884NAME IS NULL:04/06/18 02:38 ID:???
880です。ありがとうございます。
Excelで表を作る方法だと、ユーザーもリストの更新が楽にできるので良いですね。
もう一つ、友人からMP3プレーヤーソフトで管理する方法も教えてもらったので、
それと併せて考えて見ることにします。

ありがとうございました。
885NAME IS NULL:04/06/27 14:18 ID:oiiIcj7k
ACCESS 2000で教えてください

こんなテーブル1があって
ID |DATE1
-----------------------
1 |2004/06/01 11:50:30
2 |2004/06/02 11:50:30
3 |2004/06/03 11:50:30

以下のSQL文を発行すると
select * from テーブル1 WHERE DATE1 between #2004/06/01# and #2004/06/02#

1だけが検索されます。between句は 〜以上〜未満 なのでしょうか

一方でテーブル2があって
ID |SDATE |EDATE
--------------------------
1 |2004/06/01 |2004/06/15
2 |2004/06/16 |2004/06/30

select * from テーブル2 WHERE Date() between SDATE and EDATE
とやると 本日の日付Date()が2004/06/15でも1が検索されます。
between句が 〜以上〜以下 で動作しています。

これってなぜなのでしょうか。
886NAME IS NULL:04/06/27 15:16 ID:???
検証してないんで間違ってたらあれなんだが、
単に#2004/06/02#とかでSQL文賀書くと、
内部的には2004/06/02 00:00:00と解釈されるんでないかい?
これだとテーブル1のID = 2 は当然含まず、
テーブル2のID = 1 は時間が切り捨てられてるので
(つまり00:00:00と同義)含まれるとなるんでないかい?


887NAME IS NULL:04/06/27 20:55 ID:P0QOy8QQ
WinのコマンドプロンプトからMySQLを起動させ
直接CUIでMySQLを扱う際にテーブルにデータを日本語で入力するやり方を教えて下さい。

insert into table(name) values('鈴木一郎')

上の行で「鈴木一郎」の部分を日本語入力したいのですが、
半角/全角キーなどを押しても日本語入力になりません。
テキストファイルを用意して読み込ませる方法もありますが
直接、CUI上で日本語入力できる手段はないものでしょうか?

OSはWinXPのPro、MySQLはver4.0.13のWindows版を使っています。
888NAME IS NULL:04/06/27 21:56 ID:???
>>887
[Alt]+[半角/全角]でも日本語入力できませんか?
889NAME IS NULL:04/06/28 14:54 ID:???
すみませんできるだけ多くの種類のデータベースファイルに接続できる、
SQLクエリアナライザってないですか?SQLserverについてるみたいなやつ
がいいんですけど。
ちなみにMSのIDEについてるやつは除外でお願いします。
890NAME IS NULL:04/06/28 15:01 ID:???
>>889
無い。
891NAME IS NULL:04/06/28 15:07 ID:???
(;゚д゚) がーん
892NAME IS NULL:04/06/28 15:26 ID:???
>889
CSEなんかがそれに近いと言えるかもしれないけど・・・
結局のところ、専用品を使うのが一番早かったりする。
893NAME IS NULL:04/06/28 16:58 ID:???
>>892
CSEつかってみたけどMS系が直接接続できないのはちょっと勘弁。
やはり専用品が一番ですね。
894NAME IS NULL:04/06/28 19:01 ID:4WWcpWZR
アクセスのクエリーってカラム数の制限があったような気がするんですがいくつですか?
895NAME IS NULL:04/06/29 21:40 ID:???
>888
できました!
Altキーを使って日本語入力を切り替えていたのは
ずいぶん昔だったので忘れていました、ありがとうございます。
896NAME IS NULL:04/06/30 00:58 ID:???
>>894漏れもACCESSのバージョン毎にQUERYのMAXカラム数知りたい
897NAME IS NULL:04/06/30 19:32 ID:NOMUUC69
Postgres です。

テーブルAとテーブルA_bakがあり、同じ構造です。
A_bakには、Aで比較的使われなくなったレコードが退避されています。

このとき、AとA_bakの両方からgroup by をしたいのですが、
どういうSQL文にすれびいいのでしょうか。おしえてください。
898NAME IS NULL:04/06/30 20:47 ID:Wz7pCQmP
XMLをやりとりすんのに一番適してるDBはなんすか?
899NAME IS NULL:04/06/30 22:34 ID:???
>>897
UNION
900NAME IS NULL:04/06/30 22:35 ID:???
>>898
CACHE って言ってみるテスト
901NAME IS NULL:04/06/30 23:40 ID:???
Windowsなのですが
人別で特徴などを書き込めるようなDBはないでしょうか?
メモ帳だときついので・・・
902NAME IS NULL:04/06/30 23:44 ID:???
>>901
なんか、板違いな気が。
最近てっきり聞かなくなったPIM系アプリでも買えば。
903901:04/07/01 00:05 ID:???
>>902
あれ?板違いですか・・・
こういうのはどこで聞けばいいんですかね?
904NAME IS NULL:04/07/01 03:15 ID:???
>>903
【テンプレ厳守】こんなソフトウェアありますか?Part55
http://pc5.2ch.net/test/read.cgi/software/1088517895/
905NAME IS NULL:04/07/01 22:06 ID:EkQwcv/s
>>904
ありがとうございます。
906NAME IS NULL:04/07/02 21:54 ID:htVOEnuA
表をTRUNCATEした場合、データディクショナリ中の表定義は削除されますか?
907NAME IS NULL:04/07/02 21:56 ID:htVOEnuA
>>906
Oracleの話です。
908NAME IS NULL:04/07/03 00:02 ID:???
>>906
されませんよ。

SQL> create table test (col1 number);
Table created.

SQL> insert into test values (10);
1 row created.

SQL> commit;
Commit complete.

SQL> truncate table test;
Table truncated.

SQL> select * from user_tables where table_name = 'TEST';
TABLE_NAME TABLESPACE_NAME CLUSTER_NAME
IOT_NAME PCT_FREE PCT_USED INI_TRANS
------------------------------ ------------------------------ ------------------
------------ ------------------------------ ---------- ---------- ----------
MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREE
LISTS FREELIST_GROUPS LOG B NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE
---------- -------------- ----------- ----------- ----------- ------------ -----
----- --------------- --- - ---------- ---------- ------------ ----------
CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE
INSTANCES CACHE TABLE_LO
---------- ----------- ------------------------- ------------------- -----------
------------------- ------------------------------ --------------- --------
SAMPLE_SIZE LAST_ANALY PAR IOT_TYPE T S NES BUFFER_ ROW_MOVE GLO USE DURATIO
N SKIP_COR MON CLUSTER_OWNER DEPENDEN COMPRESS
----------- ---------- --- ------------ - - --- ------- -------- --- --- -------
-------- -------- --- ------------------------------ -------- --------
TEST USERS
10 1
255 65536 1 2147483645
YES N
1
1 N ENABLED
NO N N NO DEFAULT DISABLED NO NO
DISABLED NO DISABLED DISABLED
909NAME IS NULL:04/07/03 00:24 ID:92j5ft9e
>>908
わざわざありがとうございます。
910NAME IS NULL:04/07/03 02:13 ID:y02b0D0u
これを日本および海外で広めると病気が治るかもしれない。
オラウータンなどの
サルは自分と似ていない自分の子供を(子殺しする)殺す。
(立花隆『サル学の現在』平凡社より)

http://www.google.co.jp/search?q=cache:YzJwPXsiJZAJ:www.impala.jp/bookclub/html/dinfo/10110005.html+%E3%82%B5%E3%83%AB%E5%AD%A6%E3%81%AE%E7%8F%BE%E5%9C%A8%E3%80%80%E5%AD%90%E6%AE%BA%E3%81%97&hl=ja
911NAME IS NULL:04/07/03 04:59 ID:fsBIWwVA
 OracleのSQLの正式な仕様ってどこか
フリーでないでしょうか? 英語でもOKなんですが。
Oracleの体験版を入れたけどSQLのヘルプが見つからない。
912NAME IS NULL:04/07/03 09:46 ID:???
913NAME IS NULL:04/07/03 22:47 ID:NyF6WBPa
仕事でAccess使って開発しなきゃいけないんだけど
イマイチDBの設計の仕方がわかりません
なんかいい勉強方法ってないですかね?
914NAME IS NULL:04/07/03 23:08 ID:???
>>913
http://www.wakhok.ac.jp/DB/DB.html
基本がわかるけど、あんまり向いてないかも知れない。
仕事の内容は理解してるのかな?
915NAME IS NULL:04/07/03 23:29 ID:???
>>914
そこらへんは一応知ってます
仕様書渡されて「これで作って」って言われ、作るんだけど
やたらとクエリが多かったりしてどう処理してるか(他の人が見て)わからなくなります
もっとスッキリした形で作りたいんです
ちなみに、仕事は銀行の事務系のシステムです
916NAME IS NULL:04/07/04 00:03 ID:???
>>913
>そこらへんは一応知ってます
第三正規形程度がわかっているてことかな
仕事の内容がわかるということかな
そこら辺の説明をPlease!!
>イマイチDBの設計の仕方がわかりません
これを読んでテーブルの設計がわからないのかと思ったが
その後の処理の問題だったらクエリの命名法でも工夫すればいいのでは?
『Q○○第1段階』なんてね...(^^;)
当方医療系で周りにAccessなんて知ってる奴いないのとADO主体の開発
してるモンでコメントつけたり、関数化してたり当たり前のような事
しかしていないので力になれんような予感がする。m(__)m
917エデン:04/07/05 18:41 ID:1aGUCRG7
最近からここを見るようになりDBを覚えようと考えているのですが、
1.データベース系を覚えるときまずどんなことをすればよいのか。
2.データーベースの基礎を理解するにはACCESSでも足りるか、
3.練習用のデータを手に入れるときどこで入手しているか(もしくはデータをおいてあるサイト)
1,2はいろいろな解説サイトはあるがサイトによって意見がばらばらなので自分達の意見でお願いします。
3は探したのですが、探し方が悪かったのかデータを置いてあるサイトが見つかりませんでした

よろしくです。
918NAME IS NULL:04/07/05 19:31 ID:???
>917のDB以外(プログラミング、OS、その他コンピュータ全般)の知識はどの程度?
それによっても変わるよ。
プログラミングの経験無しならAccessでもいいんじゃない?
何しろ情報が多いし、他に比べればとりあえず動く物を作る事ができるようになるまでの時間が短いからな。
練習用のデータは自分で作ればいいんじゃないでしょうか。
そうでなければサンプルデータベースが付属している本等を選べばよろしいかと。
919NAME IS NULL:04/07/05 19:45 ID:???
>>917
どうせならHSQLDBにしよーぜ
今ならソースコードも何とか読める範囲ですよ?
920NAME IS NULL:04/07/06 00:45 ID:???
>>917
いったいどの程度勉強したいのかと?
俺の持論で悪いがACCESSはやめとけ。
SQL部分が隠されてるから、一般的な知識にはならんよ。
勉強目的ならMYSQLとかPOSTAGEとかフリーのDBと、
SQLハンドブックで死ぬ目に会えばだいぶわかると思うが?
すぐに動作する結果が欲しいのと勉強したいの両方なら
VB.NET+ACCESSもありかも。
921NAME IS NULL:04/07/06 07:32 ID:e3gokjqC
WEB上で、データベースを利用する場合、
どのデータベースがより高速でしょうか。
環境にも左右されるとは思いますが、
WEB上で、単純な商品検索や、データ入力をする場合です。
922NAME IS NULL:04/07/06 09:16 ID:???
>>917
>>920に同意。
ACCESSでDB設計や、SQLのスキルが上がるとは正直思えない。
これは、DBの知識が無くてもDBを扱えるということが
コンセプトの商品だからだ。
ただ、ACCESSができると、普通の仕事で役に立つと思うので
身につけておいてもよいかも。

テストデータは自分で作れ。
たちまちやりたいことが無いなら、
まずは、身の回りのものを全てデータ化してDBにぶち込んでみれ。
923NAME IS NULL:04/07/06 10:01 ID:???
Accessって条件を入力したフォームかなんかで裏で生成さらたSQLを表示することも出来たんじゃなかったケ?
SQLそのものも入力できたはずなので、SQLがまるっきり解らないのなら、Accessが生成したSQLを見ながら
勉強するって手もある。SQLのスキルが全く上がらないとも言えない。要は使いよう。
って、別にAccessを薦めているわけじゃない。元質のレベルも解らないし、将来どうしたいのか? 何の為に
DBを勉強するのか目的がワカラン。

テストデータは、郵便番号のデータなんかどうだろ。ttp://www.post.japanpost.jp/zipcode/download.html
これだけだと、結合関係が出来ないんだけど、ここから都道府県名のみ別テーブルにして結合するとか。
備考のところでちょっと癖のある行があるけど、CSV的には例外が無いので、すんなりとDBに格納できる。
924NAME IS NULL:04/07/06 10:35 ID:1mTPPz7s
えーっと質問させてください。
VB6.0から、ACCESSに接続して、
新規顧客の重複チェックを行っています。
(チェック項目:姓、名、TEL)

問題は、電話番号のチェックで、
テーブルに登録されているデータは、ハイフンありとか、なしとかあります。
このため、WHERE句はハイフンなしで検索して、重複チェックをかけたいのです。

入力されたTELはReplace関数で置換できたのですが、
テーブルの電話番号の置換ができません。

ACCESSで、置換するコマンドをつかえないのですか?
教えてください。
925NAME IS NULL:04/07/06 10:50 ID:???
普通にReplace使えばいーのでわ?
入力チェックが甘いアプリだと「-」だったり「ー」だったり「―」だったり色々めんどくさいけど。
926NAME IS NULL:04/07/06 10:53 ID:???
VBから、
WHERE 電話番号 = Replace(txt_TEL, "-", "")
は可能でした。
が、
WHERE Replace(電話番号,"-","") = Replace(txt_TEL, "-", "")
ですと、
「式に未定義関数 ’Replace’があります。」
とエラーになってしまいます。
927エデン:04/07/06 11:31 ID:Q812NZYw
>>917です
理解できるSQLのPGはシスアドで習う程度のレベルです。
まあ個人で楽しむあたりでは足りるぐらいですが、実際のところ大学の授業で3回(そのうち2回休んだ)しかやらないし
経営側の勉強をする学科なのでSQLはなぞる程度しかしなかったんです。
データ数も20より下。

DB系をやろうとし始めたのは就職活動中、目指す分野上いやでもオラクルのことをきくので
オラクルのことを聞かれてソフトウエアですよねというのは避けたいと思って2chでみていて個人的にやってみたいと思ったのが最初ですね
思い立ったら吉日といいますし。。。。

使っているノートの容量が10Gメモリー256MB(5G レッドハット使用。現在700MBほど残っている)
サーバーとして立てる予定のデスクトップが5GB,64MBとある意味ネタという状況で練習だけはしてみようとおもってます。

後今浮かんだことなんですが、5GBのデスクトップをサーバーに立てるか外付けHDD120GB(20GBは使えれるはず)をサーバーにするか
どっちがいいのでしょう。
っていうか外付けHDDってサーバーとして立てられるのでしょうか?
サーバー自体理解できないですが下手したらデスクトップより早いかも知れない
貧乏って切ねぇーー(TT
928NAME IS NULL:04/07/06 13:06 ID:???
とりあえず、シスアド初級すらとれそうにないズブの素人なのは理解できた
929NAME IS NULL:04/07/06 13:16 ID:???
>oracleworldでガッツ石松氏によるOracle10gの超簡単インストールデモをやるそうな。

というネタのような話は事実ですか?
真相が知りたいです。
930NAME IS NULL:04/07/06 14:23 ID:9KBuXAeP
Shared Procedureであるためのシステムプログラムの特徴とnon-sharedであるために複数コピーのProcedureを持つことの長短を教えてください。
後、RPCとはどのようなものか?遠隔でないProcedurecallと比較して説明をお願いします。
RPCをClient-Server構成で利用する際の処理の流れの図示をお願いします。
931NAME IS NULL:04/07/06 14:37 ID:???
おまいら、教えてつかぁさい。
VB6からACCESS2000をいじってるんじゃが。
main.mdbの中のテーブル"Table"をsub.mdbの中にコピーするってどうすればいいか広島の原爆並にわからないですよ。
sub.mdbのほうにmainのほうに手を加える前のバックアップ感覚で取っておきたいから上書き上書きでコピーしていこうと思っているので世代管理とか面倒な事はしないつもりです。
ギギギギギ、教えてつかぁさい。
932NAME IS NULL:04/07/06 16:26 ID:???
AccessでフォームからCSVをインポートするとエラーがでまつ。
「テキストファイルの指定***が存在しません」とでまつ。
終えてつかぁさい


933NAME IS NULL:04/07/06 17:50 ID:???
>>929
ガッツ石松と猿がどちらが早く10gをインストールできるか
競争してたのは知ってるけど。
934NAME IS NULL:04/07/06 18:09 ID:???
935NAME IS NULL:04/07/06 18:10 ID:ZEeQPUzT
>>926
そりゃ、更新ならupdate使わなきゃ。
936NAME IS NULL:04/07/08 22:12 ID:wcXTbYdJ
シネマ入場料金と言う課題が出ました。
大人1500円中高生1000円子供500円
大人二人に対して子供1人分料金は無料
画面は大人、中高生、子供それぞれの人数の入力欄と精算、クリア、終了ボタンがあって
精算ボタンを押したら総合計が表示されるVBがあるんですけど、
これを来場客が来るたびにデータベースに保存するようにするんですけど
データベースはどのようなテーブルを作ればいいのでしょうか?
937NAME IS NULL:04/07/08 23:31 ID:???
それを考えるのが課題だろう、坊や。
938NAME IS NULL:04/07/08 23:36 ID:???
・金額の情報をいれるテーブル
・団体が来たときに1行入れるテーブル
・団体が来たときに一人ごとに1行入れる明細テーブル
939NAME IS NULL:04/07/09 00:22 ID:???
金額情報をテーブルに入れるかどうかは置いといて、

pkey,大人の人数,中高生の人数,子供の人数

だけありゃ、SQLでほとんどの集計は出来るんじゃね。
940NAME IS NULL:04/07/09 18:04 ID:k+pJvrem
教えてください。
DB2での話なのですが、CHARACTER[1] で定義しているフィールドに数値をセットする
方法はあるでしょうか?

update table set expr1=1 where expr2=100

↑この例では expr1 の型が CHARACTER[1] だとすると、

DB21034E コマンドが有効なコマンド行プロセッサー・コマンドではないため、SQL
ステートメントとして処理されました。SQL 処理中に、そのコマンドが返されました。
SQL0408N 値には、その割り当てターゲットのデータ・タイプとの互換性がありません。
ターゲット名は "expr1" です。 SQLSTATE=42821

と出ます。
どうかよろしくおながいします。
941NAME IS NULL:04/07/09 18:13 ID:OrixzvUn
プライマリキーが3つあり、そのうちの一つにインデックスも作ってるのですが
このようにインデックスが被ってるのって間違ってるのでしょうか?
942NAME IS NULL:04/07/09 18:19 ID:???
いや、間違ってないですよね。速さが断然ちがいますから・・・
943NAME IS NULL:04/07/09 18:40 ID:???
>>940
DB2はしらんが、
UPDATE table SET expr1=chr(1) WHERE expr2=100;
で、どぉよ。数値として取り出すときは、
SELECT ascii(expr1) FROM table;
ってせな、ならんけど。
944940:04/07/09 18:47 ID:k+pJvrem
>>943
ササササンクス!
あんなに悩んだのに、いとも簡単にできました!
おまけに ascii関数まで教えていただき、感謝感謝です
ナムナム…
945920:04/07/10 00:10 ID:???
>>927
極めて遅レスで見てないと思うが、厳しいマジレスをひとつ。
私の勧めたことをやろうとしましたか?
DBを勉強するのにサーバーはいりません。(あった方がよいが)
まずやってみて、悩んでみて、苦しんでみてはじめて得るものが
あると思います。
実際どんな仕事をすることになっても答えはひとつ。
口だけでは何も変わりません。形から入るのをやめてさあインスコ。
946NAME IS NULL:04/07/10 18:15 ID:42+bcZA/
ここで聞いていいのか分からないのですが、質問させてください。

3点接点のリレー回路図を作っているのですが、
一度作った物を探せる様に、任意の経路の図面を番号で図面管理をしたいと考えています。

例えば、各リレーにA,B,Cの3つの接点があるので、
1個目はA接点、2個目はC接点、3個目はA接点、4個目はB接点・・・
の場合の図面は○○番というように番号を付けて、
後で経路を入力すれば、図面番号が分かる様にしたいのです。
経路入力によって図面番号を検索して、過去に作成していない物だけを
作成する様にしようと考えています。
製作図面の枚数自体は多くはないのですが、
経路の候補となると莫大な数になってしまい、困っています。
A接点が0、Bが1、Cが2の3進法で、
1からの通し番号でそれに対応する3進法のデータベースを作ろうかとも
考えましたけど、経由ポイント数が増えると、3のn乗の数になり、
11個所のポイントでエクセルの限界65536を超えてしまいます。
今後、経由ポイントがいくつ必要になるかも分かりませんし、
3点接点以外にも4点、5点と増えていく可能性があるので、
応用できるようにしておきたいのもあります。
A,B,C(0,1,2)の組み合わせから、通し番号を検索する方法はありませんでしょうか?
ちなみに環境は、WIN98SEでACCESS2000を使用しています。
長くなりすみませんが、アイデアだけでも頂ければ有難いのですが、宜しくお願い致します。

947NAME IS NULL:04/07/10 21:50 ID:???
>>946
俺はリレー回路もラダーも経験があるのだが、
あんさんの言いたいことがいまいちワカラン。
単純に
図面1はA->B->A->C
図面2はA->C->B->A
てな感じなのか?
それなら、図面番号(主キー)に通し番号、
回路カラムはABACとかACBAとか文字列をいれたら
それで済むんじゃないの?
948NAME IS NULL:04/07/11 11:34 ID:???
私の社内のEUCプロジェクトで、7000万件オーバーのDBに
一回あたり500万件規模の更新をかますシステムを
予算がないとの理由でAccess97で作ろうとしていますが
はっきり言って無謀ですよね?
私は止める立場にないのですが誰かが言わないと…
〜〜〜〜〜◯〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
       Ο
        o

        ∧∧ !  ガバッ! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ___(;゚Д゚)___   < 夢か!!!
    |  〃( つ つ   |    \________
    |\ ⌒⌒⌒⌒⌒⌒\
    |  \^ ⌒   ⌒  \
    \  |⌒⌒⌒⌒⌒⌒|
      \ |________.|
>>948
ボリューム的に論外なのは確かだが何で今更Access97なのやら。
もうサポートが終わってるからという理由で
Access2003+MSDEにしておけば少しは救われるかもしれん。

...少しだけな。
951NAME IS NULL:04/07/12 00:43 ID:???
>>948
社内プロジェクトだったら生暖かく見守っと毛
下手に首を突っ込むと一任されちゃうぞ

そういう仕事を請け負ってみて自分なりに解決するのも勉強だが
件のAccess97で作り始めちゃって火の車になってから
自分に投げられてきたら…それもまたそれで勉強だ
952NAME IS NULL:04/07/12 10:31 ID:???
要はデスマになる前に参加するか、
デスマになったあとで参加するかの違いですね。
953NAME IS NULL:04/07/12 14:22 ID:???
立ち上がらないMDBを修復する方法が載ってるHPってないかな?
954NAME IS NULL:04/07/15 01:18 ID:wnl6BVEu
UPDATE 文のSET句においてAND条件を指定し、複数の列を更新
ってできますか?
ORACLEです
955NAME IS NULL:04/07/15 08:25 ID:???
UPDATE TABLE SET
COLUMN_A = 1
,COLUMN_B = 'あああ'
WHERE COLUMN_C = 1
956NAME IS NULL:04/07/15 22:13 ID:???
>>953
コンパネのODBCの設定で追加ボタンを押してAccessのドライバを選ぶと
いろいろ並んでいる中に修復っていうボタンがある。
957NAME IS NULL:04/07/15 23:24 ID:7bShlkAz
プログラマって、楽で良いよね。
SEに言われたとおりに関数と変数を並べて、
プログラム(のようなもの)をでっち上げて金クレクレと。
それでちょっとでも仕様が変ると、「使えないSEだ、コリャ」とかファビョって、
ちょっとでも考えさせると、「それはボクの仕事じゃありません!」とかキレて。
もうね、アフォかと。

ドキュメントを書かせると、小学生の作文並みの代物を平気な顔して提出して、
「ホレ、漏れは仕事したぜ?」ときた。
もうね、幼稚園児かと。

徹夜、休日出勤がある?
あっそ。
そりゃあんたらの仕事が、低技能で勤まる仕事だから、
給料を捻出するためにはそのくらいしなきゃならんのだよ。

漏れの子供には、プログラマーになってほしいね。
こんなに安全確実な仕事はそうそうない。
工場労働者なみの機械的作業で、工場ほどの危険さはまるでない。
マジでおすすめだわwww
958NAME IS NULL:04/07/16 00:51 ID:228Fz8Km
これを広めるだけでアトピーが治る。
Kさん 好循環  Aさん 悪循環   <日本>
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K 変化なし    A 行動力、五感(嗅覚)が鈍り感性が変化する。

4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、その場所場所に霊界が存在するので
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、日本の霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照
959NAME IS NULL:04/07/17 17:31 ID:???
>>957-958
コピペウゼー
960NAME IS NULL:04/07/17 23:03 ID:???
友人にデータベースを利用させてあげるのですが、
phpMyAdminをインストールして簡単にテーブル作成が行える
ようにしたいと考えています。

何も設定しないと特権やらデーベースを作り放題になりますが
これを1ユーザーに1データベースとして、その範囲で
phpMyAdminを使わせるようにするには、どうしたらいいのでしょうか?

ちなみにロリポップのようなイメージです。(知っている人がいたら)
961NAME IS NULL:04/07/18 17:09 ID:???
Accessのレポートで・・・

0の場合は表示せず、そのほかの場合は小数点第1位まで表示させるには
どのような書式にしたらよいでしょうか。

0⇒(空白)
1.3⇒1.3
0.52⇒0.52
962NAME IS NULL:04/07/19 17:00 ID:???
ACCESSで初心者質問です

IIf([在庫数]<=0,"MsgBox ("在庫がありません",0+16,"在庫不足")=1 ","")

これでエラーになるんですけど・・・・

963NAME IS NULL:04/07/19 17:29 ID:???
>>962
ダブルクォートの中にダブルクォートは書けないので
"abc" + char(34) + "def" のようにする。

で、命令を文字列として渡してどうするの?
964NAME IS NULL:04/07/20 23:30 ID:pL4XpRV2
Oracleのストアドを外部プログラム(java)から呼び出します。
そうすると、セッションが残ってしまいます。
プーリングを使っているので、そのセッションが残り続けると困ります。
ストアドの書き方に問題があるのでしょうか?
それともJavaの方でしょうか?
ちなみにJavaの方はstatementをcloseし、nullを代入してます。
ストアドはUpdate処理をしています。
965NAME IS NULL:04/07/21 15:26 ID:???
自宅のウインドウズXP環境にmysql3.3.1をインストールして勉強しよう
と思っています。

インストールして show databases;と入力しても
testのみしか表示されません。dataフォルダ以下にはtest と mysql
そして教材のサンプルデータベースがあるのですが、それが表示され
ません。
966NAME IS NULL:04/07/21 17:18 ID:yMLa5a9e
すいません 上記mysql4.0.2でした。
そして create database ****を実行すると
Access denied for user '@localhost'to '****'
とエラーがでます。
967NAME IS NULL:04/07/21 18:20 ID:???
>>965
おう、がんがれよ!
わざわざ報告ご苦労さん。
968NAME IS NULL:04/07/21 22:58 ID:Y0JWTJy/
すみません、質問させて下さい。

自分のPCに突然見たことのないファイルができてしまいました。
それがいったい何なのか心配です。

出来たファイルはファイルフォルダでそのなかに4つくらいのファイルがあります。
心配で削除したのですがまた同じファイルが出来ました。

このファイルフォルダが出現するまでにやった事で考えられる原因があるので説明します。
まずインターネット上にある拡張子.dbのファイルをダウンロードしてしまいました。
アイコンもWindowsの旗のままでそれが何なのか分からないのでとりあえず
ファイルを開こうとワードで開きました。結果開けたのですが中身はまったく意味の分からないものでした。
開く際にワードのダイアログが出て何かの選択を求められましたがよく思い出せません。
選択にMS−DOSとか日本語シフトとかあったような気もします。

その後、ファイルフォルダはマイドキュメント内にできました。
見たことの無いフォルダで中に何かのマークがあります。
フォルダ名はMy Data Soucesだったと思います。
中の4つか5つくらいのファイルの拡張しは.odcなどだったと思います。

使用しているOSはWindows 2000です。

問題解決の為、どなたか宜しくお願いします。
969NAME IS NULL:04/07/21 23:21 ID:Y0JWTJy/
すみません968ですが、できたファイルフォルダ名は
My Data Sourcesのようです。
今まで見当たらなかったものが出てきたので心配です。
インターネットをする際にセキュリティ上問題あるでしょうか?
970NAME IS NULL:04/07/21 23:26 ID:NfGHyF4Y
シェルスクリプトでSQLのselect文を発行し、検索結果をログファイル
(spool)に保存し、検索したテーブルのデータを定期的にチェックする
処理を考えています。検索結果はファイルに保存する必要はあります
が、画面への出力表示は抑止したいと考えています。
以下のようなシェルを作ったのですが、select文の実行結果が画面に
表示されてりまいます。

どなたか画面出力の抑止方法をご存知の方、よろしくお願いします。

#!/bin/sh
while [ 1 ]
do
sqlplus xxxx/xxxx <<EOF
spool $tmpfile
select colum1,colum2 from table_name;
set echo off;
spool off;
EOF

$tmpfileのチェック処理

done
971NAME IS NULL:04/07/22 01:16 ID:???
spoolの行を消して
$ xxxxx.sh > logfile.log
で実行すればいいんじゃない?
972NAME IS NULL:04/07/22 22:29 ID:EAFdeSwM
JDBCを使用してデータベースに画像を入れたいのですが、画像の入れ方が分かりません。

「JRun 4.0: JRun DataDirect ドライバでの BLOB と Oracle RDBMS の使用」
(http://sirius.itfrontier.co.jp/kb/jrun_article.cfm?TYPE=en&ID=23223)
や、「BLOB に画像を格納」(http://java-house.jp/ml/archive/j-h-b/036406.html)を参考に試してみました。

Oracle.sql.Blobクラスをimportする必要があるらしいのですが、このクラスはどこにあるクラスなのでしょうか。
また、jarファイルをダウンロードする必要があるのでしょうか。
どのようにすればimportできるようになるのか、どなかた教えてもらえませんか?

よろしくお願いします。

実行環境------
Oracle9i
Oracle JBDC Driver (thin Driver)
Windows 2000
環境変数 : %ORACLE_HOME%\jdbc\lib\classes12.zip
973NAME IS NULL:04/07/23 01:28 ID:6KHZsVp9
Oracle9iのインストールを実行中です。(OS:WIN2KPRO)
ファイルコピーが終了して、構成ツールのところで
「Net configuration Assistant」「HTTPサービスを開始中」は
すぐに状態が【成功しました】となりますが、
「Database Configuration Assistant」は状態が【処理中です】
となっており、この状態が数時間たっても変わりません。
CPU使用率は10%以下で、処理中のような感じがしません。
一度、削除再インストールをしましたが同じ状況です。
このステップは、こんなに時間がかかるものなのでしょうか?
974970:04/07/24 00:17 ID:isLDu6Nm
970です。

971さんのアドバイスでうまくいきました。
ありがとうございました。
975NAME IS NULL:04/07/26 12:15 ID:/bteuyZW
オラクルをインストールしてサンプルデータベースを
作成したいと思いますがこのサンプルデータベースの
デフォルトのインスタンス名はなにになりますか?

ホスト名とかグローバルデータベース名とか。

よろしくお願い致します。
976NAME IS NULL:04/07/26 23:33 ID:???
ORCLだっけ?
977NAME IS NULL:04/07/27 17:10 ID:yBXMXypj
オラクルについて質問です。
「Oracle Database Standard Edition」のライセンスしか
無いのに、インストールタイプで「Enterprise Edition」を
選択してインストールした気がします。

インストールしたあとで、インストールタイプを
確認する方法がありましたら、教えてください。

ライセンスとインストールタイプの名称って同じものが
必要なのですよね?カスタムの扱いが不明だったので・・。

宜しくお願い致します。
978NAME IS NULL:04/07/27 17:51 ID:???
Excelでテーブルの設計を行っています。
以下のようにシートを作成しているのですが、これをもとに
CREATE TABLEを行うSQL文を作成するマクロというのは
ありませんでしょうか?

+----------+---------------------------+
|テーブル名| タイプ |
+----------+---------------------------+
| name | CHAR(20) |
+----------+---------------------------+
| age | MEDIUMINT |
+----------+---------------------------+
| blod |ENUM("A","B","O","AB","?") |
+----------+---------------------------+

979678:04/07/27 22:36 ID:KHfr+Oxx
上記ミスりました。
テーブル名でなくフィールド名です。
980NAME IS NULL:04/07/27 23:18 ID:???
>>977
「select * from v$version;」でわかる。
Enterprise Editionを選択してインストールしたなら
"Enterprise Edition"ってでるよ。
981977:04/07/28 02:07 ID:???
>>980
ご返事どうもありがとう。
今日、出社したらやってみますね。
982NAME IS NULL:04/07/28 08:47 ID:???
>>973
Win2000 & Oracle7 で、同じ症状になったことあるよ。
Win2000を再インストールしてOracle7をインストールしなおしても直らなかった。
なんか引っかかってると思うんだけど、なんなんだろうね
983NAME IS NULL
どなたかオラクルのパッチの
当て方をおしえてください。