何故データベース設計は軽視されるのか?
1 :NAME IS NULL :2008/12/01(月) 01:07:27 ID:X6n/IiFX.net 何故データベース設計は軽視されるのか? ここでいうデータベース設計とは、 特定の業務システムにおける テーブルレイアウトを設計し、決める作業であるとします。 業務システムにおいては、 このデータベース設計(テーブル設計)は仕様そのものを定義する作業にも 近いと思いますし、この設計は開発工程やその後の運用における品質を 絶対的に左右するものだと思っています。 逆にこの設計があまりにも実現すべき仕様と比較し不整合なため、 その後の開発工程がデスマーチに陥ることも少なくないのではないでしょうか? にも関わらず、正規化程度も理解できないような担当者が この設計を行っていたり、業務システムの受託開発において、 「テーブルレイアウトを決める」という作業が、あまりにも軽視されているような 気がしています。 みなさんの現場ではどうでしょうか? ご意見などお聞かせください。
608 :575 :2021/06/22(火) 17:07:34.18 ID:???.net ははは・・・ 晴れて?「DB屋()」の仲間入りしそうだ・・・ PostgreSQL9.3とSQLServer2005を、プライベートで、弄ったことあるだけなのに(実務ではOracle11の炎上案件の燃料として放り込まれたぐらい) 7月からPostgreSQL12がフロントエンドで、Oracle(ナンバリングは効いてない)がバックエンドで動いてる「工場のFAのすごいやつと思えば間違いじゃない(スマートファクトリー)」とかいう謎の説明されたシステムのDBチームに配属になったわ・・・ メカ系や移動体通信系のファームしか経験ないつにいきなり・・・ ズブの素人よりはマシかもしれないけどDBそのもののスキルだったらそこらの学生以下だよ俺・・・orz.
609 :NAME IS NULL :2021/06/22(火) 18:09:02.74 ID:???.net いまどきDBでチームがあるのか ある意味すごいな
610 :NAME IS NULL :2021/06/22(火) 18:59:21.66 ID:wVCfrFWc.net >>609 開発対象が、工場の機械からデータ受け取る中継ボックスみたいなところから、工場の中間サーバから複数の工場の情報をまとめるサーバまで一貫してるんだそうな。 そして中継ボックス、中間サーバ、全体の情報あつめるサーバってのを全部面倒見てる10人ほどのチームとのこと。 まだ現場に入ってないから実態判らんけど、門外漢な俺を採用しちゃうところだし、上下どころか横の連携もまともにとれないようなカオスなところでもおかしくないって個人的な経験則が言ってる。 他に仕事ないから受けたけど、今から「どんなとこかなー? 抜けるとしたらどうやって抜けようかなー?」って考えてるw
611 :NAME IS NULL :2021/06/22(火) 21:26:23.41 ID:???.net もし関係者が見たら、特定できそうやな。w ほどほどにしとけよ。
612 :NAME IS NULL :2021/06/26(土) 18:20:28.11 ID:???.net データベースのテーブル設計書ってどうしてる? エクセル方眼紙にしてかいてるんだけど、なんかいいのないのかな
613 :NAME IS NULL :2021/06/26(土) 23:14:34.00 ID:???.net >>612 MySQL Workbenchはどや? 最近は使ってないから知らんが。
614 :NAME IS NULL :2021/07/03(土) 17:38:43.26 ID:R35jReGz.net >>612 A5Mk-Uがよく使われている。
615 :NAME IS NULL :2021/10/13(水) 12:36:34.50 ID:???.net データベーススペシャリストでよく問われるページサイズとか空き容量率とかどのメーカーのDBをターゲットにしてるんや? 教えてくれ
616 :NAME IS NULL :2021/10/13(水) 13:54:50.17 ID:???.net 特にどのDBMSをターゲットにしてるとかないぞ 一般的なBTreeを前提にしてるだけ
617 :ド底辺PG :2021/11/10(水) 22:00:45.28 ID:KaB0M86I.net プロジェクトが燃え尽きたから別の案件に燃料しに行ったんだが、TEXT(可変長文字列)をPKにしてINDEX張ってて「パフォーマンス出ねぇ!」ってやってんですけど・・・ ちょう乱暴に描くと CREATE TABLE T_TAGS( JPN AS TEXT NOT NULL, ENG AS TEXT, ・・・品詞とか同義語とかの定義いろいろ・・・ PRIMARY KEY(JPN) ) て感じの定義で、SELECTのサブクエリとかでも ON TBL1.JPN = ・・・ みたいにテキストのカラムをJOINしてるんすよ? ドテ・イ・ヘーンな俺でも「なんで数値でIDのカラムを作らないの?」ぐらいの疑問はあるんだけど、 これって「データベースあるある」だったりするの?
618 :NAME IS NULL :2021/11/10(水) 22:40:02.10 ID:???.net 遅いのがTEXTのせいだってどうやって判断したの?
619 :NAME IS NULL :2021/11/11(木) 00:02:07.19 ID:???.net >>617 >これって「データベースあるある」だったりするの? 文字列をPKに使うかどうかは状況による 絶対避けるというほどのものでもない 個人的には可変長は極力避けるけどパフォーマンスクリティカルなシステムじゃなければ 全部可変長で揃えてても特に問題なかったりする PKを数値にしたバージョン作ってさくっと比較すればいいんじゃん?
620 :NAME IS NULL :2021/11/11(木) 19:06:31.16 ID:NSxyRLjO.net >>617 あなたの言っていることは頭がおかしいくらい変なことを言っている。 たまたまいままで見てきたテーブルの主キー項目が数値型だっただけで、根拠のない思い込みをしてないか? 念を押すと、頭のおかしい発言だぞ。
621 :NAME IS NULL :2021/11/11(木) 19:36:50.37 ID:NSxyRLjO.net >>617 そのTEXT型がラージオブジェクト型というオチのネタ書き込みじゃないだろうな?
622 :NAME IS NULL :2021/11/11(木) 20:16:55.16 ID:???.net >>620 そこまでやないやろ。w テキストはCOLLATEの懸念があるし、 数値のが望ましいのはたしかやし。 まあ、遅いのはテキストキーやからと決めつけてかかってるところはアタマ弱そうやが。 EXPLAINしろっつーの。
623 :ドテ・イ・ヘーン :2021/11/11(木) 21:02:49.02 ID:xQZydvmR.net 俺の思い込みが解消されないレベルの現場という前提を認識ください m(_ _)m マジ学生以下よ、俺のスキル・・・・ EXCELを読んでDBに追記して、DBを参照してEXCELに吐き出すっていう単機能のモジュール2つを並行して「これ、改良して」ってソースだけ渡されたんすよ! 周りが「おそいおそい!」って騒いでて「どんなもんじゃらほい?」って見たらJOINが5〜6個あってTEXTのカラムでつないでたんよ。 さすがにSELECTのWHERE句でIN使うほどじゃなかったけど、そういうSQLあっても不思議じゃないレベルのある意味読みやすいSQLでしたw あと、遅いの根拠が「本番で使ってる高負荷に耐える超高性能マシン」で動かした旧バージョンと「テスト用のレンタル屋から借りてるそこそこの性能のマシン」で動かした新バージョンというね・・・ 何の比較にもなってねぇじゃん! という新事実が発覚して、馬鹿らしくなったので今日は仕事放り出して酒飲んできましたw
624 :NAME IS NULL :2021/11/11(木) 21:39:46.36 ID:6iIlck1C.net 説明の仕方でもうダメ
625 :NAME IS NULL :2021/11/11(木) 21:41:27.49 ID:6iIlck1C.net Excelは何と関係があるのか?
626 :NAME IS NULL :2021/11/11(木) 21:41:54.34 ID:6iIlck1C.net 何が遅いのかまったくわかってねえな
627 :NAME IS NULL :2021/11/11(木) 23:17:34.86 ID:???.net charやvarcharの文字列って意味でtextって言ってるんじゃなくtext型って話だったのか・・ sqliteならともかくそれ以外のメジャーなサーバー系DBMSでtext型をPKにすることはまずないぞ
628 :NAME IS NULL :2021/11/12(金) 00:22:09.87 ID:???.net >>623 まとめたら、スペックの違いやろ。 一言ですむわ。w
629 :NAME IS NULL :2021/11/27(土) 20:05:57.75 ID:l5sFA9ZC.net よくわかってないクライアントがよくわかってないSEに文句言って よくわかってないフィルターで「お前らの作ったシステム遅いぞゴラァ!」ってなって現場に届くあるある案件ですな。
630 :NAME IS NULL :2022/02/12(土) 03:16:43.64 ID:Nh8yTOt3.net >>629 性能要件があって、データが増えてもパフォーマンスに問題がないと一言、入っているだけで違うのにな。
631 :NAME IS NULL :2022/02/17(木) 18:59:32.20 ID:???.net まあ、最近はフルSSDのストレージで構築したからsqlがとても早いです。statpack見るととんでもなくディスクREADしてるアホsqlあるけど、システム影響なし、いいんだか悪いんだかですねー
632 :NAME IS NULL :2022/02/22(火) 20:09:39.42 ID:P63gZsOo.net >>631 それで解決したことにするとSSDでもどうにもならないSQLが増産されることになる。
633 :NAME IS NULL :2022/03/24(木) 22:48:04.07 ID:blhKkXUv.net お前ら和歌山県出身の下村拓郎様(35歳独身、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ
634 :NAME IS NULL :2022/06/01(水) 14:23:26.36 ID:???.net スキーマの意味よくわかってないけどスキーマ設計書にテーブル構成書いてるよ
635 :NAME IS NULL :2022/06/01(水) 17:38:04.59 ID:???.net それっぽく聞こえるもんねw
636 :NAME IS NULL :2022/06/01(水) 20:43:48.71 ID:1CNMa44D.net スキーマの概念が後付けの製品しか知らないんだろうな
637 :NAME IS NULL :2022/06/01(水) 20:44:36.18 ID:1CNMa44D.net 論理的な意味でも括りというのは必要
638 :NAME IS NULL :2023/04/11(火) 20:09:59.45 ID:+S9P9M6L.net ER図を見てもよくわからない設計は典型的なダメパターン だか大手SIerの人間はテストも運用も保守もしたことがないので、理解不能な理屈で設計したがる。
639 :NAME IS NULL :2023/07/08(土) 11:55:41.75 ID:Dzd22CIu.net 今月から、某メーカー系の現場入り。 50万件ぐらいしか入っていない商品マスターを検索するサイトが激重。 DB設計がもろこぼらーの発想。苦言をやんわり現場に伝えたつもりだが、超絶俺様気質の担当者で、聞き入れる気配なし。 逃げたい。 ちなみに、私はデータベーススペシャリスト餅。
640 :NAME IS NULL :2023/07/08(土) 12:27:10.70 ID:???.net よくある話。 「こぼらーの発想」とか言ってもどこがどう悪いのか他人には伝わらんだろうし。
641 :NAME IS NULL :2023/07/08(土) 14:07:15.72 ID:???.net 正規化って概念がないんだろうな エクセル感覚であるだけ用意する設計なんだろ
642 :NAME IS NULL :2023/07/08(土) 14:41:30.21 ID:???.net 検索が重いとしか書かれていないのに正規化が出てくる人もどっこいどっこい。
643 :NAME IS NULL :2023/07/08(土) 17:41:12.84 ID:???.net >ちなみに、私はデータベーススペシャリスト餅。 オレはお前から逃げたいw
644 :NAME IS NULL :2023/07/09(日) 05:25:53.28 ID:Yld3I0en.net こぼらーがなぜ嫌われるかをこぼらー自身は検証もしないし、俺流正義マンで権力まで持ってたら。。。。 出くわしたら逃げるしかないんだろうか?
645 :NAME IS NULL :2023/07/09(日) 09:49:24.47 ID:???.net いまどきCOBOL知ってる人も少ないだろうしどこがどのように問題かという具体的な指摘もないから 傍で見ていてよくわからんのよね。検証のしようもないだろう。
646 :NAME IS NULL :2023/07/09(日) 15:34:31.38 ID:???.net RDBをよく知らない構造化ファイル時代のコボラーはJOINを嫌い COBOLプログラムから一番扱いやすい形の構造化ファイル風にテーブルを作る でもそんな時代は30年近く前に終わってる上に定形検索だけなら遅くはならないので データベーススペシャリスト餅wが表面しか見ていないだけだろう
647 :NAME IS NULL :2023/07/09(日) 22:27:42.41 ID:???.net 「コボラー」と言っとけば多分反論は来ないしお手軽にマウントとった気分になれる便利なワード。
648 :NAME IS NULL :2023/07/10(月) 06:12:24.27 ID:???.net このスレなんてそれが生き甲斐のやつばかりじゃん 初心者の質問にはまともに答えず、馬鹿にして溜飲を下げるだけ
649 :NAME IS NULL :2023/07/10(月) 22:30:41.83 ID:???.net ところで構造化ファイルってどんなん?
650 :NAME IS NULL :2023/08/18(金) 08:33:02.53 ID:???.net ホホホ!(^O^)
651 :NAME IS NULL :2023/09/30(土) 00:06:07.97 ID:???.net まじかよ、それはありえんわ
652 :NAME IS NULL :2023/10/03(火) 22:53:58.05 ID:puC6ODCi.net VSAMとか悪名高いよな
653 :NAME IS NULL :2023/12/03(日) 23:59:55.07 ID:???.net VSAM
654 :NAME IS NULL :2024/03/07(木) 18:22:53.35 ID:4BnqPTKi.net 処理速度の遅さが頻繁に問題になっていても、めちゃくちゃな設計とめちゃくちゃなSQLを使うのが優秀な開発者なのがITの世界ではエリートだったりするからなあ 目に見えない部分は評価されにくい
655 :NAME IS NULL :2024/03/09(土) 19:05:23.11 ID:???.net 推敲してレスしなおしてくれないか
656 :NAME IS NULL :2024/03/09(土) 21:29:57.56 ID:sC2bZ4HS.net 有名製品でもデータモデルはひどかったりする
657 :NAME IS NULL :2024/04/19(金) 07:20:06.15 ID:0Ztguvb/.net アプリ開発者がただの入れ物として設計してしまうからなあ
189 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者