Oracle 質問総合スレ4at DB
Oracle 質問総合スレ4 - 暇つぶし2ch552:NAME IS NULL
10/02/11 11:14:20
取得カラムを追加する場合はテーブル定義と同じ順で書く。
複数テーブルから取得や複数カラムを1カラムに纏めて取得する場合等はともかく。
でないと作成者以外が見た時テーブル定義書と見比べるのが面倒。

カンマはカラムの後ろに記述しなければいけないという世界共通規約はおそらくない。

553:NAME IS NULL
10/02/11 16:37:51
質問です!
家計簿ソフトを作ろうと考えているのですが、
家賃の入力とか食費を入力といった「入力」という
行為はエンティティになり得ますか?

初歩的な質問ですみません


554:NAME IS NULL
10/02/11 19:22:14
>>552
>でないと作成者以外が見た時テーブル定義書と見比べるのが面倒。

テーブル上でのカラムの存在位置を明確に意識した上でのコーディングは
(古い時代の一部の性能対策を除けば)過去から嫌われるコーディングに他ならない。
複数ベンダー、複数作業主体、複数案件(それぞれ、実施されたり切り戻されたり)が入り乱れたとき、テーブルへの列の追加や削除が
すべての環境ですべて一致する保証をとる行為は現実的に困難になる。
環境移行が行われ新テーブル体系に移ったときも同様。テーブルイメージ
(といっても、カラムの並び順とか程度だけど)は
おそらく「一番上の会社が認識しているイメージ」に強制的に変更される。

だから、カラム位置という要素に依存しないコーディング規約が
徹底されることになる (これらの例はすぐ上で出てるので割愛)。
>552 の話も、付随して意識する必要がなくなる。
他社の環境でのカラム並び順と、自社の環境でのカラム並び順が同じとは限らない、
それどころか数年後に自社が使わされてるカラム並び順とも同じとは限らないのに
今の自社の環境だけを前提にして労力をつぎ込んでも仕方がない。


555:NAME IS NULL
10/02/11 20:57:53
>>554
最初にコーディング規約で決めておけば、大した労力をつぎ込む必要は無いように
思えるのだけど、違うの?

ちなみに>>554さんは、具体的にどの程度の規模のPJの話を言ってる?


556:NAME IS NULL
10/02/11 20:58:54
>>553
ここはOracle質問スレだけど、その家計簿ソフトでOracleを使うの?

557:NAME IS NULL
10/02/11 21:27:03
>>555
>最初にコーディング規約で決めておけば、大した労力をつぎ込む必要は
>無いように思えるのだけど、違うの?

>554 で示したような理由から、カラム並び順について「不定」とした場合、
カラム順が全環境で一律固定であるという前提に頼ったコーディングは避けるべし
(これは当たり前)となるし、
同様にそれを前提とした小手先のテクニックも最初から否定傾向となる。

自分だけ/自社だけがステークホルダーなんて場合を除けば、
それを肯定に持って行くのはとても大変なこと。
「”根拠はないけど”こういうやり方にしましょう、
 このシステム全体をそのやり方で統一させましょう」というくらいに。
そんなことでいちいち手間をかけないために、そんな規約は定めない。

>ちなみに>>554さんは、具体的にどの程度の規模のPJの話を言ってる?

分割発注のポリシーは発注元によるが、
一つの開発会社に単独開発させるのは無理だ、と判断され
「(分割のコストを受け入れて)意図的に分割統治させる」くらいの規模から上。
規模が直接の問題じゃないが、規模に比例して上記要素が増えるのが実経験上の感覚としてある。

558:NAME IS NULL
10/02/11 21:45:42
カラム順が変わったら動かなくなるなんて誰も言ってないじゃん。
読みやすいか読みにくいかと言ってるだけ。

それにテーブル定義は誰かが作ったらそれを全環境に使いまわすものだと思うけど。

559:NAME IS NULL
10/02/11 21:47:52
>>558
>それにテーブル定義は誰かが作ったらそれを全環境に使いまわすものだと思うけど。

>554
>複数ベンダー、複数作業主体、複数案件(それぞれ、実施されたり切り戻されたり)
>が入り乱れたとき、テーブルへの列の追加や削除が
>すべての環境ですべて一致する保証をとる行為は現実的に困難になる。

560:NAME IS NULL
10/02/11 22:13:21
>>556

他に質問できるところがなかったので
ここで聞いてみました。
Oracleには直接関係ないけど、
DBの設計ということで勘弁してもらえませんか?


561:NAME IS NULL
10/02/12 03:03:46
後ろカンマにしちゃうとフィールドを追加した行以外の
カンマを追加しただけの行も修正行として差分がでちゃうの。
だからやだぷ。

562:NAME IS NULL
10/02/12 03:24:22
こまけぇこたぁ良いんだよ。

563:NAME IS NULL
10/02/12 08:24:07
>>560

DBの設計は別にスレがあるだろうが。

564:NAME IS NULL
10/02/12 08:36:57
DBの設計経験がないのか・・・それじゃあ
答えようがないよな・・・すまん


565:NAME IS NULL
10/02/12 08:46:56
>>564
逆ギレ?

566:NAME IS NULL
10/02/12 09:05:28
行を他の表にコピーしたいけど、
列の値によってコピーする先の表を変えるには
どうすればいいんだっけ

567:NAME IS NULL
10/02/12 11:31:22
{ a, b, c, d, } とかける言語は増えてきてるから、そのうちきっとSQLも。
それまでは宗教論争が続きそうだな。

568:NAME IS NULL
10/02/12 13:04:16
>>566
INSERT ALL|FIRST または動的SQLじゃね

宗教論争に参加するつもりはないが
カンマを前につけて書いている本を見たことがない。
だから、カンマを前につけるのはすごく違和感がある。

569:NAME IS NULL
10/02/12 20:49:10
大昔は前カンマが主流だったよ
Win3.1時代だがw

1カラム毎のカーソル回せ!
カンマなんか気にならなくなる

そして東京モンを追い出せ

570:NAME IS NULL
10/02/12 20:51:52
はいはい、カーソル、カーソル。

571:NAME IS NULL
10/02/13 03:33:45
3カラムのときは3回まわすわけですね
わかります

572:NAME IS NULL
10/02/13 23:48:55
沖縄蛮族と一緒にするな
私は生粋の大阪人だ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch