トップページ⇒tech
906コメント323KB

【ノウ】DBアプリ開発ノウハウ【ハウ】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
・SQL文をコード内に埋め込むとコードが汚くなっちゃう。うまく分ける方法無い?
・似たようなSQLがあっちこっちのプログラムで出て来るんだけど…
・Viewとかストアドとか、みんながポンポン作っちゃって収拾付かないよ〜。
・分かりやすく長すぎないテーブル項目名のつけかたは?
・見やすい帳票レイアウトって? 入力しやすい画面遷移って?

などなど、悩むところはみんな一緒。
DBアプリ開発のノウハウを語るスレッドです。
0232デフォルトの名無しさんNGNG
>>231
今の流行なんだろうね。
Servletで十分なのをEJB使ってみたりとか。
おまえEJB使いたいだけちゃうんかと小一時間(以下略

同じようなことがOracleにもいえるがなー
>>230
分散をOracleにしても似たような感じ
0233デフォルトの名無しさんNGNG
>>232
>Servletで十分なのをEJB使ってみたりとか。
>おまえEJB使いたいだけちゃうんかと小一時間(以下略

JDBCで十分、つー表現が適切かと(w
揚げ足取りスマソ
0234デフォルトの名無しさんNGNG
>>230-233
偉そうなこと言いたいだけのガキはマ板逝け。邪魔。
0235デフォルトの名無しさんNGNG
234はオナニ勢力ですな
0236デフォルトの名無しさんNGNG
クライアントの話題ですが、.Netみたいにサーバカーソルを
忘れさすフレームワークってどうなんでしょうか?

個人的には大容量のデータ処理には向かないし、
クライアントキャッシュされたデータは
業務的にロックしないといけないし、
なーんかしっくりこないんですけども。
0237デフォルトの名無しさんNGNG
さすがMS。そんな危険な機能搭載とはね・・・。
.NETは厨が集まる事わかってんのかいな?
0238デフォルトの名無しさんNGNG
DBとはカンケーないんだけどさ、MSのUNIX捨てろキャンペーンが提供されてるサーバって
FreeBSDだったってな。
禿シクワラタ
0239デフォルトの名無しさんNGNG
>>236
新しい考え方が受け入れられないとCOBOLERみたくなっちゃうよ
ADO.NETはすばらしい
0240デフォルトの名無しさんNGNG
>>229
あ、あのー…
SQLが使えるのにRDBじゃないんでしょうか。いやマジレス希望。
0241デフォルトの名無しさんNGNG
実務では過去1年のデータがあれば十分なのに、
5〜6年分(日次単位)持っている会社があるんですが、
やっぱりこれってテーブルを分割したほうが良いんですよね?

「全部一度に見たい」っていうんでビューにしる! って言ったんですが
理由もなく却下されました。こんな企業はDQNですか? 辞めどき?
0242デフォルトの名無しさんNGNG
>>241
俺は同じ意味を持つデータは一つのテーブルにおいておくのが好み。
パフォーマンスに影響がでるならしょうがないけどさ。
そんな俺はDQNなんだろうか。
0243デフォルトの名無しさんNGNG
365(日)x5-6(年)x社員数でパフォーマンスに影響する会社って
1000人以上くらいですか?
0244デフォルトの名無しさんNGNG
>>243
マシンスペックが低い可能性も考慮せよ
0245デフォルトの名無しさんNGNG
>241
パフォーマンス、ディスク容量、バックアップ等の管理考えて問題
なければいいんじゃない。
oracleなら別表にしないで、パーティションにするけど。
オプションは高いが。
0246デフォルトの名無しさんNGNG
>>243
なんで社員数かけてんの?
勤怠かなんかのトランザクションなのか?

社員数少なくても業務によっては膨大なトランザクションデータを
日々発生させているんだよ。Web受注システムとかな。
0247デフォルトの名無しさんNGNG
ちょっと前の、設計か、チューンかの話しなんだけどさ。
設計が重要で、影響でかいのは決まってるけど、実際はチューンも必要に決まってるジャン。

多人数でやってりゃタコもいるしミスもあるし、遅くてもとりあえず動かす必要
があれば動かして、稼動後にチューンだよな。でなきゃ会社つぶれるしね。

設計よかったとしても、だいたい、ウォーターフォール開発の時代じゃ無し、設計要件が固定のまま
のはず無いし、いくらデータモデルが安定っていっても追加、変更はあるしね。

「私の辞書に、やってみなければ分からないという言葉はない」ってマジこのとうり
言ったコンサルもいるけど、結果は...。神様でもなきゃ完全に
見切れるわけない。世の中動いてんだから。

以上、設計いいかげんでいいという話ではない。が、スケジュールにチューン期間
を考えないのも、非現実的。
0248デフォルトの名無しさんNGNG
>>241
> 実務では過去1年のデータがあれば十分なのに、
これが本当ならば、5〜6年分持っておくこと自体がムダ。
使いもしないようなデータを後生大事に取っておく会社多いよね。

しかし全部見たいというニーズがある以上、そのデータになんらかの活用方法が
あるわけだから、分割などは避けるべき。
データは人間が使ってこそ意味がある。コンピュータよりの都合であまり不自然な
形にするべきじゃない。

だいたい>>241にしたってコッチから見れば
過去5〜6年分のデータを「分割しる!ビューで見れ!」理由もなくって言ってるんですが
こいつはDQNですか? 辞めさせどき?

だぞ。そもそもなんで分割したいんだ?
0249デフォルトの名無しさんNGNG
>>247
なんかもうツッコミ所満載なんで途中までレス書いてたけどヤメタ。
あくまでノウハウを語るスレだし。

もう1度コンサルに教えを請うた方がいい。
>「私の辞書に、やってみなければ分からないという言葉はない」
この意味が分かるようになるまでね。
0250デフォルトの名無しさんNGNG
>>246
キャッシュ可能容量の概算。
0251デフォルトの名無しさんNGNG
 PostgreSQLとPHP初心者です。「リレーションシップ」という
ものについて質問があります。

 リレーションシップの役割や概念は分かってきたのですが、
自分が、「売上テーブルと売上明細にはリレーションシップを
設定して」と頼まれた時、具体的に何と何をすればいいのか不安です。

 具体的な作業として、「リレーションシップを設定する」とは
どういう作業をさすのでしょうか?教えてください。

 簡単に売上テーブル(売上No)と売上明細テーブルをつくる
作業を仮定させて頂いたとして、
「リレーションシップを設定する」というのは下記の、どちらでしょうか?

1.具体的な命令句ではなく、売上明細テーブルの中に売上No(売上テーブル)を
  含めた、段階でリレーションシップが設定された、と判定される(設計段階?)。
2.PostgreSQLのCreate Tableの命令で具体的に参照整合性を
  設定をすることが、リレーションシップの設定である。

 たぶん、まだ理解が足らないかと思われますので、
上記の例に含まれていない場合、可能なら具体的な作業を
例示してご教授いただけないでしょうか?

 もし、この本に全部書いてあるよというような
参考書がございましたら、そちらをご紹介頂いても
結構です。よろしくお願い申し上げます。

 あと、ここではなく、他で聞け、という場合もご指摘ください。
0252デフォルトの名無しさんNGNG
>>251
こっちこっち
http://pc.2ch.net/test/read.cgi/tech/1001351439/
0253デフォルトの名無しさんNGNG
252さん、ありがとうございます。
書き直しました.
0254241NGNG
>248
うむー。そうですか。辞めさせられどき? 辞めさせられる前に辞めとくか・・・。
あと、PGが設計に口挿むのはマズーなのですかね?
(SEはExcelのセルの中身を参照式にするか値にするかって聞いたら「?」が出る程度です。)


テーブルの状態はカラムが300くらいあって、完全にパフォーマンスの足を引っ張ってます。
管理するチームがないので、テーブルスペースもほとんど分割せずごった煮状態。
(これらの分割も却下されてる。テーブルスペースの数=HDの数=5)

普段の業務で使用するのは夜間で集計した結果だけで、明細の履歴はほとんど見ない。
(というか、かなり上のほうの人間しか見てはいけないもの。あ、でも参照権の設定はしてなかったような・・・。)

過去からの推移が見たい、というのは解るですが、
集計の履歴はちゃんと持っているし、再計算はほとんどしないのです。
(データが確定した過去データの再計算が頻繁だとそれはそれで問題のような気も。)

しかも、集計した履歴は1年しかもってませんし、それ以上は遡って計算できません。
(アプリが対応していないから。)

ちなみにDBMSはSybase。
Sybaseにパーティションテーブルかそれに類似するものってあります?
0255デフォルトの名無しさんNGNG
>>254
>>241の段階ではそんなに詳しくかいてなかったじゃん。
おれは248じゃないよ
0256241NGNG
>255
スマソ。あんまり書くとバレそうだったので。
もう開きナオテ書きました。それでもかなり端折って書いてます。

でも、テーブルを分けること自体はあまりオススメできないのですね。
0257デフォルトの名無しさんNGNG
>>256
というかテーブル分ける云々以前にやることが山盛りだと思われ
0258デフォルトの名無しさんNGNG
>>254
こいつか。
0259デフォルトの名無しさんNGNG
>>240
SQLはデータストアにアクセスするための記述言語で、
RDB専用というわけではない。
0260デフォルトの名無しさんNGNG
>258
オマエか。
0261デフォルトの名無しさんNGNG
>258,260
なんだなんだ? お前等ホモか?
0262デフォルトの名無しさんNGNG
240っす
>>259
どもども。そっか。そうなんだ。

…で、俺の定義ではいわゆる選択、射影、結合が
SQL等の操作言語でできれば、それRDBなんじゃん?って思うのです。
MySQL、マニュアル見た限りでは全部できそうなんだけど。

>>254
列が300…正規化、されてます?
0263デフォルトの名無しさんNGNG
列数300ね・・・。
確かに設計も何も無さそうだけど、それを年単位に分割するという発想も変。
0264デフォルトの名無しさんNGNG
>263
年単位かどうかは書いてないけど、そうなの?
管理がたいへんじゃん。列数も300だっていうし。
0265デフォルトの名無しさんNGNG
そろそろ打ち止めかな。
それじゃまとめとしては、WO最強。ってことで。
0266デフォルトの名無しさんNGNG
>>265
同意。
よって

==========終了==========
0267質問させてくださいNGNG
本職ゲーム系プログラマですが、趣味でTomcatを使ってウェブアプリを書いています。
技術的な興味もあって、データベースを使ってみようと思っています。
PostgreSQLを準備してJDBCでアクセスできる環境は整っています。

簡単なサンプルなどをみると、データベースに直接SQLを書いたり、返ってきたデータ
(java.sql.ResultSet)を直接使ったりしていますが、規模が大きくなってくると管理が
困難になりそうな予感が禿げしくします。

理想的にはjava上のインスタンスひとつをデータベース上の1行に対応させて、インスタンスを
操作するとその内容がデータベースにも反映されるような仕組みがあれば、データの操作
ロジックとデータベースのアクセスロジックが分離できて良さそうな雰囲気がします。

しかし、トランザクションなどを考えるとjavaインスタンスとの同期を真面目に実装するのは
たいそうメンドウな仕事になりそうです。

おそらく多くの人が考えることなので、すでに多くの成功設計例があるかと思うのですが、
キーワードが思い当たらずうまく探せないでいます。

このような問題を考えるのに適した参考サイト,書籍,キーワード,ライブラリなどご紹介
いただけないでしょうか。よろしくおねがいします。
0268デフォルトの名無しさんNGNG
EOF使うと、JDBCゴルゴルとか、J2EEとか、SQLゴルゴルとか、
アフォらしくて泣けてくる・・・
早く仕事でEOF使いた ぃ ょ ぅ ・・・
0269デフォルトの名無しさんNGNG
>>267
それってCMPなエンティティBeanではないの?
0270デフォルトの名無しさんNGNG
結局SQLゴリゴリになっちゃうに256カノッサ。
0271デフォルトの名無しさんNGNG
==========終了==========

0272デフォルトの名無しさんNGNG
データベース上のあるデータが更新されたことをトリガにしてあれこれやりたいんですが
ポーリングするしかないですかね。
それとも直アクセスは禁止したほうがいいのかな。
0273デフォルトの名無しさんNGNG
トリガに「更新したよ」ってメールかSNMPのアラームかSSTPで電波送るように
しとけ。
0274デフォルトの名無しさんNGNG
状況がよくわからないが、oracleなら更新DMLでPL/SQLを起動できるトリガという
機能があるが。その他のDBにもあるはず。場合によっては、インステッドトリガ
といって、更新DML全体をフックすることもできたと思う。

ただ、トリガーをあまり使うと、ブラックボックスが多くなってシステム
全体の見通しは悪くなると思う。ちなみに私はトリガーあまり使わない。

トランザクション的に非同期でよいのなら、DBトリガーで外部にメッセージ
を発信するだけにして、実際の処理はそのメッセージを受けたプロセスが
実行するようにするといいと思う。
0275272NGNG
>>274
すんごい曖昧な質問にも関わらず答えていただいて申し訳ないです
非同期でOKかどうかで全然違いますね。まずはそこをハッキリさせます。
ありがとう。
0276 NGNG
0277デフォルトの名無しさんNGNG
実際問題、みんなDBアプリを作る際にどんなコンパイラ使ってるんでしょ?

たとえば、、、

作成したアプリの実行環境はWin限定
DBはORACLEが基本だが、場合によってはSQL Serverもあり

なーんていわれたら、どんなコンパイラ選びます?
あ、あくまでもクライアントPC上で動作するexeファイルを作成する
目的であり、Web系のアプリ作るわけじゃないですが。

0278デフォルトの名無しさんNGNG
>>277
VB
0279デフォルトの名無しさんNGNG
ADOでも使っておけば、言語なんてなんでもいいんじゃない?
俺は慣れてるからBCB使うけど。
0280デフォルトの名無しさんNGNG
>>277
JavaでWebObjects。
Oracleで作ってたシステムを、アプリ側はコード変えずにSQL Server用に
できちゃったりなんかしちゃったりする。
0281デフォルトの名無しさんNGNG
>>280
ODBC, JDBC かませとけば WebOjects じゃなくても みんなそーなんじゃない?
つーか、システムの内容にもよるけどふつーはバックエンドの処理を
DB依存のストアドで記述するから、ODBCとか使っていてもDBを交換できない罠。
0282デフォルトの名無しさんNGNG
>>281
じゃあ280のいう「コード変えずに」というのはどの部分の話?
ODBCやJDBC経由すればアプリ側のコードが変わらないのは当たり前だと
思うんだけど・・・
0283デフォルトの名無しさんNGNG
>>281

要求仕様が...

> DBはORACLEが基本だが、場合によってはSQL Serverもあり

なのに...

> DB依存のストアドで記述する

あなたは、ヴァカですか ?
0284デフォルトの名無しさんNGNG
280=283がヴァカに見える
0285デフォルトの名無しさんNGNG
>DBはORACLEが基本
その基本って考え方がド素人。
プーか?
0286281NGNG
>>283
オレが「ふつーはDB依存のストアドで〜」って言ったのは、
280のWebObjectsのDB非依存性に対しての現実的回答ね。
決して、277のクライアントアプリケーション作るのにうんぬん、
に対するコメントではないよ。
0287281NGNG
>>282
意味不明だよ。アプリ側って何? クライアント側のこと言ってるの?
言いたいことがあるなら、もうちょっとちゃんと説明しる!
0288デフォルトの名無しさんNGNG
EOF知らないやつは、シコシコいつまでもSQL書いててください。
0289デフォルトの名無しさんNGNG
>>288 場末の落ちこぼれなんでそうします。
0290デフォルトの名無しさんNGNG
漏れの会社のWeb製品、ボタンクリックすると直でSQL発行しやがる。
セッション管理とかConnection Poolとか一切無し。
こんな製品作ってる会社からは、一刻も早く抜け出したい今日この頃。
0291デフォルトの名無しさんNGNG
耐久テストに使えるんじゃないか?
0292デフォルトの名無しさんNGNG
まあDB非依存なんてのは夢物語ってこった。
0293デフォルトの名無しさんNGNG
SQL厨です。教えてください。

create table header(id serial,text hoge);
create table detail(id serial,header_id,text foo);

みたいなテーブルで、headerで採番されたidをそのままdetailに使いたいと思うんだけど、

insert into header (hoge) values('abc')

としたときのidを取得するにはどうしたらいいの?

PostgreSQL 7.2.1(on Linux)
0294デフォルトの名無しさんNGNG
INSERTしてCOMMITするまえにSELECTしる。
SELECTした値でinser into detailしる。

その際detailのIDは自動採番にせずに普通の整数型にしる。

それがいやなら
headerとdetailのidを関連づけするためのリンクテーブルを作成しる。
0295デフォルトの名無しさんNGNG
age
0296Delフサギコ ◆zE1iiRdQ NGNG
  ____
 /......  .. .../
 ||:::   ∧,,∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |: ̄\ ミ,, ゚Д゚ミ<  SQLの日付教えて!
 |:   :|: ̄U U ̄:|\_________
 |:   :|:     .:|
DATEフィールドに日付が入っているときに

WHERE
("2002/05/22" <= DATE)
AND (DATE <= "2002/05/24")

こんなSQLを流してるんだけど、
このSQL文ってDBに依存している気がするです。

どのDBでも使える、SQL文によるDate型の比較方法って
なんかあるんでしょうか?

氏ってたら教えてくださいませ。
0297デフォルトの名無しさんNGNG
>>296
ないと思われ。
日付型はDB依存になるのであまり好きでない。
0298デフォルトの名無しさんNGNG
見た目2002/05/24という値が、
実際は2002/05/24 00:00:00と評価されると悲惨ですな。
0299デフォルトの名無しさんNGNG
>>297
やっぱ日付は文字型だろ。
0300デフォルトの名無しさんNGNG
>>297
だな
0301デフォルトの名無しさんNGNG
>>299
期間を指定した検索するときは?
0302デフォルトの名無しさんNGNG
>>やっぱ日付は文字型だろ。
2000年問題も過ぎ去ったとまた日付をYYMMDDでフィールド
設計やっているうちの会社は厨房ですか?
0303デフォルトの名無しさんNGNG
たぶん2037年末あたりで倒産するんでそのままでも全く問題ないです。
0304デフォルトの名無しさんNGNG
JDBC しか知らんが日付は ? 付き SQL 使えば互換性保てるような。
0305デフォルトの名無しさんNGNG
変なデータアクセス層を自作するならJDO使いな。
0306Delフサギコ ◆zE1iiRdQ NGNG
  ∧,,∧  アリガトンン
 ミ*゚Д゚彡
        ヤパないのね。
0307ぽっくりNGNG
DB2 7.2 FP4を使用。

同じサーバー内にデータベースの数を増やせば
増やすほどパフォーマンスは低下するものなのか?
なぜ、低下するのか等の理由も教えて!

分かるやつ、教えろ。
0308デフォルトの名無しさんNGNG
>>307
いっぱい動いているからじゃない?
03090うぇんNGNG
id|subject|message|part |
--------------------------
1 |ギコ |test... |1 |
2 | モナー | 逝ってよし| 2 |
3 | シー  |ウトゥ  |2 |
3 | 肉   |ゴルァ  |2 |

こういうテーブルで
part | count
----------
1 | 1
2 | 3

こういうviewってストアドとか使わないでsql文で出すには
どーやったらいいんすか?
0310デフォルトの名無しさんNGNG
>>309
select part, count(part) from ... group by part ってな感じで。
0311デフォルトの名無しさんNGNG
SELECT PART, COUNT(PART) AS COUNT FROM XYZ GROUP BY PART
?
0312309NGNG
さんくす〜!>310
0313デフォルトの名無しさんNGNG
おまいら SQL は大文字派? 小文字派?
0314逝って良しの1NGNG
>>307
データベース間での情報の整合性取るのは台数増やせば増やすほど
増える。
0315デフォルトの名無しさんNGNG
大文字
Oracleは大文字の方が早いって聞いたことがある(眉唾)
0316デフォルトの名無しさんNGNG
大文字
C/Java のコードは小文字が多いので見分けを付けやすいように (外部
ファイルに定義することも多いが)。
0317デフォルトの名無しさんNGNG
SELECT name FROM tmp ORDER BY id DESC;

とか、命令は大文字でやっとる。
0318デフォルトの名無しさんNGNG
ObjectRelational DB(DB2/Postgres/Oracleなど)だったら
>241 >248
みたいな場合は継承つかったらどうかな?
0319デフォルトの名無しさんNGNG
混在(各トークンの先頭だけ大文字)
Select 名前 From テーブル Order By コード

テーブル名、列名は日本語。これ定説。
0320デフォルトの名無しさんNGNG
もっといろんな事聞きたいぞ、あげ
0321デフォルトの名無しさんNGNG
Winのアプリで、ボタンの文字から何から何まで、
全ての文字情報はDBに存在するってアプリってどう思う?
0322デフォルトの名無しさんNGNG
ちょいと相談に乗って下さい。

PL/SQLでインサート文を作ってDBにインサートしたい。と考えてます。(1500万レコード)
である列は乱数を発生させて(DBMS_RANDOM)それを0埋めで15桁に加工したい。それで他のレコードは1〜10
までの数をランダムにインサートの文に埋め込みたいと思います。
可能なのでしょうか?もし可能であればヒントを教えて頂きたく思います。
(カーソルを用意して処理をするのだと思いますが、1〜10のレコードをランダムに埋め込むというのが考えつきません。)
0323デフォルトの名無しさんNGNG
>>321
極度に高い応答性を要求するアプリでそれは酷いけど
べつにいいんでない?

windowsでいうところの文字列リソースだってダイアログリソースだって、
あるいみDBみたいなもんだし。
0324デフォルトの名無しさんNGNG
>>322
ふつうにCかperlかVBかrubyか手書きでもいいから
挿入文を150万レコード分作りなさい。

途中にcommit文を入れとくと、たぶん吉。
0325デフォルトの名無しさんNGNG
>>322
(15桁に)
別にTO_CHARで編集するだけでいいだろ。ただし、DBMS_RANDOMでは
BINARY_INTEGER=signed longという罠はあるが。

(1〜10まで)
意味がよくわからないんだが、特定のカラムに1〜10の数をランダムに入れるのか、
カラムが1〜10まであって、どれか1つに何かの値を入れたいのか、1個から10個の
レコードをランダムにINSERTしたいのか。
1番目なら乱数を9で割った余りに1を足すとか。
2番目なら動的SQLを使うしかない。DBMS_SQLパッケージ参照。
3番目なら乱数とってFOR〜LOOPだろ。
0326デフォルトの名無しさんNGNG
>>322
1つ目の要件は、LPADでいけないかな?
俺は使ったこと無いんだけど・・・・

いろんな人の意見を聞きたいのでageておく。
こーいうとき、Perl使えれば楽だろうなぁとは思う。
0327326NGNG
風呂入ってきたが、気になったのでちょっと調べてみた。

まず、

> ある列は乱数を発生させて(DBMS_RANDOM)それを0埋めで15桁に加工したい

これは、326で書いたとおりLPADでいける。

> 他のレコードは1〜10までの数をランダムに

これも、DBMS_RANDOMを使えば可能。
手元の「Oracle8i PL/SQL パッケージ・プロシージャ リファレンス リリース8.1」に
よれば、DBMS_RANDOMは

このジェネレータは8 桁の整数を生成します。

ということなので、この結果を1000000で割ると、
必ず絶対値が10未満になる。
さらに、ABSあたりで正の整数になおし、
ROUNDで小数点を丸める。で、0だったら1を足すと。

値のばらけ具合はわからんが、とりあえず欲しい結果は出るでしょう。
でも、マジでPerlかC使った方が楽そう・・・・
PerlならDBIで直接Insert出来るし、Cで直接が難しくても
SQL*Loader使えば良いし・・・
0328デフォルトの名無しさんNGNG
ER図をかくときに、1:Nとかをもっと詳しく(0..1):(0..N)のように書く
ことがありますよね。この時の 0..1なのか 1..1なのかってテーブル見て
わかりますか?

[学生]テーブルと、[サークル]テーブルがあって、
学生テーブルにサークルIDの参照キーがあったとして、
 [学生]
 学生ID PRIMARY
 サークルID FOREIGN KEY
 [サークル]
 サークルID PRIMARY

この学生.サークルIDがNOT UNIQUEならばサークル:学生は1:N、
UNIQUEならば(そんなケースはないだろうけど)サークル:学生は1:1だなって
のはわかるんですが、(1..1)なのか(0..1)なのかがわからないような気がして。
0329デフォルトの名無しさんNGNG
>>328続きです

学生.サークルIDがUNIQUE可で、かつNULL可ならば、
サークル:学生は (0..1):N はわかるような…。

でも、サークル側から見たときに、学生が「1以上」なのか「0以上」なのか
がわからないんでないかなと思ったのです。

ああ自分で書いててわけわからん…
0330デフォルトの名無しさんNGNG
>>329
SQL-92のEntryだと無理
テーブル間の制約をかかにゃならんでしょ。SQLパズルにそういう例なかった?
0331デフォルトの名無しさんNGNG
パフォーマンスについての質問です。
ほとんど同じような内容のテーブルが複数あるのですが、
区分フィールドを作ってひとつのテーブルにまとめた場合と
別のテーブルのままと、どちらが検索時間が早いですか?
■ このスレッドは過去ログ倉庫に格納されています