X



何故データベース設計は軽視されるのか?
0001NAME IS NULL
垢版 |
2008/12/01(月) 01:07:27ID:X6n/IiFX
何故データベース設計は軽視されるのか?

ここでいうデータベース設計とは、
特定の業務システムにおける
テーブルレイアウトを設計し、決める作業であるとします。

業務システムにおいては、
このデータベース設計(テーブル設計)は仕様そのものを定義する作業にも
近いと思いますし、この設計は開発工程やその後の運用における品質を
絶対的に左右するものだと思っています。
逆にこの設計があまりにも実現すべき仕様と比較し不整合なため、
その後の開発工程がデスマーチに陥ることも少なくないのではないでしょうか?

にも関わらず、正規化程度も理解できないような担当者が
この設計を行っていたり、業務システムの受託開発において、
「テーブルレイアウトを決める」という作業が、あまりにも軽視されているような
気がしています。

みなさんの現場ではどうでしょうか?
ご意見などお聞かせください。


0604NAME IS NULL
垢版 |
2021/01/25(月) 05:16:41.94ID:cGhuaVFN
よく読め
0605575
垢版 |
2021/06/22(火) 17:07:34.18ID:???
ははは・・・
晴れて?「DB屋()」の仲間入りしそうだ・・・
PostgreSQL9.3とSQLServer2005を、プライベートで、弄ったことあるだけなのに(実務ではOracle11の炎上案件の燃料として放り込まれたぐらい)
7月からPostgreSQL12がフロントエンドで、Oracle(ナンバリングは効いてない)がバックエンドで動いてる「工場のFAのすごいやつと思えば間違いじゃない(スマートファクトリー)」とかいう謎の説明されたシステムのDBチームに配属になったわ・・・
メカ系や移動体通信系のファームしか経験ないつにいきなり・・・
ズブの素人よりはマシかもしれないけどDBそのもののスキルだったらそこらの学生以下だよ俺・・・orz.
0606NAME IS NULL
垢版 |
2021/06/22(火) 18:09:02.74ID:???
いまどきDBでチームがあるのか
ある意味すごいな
0607NAME IS NULL
垢版 |
2021/06/22(火) 18:59:21.66ID:wVCfrFWc
>>606
開発対象が、工場の機械からデータ受け取る中継ボックスみたいなところから、工場の中間サーバから複数の工場の情報をまとめるサーバまで一貫してるんだそうな。
そして中継ボックス、中間サーバ、全体の情報あつめるサーバってのを全部面倒見てる10人ほどのチームとのこと。
まだ現場に入ってないから実態判らんけど、門外漢な俺を採用しちゃうところだし、上下どころか横の連携もまともにとれないようなカオスなところでもおかしくないって個人的な経験則が言ってる。

他に仕事ないから受けたけど、今から「どんなとこかなー? 抜けるとしたらどうやって抜けようかなー?」って考えてるw
0608NAME IS NULL
垢版 |
2021/06/22(火) 21:26:23.41ID:???
もし関係者が見たら、特定できそうやな。w
ほどほどにしとけよ。
0609NAME IS NULL
垢版 |
2021/06/26(土) 18:20:28.11ID:???
データベースのテーブル設計書ってどうしてる?
エクセル方眼紙にしてかいてるんだけど、なんかいいのないのかな
0610NAME IS NULL
垢版 |
2021/06/26(土) 23:14:34.00ID:???
>>609
MySQL Workbenchはどや?
最近は使ってないから知らんが。
0611NAME IS NULL
垢版 |
2021/07/03(土) 17:38:43.26ID:R35jReGz
>>609
A5Mk-Uがよく使われている。
0612NAME IS NULL
垢版 |
2021/10/13(水) 12:36:34.50ID:???
データベーススペシャリストでよく問われるページサイズとか空き容量率とかどのメーカーのDBをターゲットにしてるんや?
教えてくれ
0613NAME IS NULL
垢版 |
2021/10/13(水) 13:54:50.17ID:???
特にどのDBMSをターゲットにしてるとかないぞ
一般的なBTreeを前提にしてるだけ
0614ド底辺PG
垢版 |
2021/11/10(水) 22:00:45.28ID:KaB0M86I
プロジェクトが燃え尽きたから別の案件に燃料しに行ったんだが、TEXT(可変長文字列)をPKにしてINDEX張ってて「パフォーマンス出ねぇ!」ってやってんですけど・・・
ちょう乱暴に描くと
CREATE TABLE T_TAGS(
 JPN AS TEXT NOT NULL,
 ENG AS TEXT,
 ・・・品詞とか同義語とかの定義いろいろ・・・
 PRIMARY KEY(JPN)
)
て感じの定義で、SELECTのサブクエリとかでも ON TBL1.JPN = ・・・ みたいにテキストのカラムをJOINしてるんすよ?

ドテ・イ・ヘーンな俺でも「なんで数値でIDのカラムを作らないの?」ぐらいの疑問はあるんだけど、
これって「データベースあるある」だったりするの?
0615NAME IS NULL
垢版 |
2021/11/10(水) 22:40:02.10ID:???
遅いのがTEXTのせいだってどうやって判断したの?
0616NAME IS NULL
垢版 |
2021/11/11(木) 00:02:07.19ID:???
>>614
>これって「データベースあるある」だったりするの?
文字列をPKに使うかどうかは状況による
絶対避けるというほどのものでもない
個人的には可変長は極力避けるけどパフォーマンスクリティカルなシステムじゃなければ
全部可変長で揃えてても特に問題なかったりする

PKを数値にしたバージョン作ってさくっと比較すればいいんじゃん?
0617NAME IS NULL
垢版 |
2021/11/11(木) 19:06:31.16ID:NSxyRLjO
>>614
あなたの言っていることは頭がおかしいくらい変なことを言っている。

たまたまいままで見てきたテーブルの主キー項目が数値型だっただけで、根拠のない思い込みをしてないか?

念を押すと、頭のおかしい発言だぞ。
0618NAME IS NULL
垢版 |
2021/11/11(木) 19:36:50.37ID:NSxyRLjO
>>614
そのTEXT型がラージオブジェクト型というオチのネタ書き込みじゃないだろうな?
0619NAME IS NULL
垢版 |
2021/11/11(木) 20:16:55.16ID:???
>>617
そこまでやないやろ。w
テキストはCOLLATEの懸念があるし、 数値のが望ましいのはたしかやし。

まあ、遅いのはテキストキーやからと決めつけてかかってるところはアタマ弱そうやが。
EXPLAINしろっつーの。
0620ドテ・イ・ヘーン
垢版 |
2021/11/11(木) 21:02:49.02ID:xQZydvmR
俺の思い込みが解消されないレベルの現場という前提を認識ください m(_ _)m
マジ学生以下よ、俺のスキル・・・・

EXCELを読んでDBに追記して、DBを参照してEXCELに吐き出すっていう単機能のモジュール2つを並行して「これ、改良して」ってソースだけ渡されたんすよ!
周りが「おそいおそい!」って騒いでて「どんなもんじゃらほい?」って見たらJOINが5〜6個あってTEXTのカラムでつないでたんよ。
さすがにSELECTのWHERE句でIN使うほどじゃなかったけど、そういうSQLあっても不思議じゃないレベルのある意味読みやすいSQLでしたw

あと、遅いの根拠が「本番で使ってる高負荷に耐える超高性能マシン」で動かした旧バージョンと「テスト用のレンタル屋から借りてるそこそこの性能のマシン」で動かした新バージョンというね・・・

何の比較にもなってねぇじゃん!

という新事実が発覚して、馬鹿らしくなったので今日は仕事放り出して酒飲んできましたw
0621NAME IS NULL
垢版 |
2021/11/11(木) 21:39:46.36ID:6iIlck1C
説明の仕方でもうダメ
0622NAME IS NULL
垢版 |
2021/11/11(木) 21:41:27.49ID:6iIlck1C
Excelは何と関係があるのか?
0623NAME IS NULL
垢版 |
2021/11/11(木) 21:41:54.34ID:6iIlck1C
何が遅いのかまったくわかってねえな
0624NAME IS NULL
垢版 |
2021/11/11(木) 23:17:34.86ID:???
charやvarcharの文字列って意味でtextって言ってるんじゃなくtext型って話だったのか・・
sqliteならともかくそれ以外のメジャーなサーバー系DBMSでtext型をPKにすることはまずないぞ
0625NAME IS NULL
垢版 |
2021/11/12(金) 00:22:09.87ID:???
>>620
まとめたら、スペックの違いやろ。
一言ですむわ。w
0626NAME IS NULL
垢版 |
2021/11/27(土) 20:05:57.75ID:l5sFA9ZC
よくわかってないクライアントがよくわかってないSEに文句言って
よくわかってないフィルターで「お前らの作ったシステム遅いぞゴラァ!」ってなって現場に届くあるある案件ですな。
0627NAME IS NULL
垢版 |
2022/02/12(土) 03:16:43.64ID:Nh8yTOt3
>>626
性能要件があって、データが増えてもパフォーマンスに問題がないと一言、入っているだけで違うのにな。
0628NAME IS NULL
垢版 |
2022/02/17(木) 18:59:32.20ID:???
まあ、最近はフルSSDのストレージで構築したからsqlがとても早いです。statpack見るととんでもなくディスクREADしてるアホsqlあるけど、システム影響なし、いいんだか悪いんだかですねー
0629NAME IS NULL
垢版 |
2022/02/22(火) 20:09:39.42ID:P63gZsOo
>>628
それで解決したことにするとSSDでもどうにもならないSQLが増産されることになる。
0630NAME IS NULL
垢版 |
2022/03/24(木) 22:48:04.07ID:blhKkXUv
お前ら和歌山県出身の下村拓郎様(35歳独身、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ
0631NAME IS NULL
垢版 |
2022/06/01(水) 14:23:26.36ID:???
スキーマの意味よくわかってないけどスキーマ設計書にテーブル構成書いてるよ
0632NAME IS NULL
垢版 |
2022/06/01(水) 17:38:04.59ID:???
それっぽく聞こえるもんねw
0633NAME IS NULL
垢版 |
2022/06/01(水) 20:43:48.71ID:1CNMa44D
スキーマの概念が後付けの製品しか知らないんだろうな
0634NAME IS NULL
垢版 |
2022/06/01(水) 20:44:36.18ID:1CNMa44D
論理的な意味でも括りというのは必要
0635NAME IS NULL
垢版 |
2023/04/11(火) 20:09:59.45ID:+S9P9M6L
ER図を見てもよくわからない設計は典型的なダメパターン

だか大手SIerの人間はテストも運用も保守もしたことがないので、理解不能な理屈で設計したがる。
0636NAME IS NULL
垢版 |
2023/07/08(土) 11:55:41.75ID:Dzd22CIu
今月から、某メーカー系の現場入り。
50万件ぐらいしか入っていない商品マスターを検索するサイトが激重。
DB設計がもろこぼらーの発想。苦言をやんわり現場に伝えたつもりだが、超絶俺様気質の担当者で、聞き入れる気配なし。
逃げたい。
ちなみに、私はデータベーススペシャリスト餅。
0637NAME IS NULL
垢版 |
2023/07/08(土) 12:27:10.70ID:???
よくある話。
「こぼらーの発想」とか言ってもどこがどう悪いのか他人には伝わらんだろうし。
0638NAME IS NULL
垢版 |
2023/07/08(土) 14:07:15.72ID:???
正規化って概念がないんだろうな
エクセル感覚であるだけ用意する設計なんだろ
0639NAME IS NULL
垢版 |
2023/07/08(土) 14:41:30.21ID:???
検索が重いとしか書かれていないのに正規化が出てくる人もどっこいどっこい。
0640NAME IS NULL
垢版 |
2023/07/08(土) 17:41:12.84ID:???
>ちなみに、私はデータベーススペシャリスト餅。
オレはお前から逃げたいw
0641NAME IS NULL
垢版 |
2023/07/09(日) 05:25:53.28ID:Yld3I0en
こぼらーがなぜ嫌われるかをこぼらー自身は検証もしないし、俺流正義マンで権力まで持ってたら。。。。
出くわしたら逃げるしかないんだろうか?
0642NAME IS NULL
垢版 |
2023/07/09(日) 09:49:24.47ID:???
いまどきCOBOL知ってる人も少ないだろうしどこがどのように問題かという具体的な指摘もないから
傍で見ていてよくわからんのよね。検証のしようもないだろう。
0643NAME IS NULL
垢版 |
2023/07/09(日) 15:34:31.38ID:???
RDBをよく知らない構造化ファイル時代のコボラーはJOINを嫌い
COBOLプログラムから一番扱いやすい形の構造化ファイル風にテーブルを作る
でもそんな時代は30年近く前に終わってる上に定形検索だけなら遅くはならないので
データベーススペシャリスト餅wが表面しか見ていないだけだろう
0644NAME IS NULL
垢版 |
2023/07/09(日) 22:27:42.41ID:???
「コボラー」と言っとけば多分反論は来ないしお手軽にマウントとった気分になれる便利なワード。
0645NAME IS NULL
垢版 |
2023/07/10(月) 06:12:24.27ID:???
このスレなんてそれが生き甲斐のやつばかりじゃん
初心者の質問にはまともに答えず、馬鹿にして溜飲を下げるだけ
0646NAME IS NULL
垢版 |
2023/07/10(月) 22:30:41.83ID:???
ところで構造化ファイルってどんなん?
0648NAME IS NULL
垢版 |
2023/09/30(土) 00:06:07.97ID:???
まじかよ、それはありえんわ
0649NAME IS NULL
垢版 |
2023/10/03(火) 22:53:58.05ID:puC6ODCi
VSAMとか悪名高いよな
0651NAME IS NULL
垢版 |
2024/03/07(木) 18:22:53.35ID:4BnqPTKi
処理速度の遅さが頻繁に問題になっていても、めちゃくちゃな設計とめちゃくちゃなSQLを使うのが優秀な開発者なのがITの世界ではエリートだったりするからなあ

目に見えない部分は評価されにくい
0652NAME IS NULL
垢版 |
2024/03/09(土) 19:05:23.11ID:???
推敲してレスしなおしてくれないか
0653NAME IS NULL
垢版 |
2024/03/09(土) 21:29:57.56ID:sC2bZ4HS
有名製品でもデータモデルはひどかったりする
0654NAME IS NULL
垢版 |
2024/04/19(金) 07:20:06.15ID:0Ztguvb/
アプリ開発者がただの入れ物として設計してしまうからなあ
レスを投稿する


ニューススポーツなんでも実況