2ch勢いランキング 全部 1- 最新50

頼むから正規化しろよ 第二正規形


NAME IS NULL [] 2005/05/15(日) 03:56:41:43QLdn9b
正規化について語りましょう。

前スレ(dat落ち)

頼むから正規化しろよ
ttp://pc8.2ch.net/test/read.cgi/db/1060690405/
NAME IS NULL [sage] 2009/12/26(土) 19:20:41ID:???

ニコニコはMYSQLだと聞いてる。
NAME IS NULL [sage] 2009/12/26(土) 22:13:20ID:???

現実的に考えて、RDB以外にないだろ。
NAME IS NULL [sage] 2009/12/27(日) 00:06:26ID:???
多くの工業科&組込制御系育ちはRDBMSをなかなか理解できないらしい。
自分をCPUに見立てたプログラム実行ロジックで考えてしまう癖が抜けなくて、
データの順番や個数、アドレス問題はポインタで解決済みの早見表として
オンメモリですべてを掌握していないと納得できないという。

役割分担や分散処理が苦手で、すべて自分のプログラムだけでやろうとする。
そして孤高だったりする。
NAME IS NULL [] 2010/01/20(水) 21:17:11:X+55Zxtj

動画番号に対して固定長(古いコメントは消えるので)のコメント領域を返すkey-valueじゃだめ?
NAME IS NULL [sage] 2010/01/21(木) 08:45:08ID:???

現時点のいろんな意味で、その実装に
もっとも適しているのがRDBだろ。

NAME IS NULL [sage] 2010/01/21(木) 18:56:38ID:???

non-Relationalなkey-valueで済むなら、そのほうがスケーラビリティとかパフォーマンスで有利では。
NAME IS NULL [sage] 2010/01/21(木) 20:03:46ID:???
それだと重くならないかとか・・・、固定長の領域を返せばとか・・・って、ちょっと違うんじゃね?

なぜ動画投稿コミュニティサイトのような規模のシステム全体を、同じCPUとメモリの配下で
動作する単一のプログラムやプロセスとして考えるんだよ。スレ的にも当然RDBMSを使い、
サブシステムごとに分散処理だろw
NAME IS NULL [sage] 2010/01/22(金) 04:17:32ID:???
結構昔だけどYouTubeなんかはBigTable使い始めたってどっかで読んだ。
NAME IS NULL [sage] 2010/01/22(金) 15:53:53ID:???

>同じCPUとメモリの配下で動作する単一のプログラムやプロセスとして考える
何のことを言ってるのかちょっと分かんないです><
NAME IS NULL [sage] 2010/04/09(金) 23:50:09ID:???
4月1日からDBの仕事するようになって1週間だが、早くもタイトル通りの叫び声あげたくなった。
これが現場のDBって奴なのか……
NAME IS NULL [sage] 2010/04/14(水) 18:37:37ID:???
既存なら泣く
設計中なら正規化を押し通せ
NAME IS NULL [sage] 2010/04/15(木) 05:02:26ID:???
設計は完全に終ってる。
既にシステムの一部は稼働していて、リリースまでに間に合わなかった機能を実装している段階だ。
NAME IS NULL [sage] 2010/04/23(金) 15:29:57ID:???
自分の視野が世界の全て病
NAME IS NULL [] 2010/07/07(水) 22:36:04:/39YW+Cp
正規化について勉強を始めたのですが
一人の人に複数の趣味のフィールドを持たせたい場合は
どうするべきでしょうか
shumi1,shumi2のようなカラムを作るのは非正規と理解しています。
趣味のテーブルを分けて、shumi_idという外部キーでやるとした場合

name shumi
kiteretu 1
kiteretu 2

の様に重複するフィールドが出てくるので正規化はされていない
と思っています。どうすればよいのか教えてください。
NAME IS NULL [sage] 2010/07/07(水) 23:10:47ID:???
第4正規形になるね。
正規形を崩すかBCNFにしてFKで整合性を取るかじゃないかな
NAME IS NULL [sage] 2010/07/08(木) 12:20:56ID:???

普通に第二正規形ではない。例えばリレーションpersonが以下の
ようであるとして、

person(person_id, name, gender, shumi_id)

で仮に一人の人が複数の趣味を持つとすると、このリレーション
の候補キーは(person_id, shumi_id)になる。
でもnameやgender(性別)といった非キー属性はperson_idにだけ
関係従属する。

person_id -> name
person_id -> gender

テーブルの候補キーに完全関数従属していないので非第二正規形。
これを第二正規形にするには、部分従属する非キー属性nameと
genderを別のリレーションに分ける。

person(person_id, shumi_id) 候補キーperson_id, shumi_id
person2(person_id, name, gender) 候補キーperson_id

まぁ実際は後者のリレーション名をpersonにして前者は
person_shumiとかにすると思うけれどもね。
NAME IS NULL [sage] 2010/07/08(木) 21:10:32ID:???


ありがとうございます。
なんとか理解できそうなので、続けてサンプルを見まくります。
Perl忍者 ◆M5ZWRnXOj6 [] 2010/09/03(金) 17:24:39:zlBbPnBj
web土方でSQLもろくに使えねえし設定もできねえし
正規化もろくにできてねえし
お前ばかなの?しぬの?
っていったら

得意気に黒い画面だして ポストグレ起動して手動でinsertやりまくって追加してた

脳味噌がかわいそうだった

かわいそすぎて泣いた
NAME IS NULL [sage] 2010/09/14(火) 03:05:12ID:???

何を言っているのかよくわかりません。
あなたもかわいそうな人に見えます。
NAME IS NULL [sage] 2010/10/28(木) 15:47:02ID:???
5年くらい昔であろうか?
有名なSlerが受注した外資系企業のシステムで開発者を200人以上集めた。
Oracleのバージョンは忘れた。

既にメンバーからはずれた人が設計したという500列だったかの
ワークテーブルなるのものがあって、正規化した各テーブルから
データをかき集めてワークテーブルでまとめて更新。

新たに参加したメンバーは必ずこの仕様ではプログラムは書けない、
ワークテーブルも削ろう、と進言したが、現テーブル設計担当は
ぐずぐずしているだけでまったく動かず。

動的SQLを多用しないとプログラムを書けず、当然プログラム・バグが
多発。残業・徹夜してもバグの原因がなかなかわからず。

結局、社長命令でシステム開発は中止。
改めて開発予算を確保してテーブル設計からやり直すことに。

得るものは何もない、むなしい仕事だった。
テーブル設計担当を大雪山に生き埋めにしてやりたかった。

正規化は大切だぞ。
NAME IS NULL [sage] 2010/10/28(木) 23:36:12ID:???

ああ、解るわー。

その500列を作った技術者は、コボラーじゃないか?
あと列の名前も意味の無いコードで定義されていたりした?

コボラーにテーブル設計をやらせては駄目だよな。
NAME IS NULL [sage] 2010/10/29(金) 02:16:04ID:???
物理名は英字+数字の連番な
NAME IS NULL [sage] 2010/11/09(火) 02:22:59ID:???
アラフォーCガリガリプログラマなんだけど、担当者が逃げたASP.NETのシステムを
見ることになってそのままDBの勉強始めたんだけど、DBってこんなに面白かったんだね
正規化とか考えてると楽しい
DBの講習会とか「興味ない」とサボってたのを後悔した

ただSQLはつまらんね
なんでこう、表示、更新、追加でこんなに文法違うんだよ
考えたやつ、頭おかしいだろ
NAME IS NULL [sage] 2010/11/09(火) 02:28:31ID:???
COBOL文化の人って、CHAR型好きだよね。
枝番 … EDA CHAR(2) とか。

あと制約付けるのが嫌いで、FETCHが好き。
Perl忍者 ◆M5ZWRnXOj6 [] 2010/11/12(金) 17:39:54:LqoipeIo
正規化してないバカが作ったやつのWEBアプリが
すべてそのままデータぶち込んでてプライマリーすらわかってねーみたいで
頭おわってんなっておもったわ

SQLも理解できないカスグラマも世の中たくさんいるしな
WEBバカはかすばっかりだよ
とくに3キモ言語使ってるやつらな
NAME IS NULL [sage] 2010/11/13(土) 08:35:08ID:???
一方で、DWH見て「ぜんぜん正規化とか理解してない、これ設計したのコボラだろwww」
みたいなこと言う奴もいたりするけどな。
NAME IS NULL [sage] 2010/11/13(土) 18:03:03ID:???

オレの事か?

本気でコボラーにはテーブル設計して貰いたくないと感じてる。
NAME IS NULL [] 2010/11/13(土) 18:43:10:WUzshbar

何もわかってないw
NAME IS NULL [sage] 2010/11/13(土) 21:52:14ID:???
「コボラー」よりRDBをわかっているというのが唯一の自慢な人は所詮そんなもんw
NAME IS NULL [sage] 2010/11/13(土) 23:05:36ID:???
DWHってなんぞやと検索したら納得


何もわかってないww
NAME IS NULL [sage] 2010/11/14(日) 23:37:21ID:???
いやいやいや!
DWHは、正規化が完了してから正規化崩しを行っていくんだろ。

コボラーの奴は、正規化が不完全な状態から正規化崩しを行うからgdgdなテーブル設計になるんだって。
NAME IS NULL [sage] 2010/11/15(月) 00:29:36ID:???
もっと流れよめ
NAME IS NULL [sage] 2010/11/15(月) 02:12:21ID:???
頭が悪いのに付ける薬はないってことだ
NAME IS NULL [sage] 2010/11/15(月) 08:06:17ID:???

マジレスすると、DWHではそのような方法はとらない。
そもそも正規化というのが更新異常を防ぎデータの一貫性を保つための考え方である以上、
個々に更新を行わず、ETLであらかじめ一貫性を整えたデータを一括してロードするDWHには
必要のないもの。
NAME IS NULL [sage] 2010/12/12(日) 00:35:52ID:???
性器化の意義:項目間の相関性を極小にし記憶効率を改善する。性器化のしすぎは
多くの場合検索性を損ね、時には信頼性も下げる場合がある。

非性器化の意義:項目間の従属性を許可する。記憶効率は下がるが、多くの場合に
検索性が向上し、時には信頼性が向上する場合がある。
NAME IS NULL [sage] 2010/12/16(木) 19:18:29ID:???

アホちゃう?
NAME IS NULL [sage] 2011/03/01(火) 14:42:43.26ID:???
パーでんねん
NAME IS NULL [sage] 2011/08/09(火) 17:16:40.70ID:???
第一正規化まで終わってる、つまり1枚の大きなテーブル(4Gくらい)があるんですが、自動でその後の正規化をやってくれるソフトってないですか?
知っている人がいたら教えて下さい。
NAME IS NULL [] 2011/09/02(金) 19:31:02.37:XFcjaMI+
検索用にタグ機能を作りたいんですけど
どんなテーブル構造にするのが一般的ですか?

| 記事ID | タグ |
で記事IDを重複キーにするか

| 記事ID | タグ1 | タグ2 | タグ3 | ・・・ |
で記事IDをユニークキーにするか

タグの上限は未定です
NAME IS NULL [sage] 2011/09/08(木) 18:42:15.74ID:???

要件次第だが

| 記事ID | タグ |

で記事IDとタグを主キーにするかな
NAME IS NULL [sage] 2011/09/10(土) 19:46:26.54ID:???

> | 記事ID | タグ1 | タグ2 | タグ3 | ・・・ |
> で記事IDをユニークキーにするか
おいおい第一正規形にすらなってないぞ
NAME IS NULL [] 2012/08/09(木) 02:11:16.27:57EvxVv2
保守age
NAME IS NULL [] 2012/10/30(火) 13:13:15.70:g6duZ5Cb
保守
NAME IS NULL [sage] 2014/04/28(月) 11:28:23.67ID:???
テーブル設計(正規化)のアドバイスをお願いします。
メインテーブルがあり、フィールド数は全部で70程です。
主キーに対して従属はない状態(第二正規化)なのですが、
レコードが同じ内容で繰り返される各フィールドをテーブルに切り出す(第三正規化?)と35もマスタテーブルが出来てしまったのですが、
このテーブルとトランザクションテーブルをリレーションシップしてからクエリで全てのフィールドを再度結合する場合、
結合線もすごい数になってしまいますが、このような状態(数)は正規化出来ていないことになるのでしょうか?
各マスタテーブルは主キーとフィールドが一つのものばかりです。
NAME IS NULL [] 2015/04/21(火) 21:23:14.43:pQzWEcgh
☆ 日本の核武装は絶対に必須ですわ。☆
ttp://http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
NAME IS NULL [sage] 2015/05/11(月) 22:46:52.65ID:???

まず主キーはサロゲートキー?それともナチュラルキー?
後からサロゲートキー適当に足して主キーとか言ってないよね?
NAME IS NULL [sage] 2017/04/20(木) 13:52:29.39ID:???
保守
NAME IS NULL [sage] 2017/05/15(月) 15:03:35.69ID:???
日本トップクラスの企業の次期案件下請けしてるけどテーブル定義マジでゴミ
コミュ力ある奴ばかりで技術力ある奴がマネージャークラスに居ないんだろうな
日本終わってるわ
NAME IS NULL [sage] 2017/11/23(木) 09:48:07.38ID:???
necや富士通など大手メーカー系sierの業務系案件でまともな設計のプロジェクトなんて存在するの???
NAME IS NULL [] 2017/12/29(金) 11:59:02.29:dtNZwIie
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

N46QAZV1AG

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

2ch勢いランキング 全部 1- 最新50 データベース板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら