トップページDB@2ch掲示板
1002コメント323KB
DB設計を語るスレ 10 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0004NAME IS NULL
垢版 |
2017/05/23(火) 09:06:17.88ID:1YMhep2r
0005NAME IS NULL
垢版 |
2017/05/25(木) 15:57:16.88ID:???
「複合主キーにしろ」野郎、うぜー
0006NAME IS NULL
垢版 |
2017/05/26(金) 22:01:38.57ID:???
どれのことかよくわからんけど、たぶんバカが逆切れしてるんだろうなぁ。
0008NAME IS NULL
垢版 |
2017/08/23(水) 00:45:19.03ID:???
カッペラッパー最高
0009NAME IS NULL
垢版 |
2017/08/25(金) 05:55:35.66ID:???
かっぺラッパー最高
0010NAME IS NULL
垢版 |
2017/10/31(火) 23:10:54.44ID:???
例えば食料品の情報をテーブルに入れるとすると
キッコーマン醤油 500ml 300円 塩分8%
ネスカフェ 300g 450円
菊正宗 1.8L 1000円 アルコール度数15
こんなデータだと、商品名や単価は各データに共通ですが、それ以外は共通点が有りません。
こう言う場合どんなカラムを持つテーブルを作成すべきですか?
0011NAME IS NULL
垢版 |
2017/10/31(火) 23:55:10.31ID:???
各数値をなにかに使うならカラムを作ればいいし
単なる文字情報なら商品名に突っ込んどけばいい
0012NAME IS NULL
垢版 |
2017/11/01(水) 00:01:10.65ID:???
>>11
>各数値をなにかに使うならカラムを作ればいいし
商品名 単価 塩分 アルコール度数 、、、
みたいにするって事ですか?
>単なる文字情報なら商品名に突っ込んどけばいい
それだと例えば 15<アルコール度数 みたいな検索がやり辛いですよね?
0013NAME IS NULL
垢版 |
2017/11/01(水) 00:12:16.37ID:???
その例だけ見ると内容量も共通

アルコール度数や塩分濃度みたいな商品の詳細情報で
精度・性能ともに高いレベルのフィルタリングが必須なら
そういう分類で別途ククリだす

価格.comの検索とかで
商品カテゴリ毎に詳細検索できる項目を別途用意してるよね
あのイメージ
0014NAME IS NULL
垢版 |
2017/11/01(水) 07:07:56.85ID:???
>>13
>そういう分類で別途ククリだす

>価格.comの検索とかで
>商品カテゴリ毎に詳細検索できる項目を別途用意してるよね
>あのイメージ
まだよくわからないんですが、一つのテーブルでは無くて、複数のテーブルに分けるようなイメージですか?
そうだとしても、よく分かりません。
0015NAME IS NULL
垢版 |
2017/11/01(水) 14:40:35.09ID:???
>>14
「データベース 派生関係」でググって
0016NAME IS NULL
垢版 |
2017/11/01(水) 16:39:16.89ID:???
>>10
EAV

商品 (商品ID, 商品名, 単価)
商品属性 (商品ID, 属性名, 値, 単位)
0017NAME IS NULL
垢版 |
2017/11/01(水) 17:15:33.60ID:???
EAVはRDB的にはほぼ例外なくアンチパターン
0018NAME IS NULL
垢版 |
2017/11/01(水) 18:05:43.74ID:???
>>17
ならより良い解答してあげて
0019NAME IS NULL
垢版 |
2017/11/01(水) 18:08:06.97ID:???
jsonで入れとけばよくね?
0020NAME IS NULL
垢版 |
2017/11/01(水) 19:18:20.98ID:???
>>17
お前みたいな低能にはそうなんだろうな...
0021NAME IS NULL
垢版 |
2017/11/01(水) 20:18:17.14ID:33PRYza3
ただの入れ物にしていく時代に逆行するパターンだなw
0022NAME IS NULL
垢版 |
2017/11/01(水) 20:46:47.43ID:???
実際価格コムだとどうしてんだろうね
基本マスタとカテゴリごとのマスタに分けてる感はあるけど
0025NAME IS NULL
垢版 |
2017/11/01(水) 21:46:09.22ID:???
>>23
商品の種類だけテーブルを増やしていくんだな
買った商品一覧を詳細付きで取ってきたい時とかすげぇ面倒そうだ
0026NAME IS NULL
垢版 |
2017/11/01(水) 21:49:42.43ID:33PRYza3
>>25
そんな要件があると思えない。
0027NAME IS NULL
垢版 |
2017/11/01(水) 22:24:52.60ID:???
>>26
仮定の話なんで
ちなみにやる事になったらどんな実装で対応する?
後学のために知っておきたい
002810
垢版 |
2017/11/01(水) 22:58:04.66ID:???
皆さんありがとうございました。
>>24
この価格コムの場合、
[最安価格][売れ筋][レビュー評価][クチコミ件数][登録日][スペック情報]
のようにしておいて、
[スペック情報]の部分でパソコンやテレビなどのカテゴリーの事なる製品の
情報を保管するわけですね。
そう言うのを共通マスタと派生マスタと言うんですか?
ググって勉強してみます。
疑問点があればまた質問しますので、よろしくお願いいたします。
002924
垢版 |
2017/11/01(水) 23:50:31.77ID:???
自分で言っといてなんだが共通マスタと派生マスタという呼び方はあまり一般的ではないかも
>>22の書いてる基本マスタとカテゴリ別マスタみたいな呼び方のほうが多いかもね
とりあえずデータベースの派生関係とか継承でググれば解説してるサイト出てくるよ
0030NAME IS NULL
垢版 |
2017/11/04(土) 01:17:17.38ID:???
派生マスタってじつは見たことない
たいていカラム増やすか予備カラムにまとめてぶっこんでる
0031NAME IS NULL
垢版 |
2017/11/04(土) 14:30:10.74ID:???
>>30
>予備カラムにまとめてぶっこんでる
そんなの手抜きシステムだろ
0033NAME IS NULL
垢版 |
2017/12/13(水) 20:21:33.68ID:id+unZ0U
名簿みたいなデータではPKを何にしたら良いでしょうか?
電話番号だと電話が無い人もいるし。
0034NAME IS NULL
垢版 |
2017/12/13(水) 23:20:33.63ID:???
ほんとになにもないなら自分で連番振っとけばいいんじゃね
0035NAME IS NULL
垢版 |
2017/12/14(木) 10:20:17.61ID:???
まー名寄せというのは名前が付くくらい昔からある根深い問題だよな
0036NAME IS NULL
垢版 |
2017/12/14(木) 11:24:40.98ID:???
ハッシュを使うのはどうなん?
0037NAME IS NULL
垢版 |
2017/12/14(木) 22:30:10.07ID:???
同じことだよ。ハッシュで区別できるためには元のデータで区別できなきゃならん。
連番も似たようなもの。
0038NAME IS NULL
垢版 |
2017/12/15(金) 01:33:41.72ID:???
一般的なハッシュってのは
違う物に対して同じ値を生成するんだぜ
元のデータで区別できたとしても、ハッシュかけた段階で区別できなくなる可能性があるんだが
そんなものを主キーにするとか狂気のさただな
0039NAME IS NULL
垢版 |
2017/12/15(金) 09:28:07.27ID:???
>>38
>一般的なハッシュってのは
>違う物に対して同じ値を生成するんだぜ
そんなハッシュあるのかw
0040NAME IS NULL
垢版 |
2017/12/15(金) 11:30:27.39ID:???
まったくないとは言わんが
天文学的に小さいな
0041NAME IS NULL
垢版 |
2017/12/15(金) 12:21:10.16ID:???
つまりハッシュ値と連番は本質的に全く別物
0042NAME IS NULL
垢版 |
2017/12/15(金) 12:22:24.34ID:???
ハッシュ衝突は理屈上あるが
元データさえ違うなら心配する確率ではないね
とはいえ、PKに使うものじゃないと思うし連番で十分じゃないかな
0043NAME IS NULL
垢版 |
2017/12/15(金) 20:41:37.20ID:6QrkU8mN
いや元が同じだったら衝突とは言わんからw
0044NAME IS NULL
垢版 |
2017/12/15(金) 22:00:00.19ID:???
ハッシュが衝突しないとか言ってる奴はMD5みたいな奴しか知らんのか?
理屈上どころか衝突前提のハッシュなんていくらでもある
0045NAME IS NULL
垢版 |
2017/12/16(土) 07:09:25.86ID:E1KHECAF
>>44
おまえは何の勘違いをしとるんやw
0047NAME IS NULL
垢版 |
2017/12/16(土) 12:38:08.13ID:???
>>46
で、それ見て何を勘違いしたんやお前はw
0048NAME IS NULL
垢版 |
2017/12/16(土) 13:13:01.80ID:???
なんだ、単なるレス古事記かよ
0049NAME IS NULL
垢版 |
2017/12/16(土) 14:38:38.92ID:???
文脈やと思うけどなぁ
0050NAME IS NULL
垢版 |
2017/12/16(土) 15:28:06.06ID:???
MD5辺りを単にハッシュと書いたアホが引っ込みつかなくなってるだけでしょ
0051NAME IS NULL
垢版 |
2017/12/16(土) 16:16:42.51ID:???
というか、MD5はハッシュだし
MD5だって衝突の可能性はあるわけだが
0052NAME IS NULL
垢版 |
2017/12/16(土) 21:36:50.89ID:E1KHECAF
おいおいMD5はハッシュ関数やぞw
0053NAME IS NULL
垢版 |
2017/12/16(土) 22:34:42.89ID:???
>>52
こんなアホな突っ込み久々に見たわ w
0054NAME IS NULL
垢版 |
2017/12/16(土) 22:56:10.26ID:E1KHECAF
>>53
やっとわかったわ
お前勘違いやなくそもそも根本的に何もわかっとらんやろw
0055NAME IS NULL
垢版 |
2017/12/16(土) 23:00:47.03ID:???
友達いないんだろうな...
まあ頑張って一人て吠えてなよ w
0056NAME IS NULL
垢版 |
2017/12/16(土) 23:06:48.97ID:E1KHECAF
>>55
いやお前がもっと頑張れやw
最初の勢いはどうしたw
0057NAME IS NULL
垢版 |
2017/12/17(日) 08:05:30.02ID:???
また吠えてるよ...
技術的な話じゃなくなると勢いあるな w
0058NAME IS NULL
垢版 |
2017/12/17(日) 12:37:49.59ID:???
>>57
え?技術的な話じゃなかったのかw
お前のその深い勘違いの根っこは一体どこにあんねんw
0059NAME IS NULL
垢版 |
2017/12/17(日) 14:02:17.70ID:???
>>58
俺は技術的な話のつもりだったけど
「勘違い」としか連呼できないアホが絡んできたってだけのこと
0060NAME IS NULL
垢版 |
2017/12/17(日) 19:39:41.63ID:GmUw4YSY
>>59
しゃあないやろ勘違いをしとるんはお前なんやからw自業自得やぞw
0062NAME IS NULL
垢版 |
2017/12/19(火) 16:42:48.07ID:N2E99BBw
>>61
どや?そろそろ耳の火照りもひいた頃合いやろからお前の勘違いを全部さらけだしてみたらどうや?
間違ってるとこおしえたるでw
0063NAME IS NULL
垢版 |
2017/12/19(火) 19:29:26.17ID:???
>>62
> 間違ってるとこおしえたるでw
書いてからほざけよ w
どうせ頓珍漢なことしか書けないから引っ張ってるだけだろ?
0064NAME IS NULL
垢版 |
2017/12/19(火) 19:59:07.34ID:N2E99BBw
>>63
アホかとっくにしびれをきらしとるわw
いいから早くお前がハッシュを何だと思ってるのか書けよ
お前の勘違いしてるとこ教えてやるからw
0065NAME IS NULL
垢版 |
2017/12/19(火) 22:29:33.59ID:???
どうせハッシュ関数とハッシュ値は違うとか言い出すんだろ
文脈で判断しろよ、バーカ w
0066NAME IS NULL
垢版 |
2017/12/20(水) 08:25:59.98ID:LkqKP4ic
>>65
それはもう教えてやったやつやろw頓珍漢はお前やわw
てかそんなに恥かくの嫌やったらはじめから何も言うなやw
ホンマにカスやなお前w
0067NAME IS NULL
垢版 |
2017/12/20(水) 08:46:00.54ID:???
言い当てられて顔真っ赤やん w
0068NAME IS NULL
垢版 |
2017/12/20(水) 08:57:14.74ID:LkqKP4ic
>>67
また動揺してエセ関西弁うつっとるでw恥ずかしいのぉ〜w
0069NAME IS NULL
垢版 |
2017/12/20(水) 12:55:06.94ID:???
>>68
まだ粘着してるのかよ w
勘違いと言い張るならどこのレス見てどう勘違いしてると思ったのか書けよ
それが書けないからいつまでも勘違いを連呼するしかないんだろ w
0070NAME IS NULL
垢版 |
2017/12/20(水) 15:28:12.50ID:LkqKP4ic
>>69
お前なあwメッチャ自分の勘違いが気になっとるくせになんで素直に聞けんのやw
粘着しとるのお前やでw恥ずかしいのぉ〜w
0071NAME IS NULL
垢版 |
2017/12/20(水) 17:47:08.79ID:???
はいはい、具体的なにも指摘できないならいちいち絡んでくるなよ w
0072NAME IS NULL
垢版 |
2017/12/20(水) 18:50:24.06ID:LkqKP4ic
>>71
何かうやむやにしたいみたいやけど悔しくてレス返さんと気がすまんのやなw
てかそもそも誰もお前がスキル高い奴だなんて思っとらんからそんなに悔しがる意味もないんやけんどなw
0074NAME IS NULL
垢版 |
2017/12/20(水) 20:03:30.28ID:???
何のためにもならない罵り合いになってるので、もうやめたら?
0075NAME IS NULL
垢版 |
2017/12/20(水) 20:29:25.30ID:LkqKP4ic
>>73
まだレス返すんかwどんだけ悔しいんやw
無理してそんな煽りレスばっかしとらんと素直にハッシュについて言えばいいやんけw
教えてやるって何度も言っとるのにw
0076NAME IS NULL
垢版 |
2017/12/20(水) 21:17:35.06ID:???
>>75
>>46
煽りしかできないアホの出る幕じゃねーよ w
0077NAME IS NULL
垢版 |
2017/12/21(木) 07:29:56.41ID:m6k27wgo
>>76
おいおい何ふりだしに戻しとるんやw
やっぱり何もわかっとらんから自分の言葉で言えんやんけw
で、それみてお前どうやって衝突前提のハッシュなんて勘違いしたんやw
言ってみ?教えてやるからw盛大にバカにした後でやけどなwww
0078NAME IS NULL
垢版 |
2017/12/21(木) 08:07:26.64ID:???
当事者じゃないけど、うざいよ。

ハッシュテーブルのこといってるんじゃないの?グルーピングの用途でハッシュ関数使うって意味で
0079NAME IS NULL
垢版 |
2017/12/21(木) 10:05:36.30ID:???
データベースの用途で、グループ分けしたい時に
多対一の変換に意味があるのか?
0080NAME IS NULL
垢版 |
2017/12/21(木) 10:22:53.47ID:???
>>79
多対1じゃなくて、多対n。結合するときにないぶてきに使われるhash joinとかこの方式だよね。
0081NAME IS NULL
垢版 |
2017/12/21(木) 10:24:46.30ID:???
衝突前提じゃないハッシュは完全ハッシュとかいわれて普通はただのハッシュとは違う扱いなわけだが

いいかげん具体的な指摘なしで勘違いとしかほざけないやつはうざいわ
0082NAME IS NULL
垢版 |
2017/12/21(木) 10:49:25.14ID:o/6FHTRS
今日のお弁当にはハッシュドポテトが入っています
0083NAME IS NULL
垢版 |
2017/12/21(木) 12:54:19.84ID:???
>>77
> で、それみてお前どうやって衝突前提のハッシュなんて勘違いしたんやw
前提なしでハッシュって書いたら衝突するケースを想定するのは当たり前
そう言うことを知らなかった>>39が暴れてるだけだろ
0084NAME IS NULL
垢版 |
2017/12/21(木) 12:57:47.83ID:cIfjA39h
おやおやようやく勘違いの全貌が見えて来よったなw
後で教えたるからなw
とりあえずそれまでみんなで>>81を盛大にバカにしときw
0086NAME IS NULL
垢版 |
2017/12/21(木) 15:50:38.56ID:???
で結局33の質問に対して正解は何?
0087NAME IS NULL
垢版 |
2017/12/21(木) 19:55:49.52ID:???
何の名簿か知らんけど、会社でも社員コードってのがあるんだから>>34で良いじゃん。
何揉めてんだか
>>33はそれの何が不満なんだよ。
0088NAME IS NULL
垢版 |
2017/12/21(木) 20:28:48.83ID:???
なんだこれ。

PKを連番じゃなくてハッシュ値にすべきって散々煽ってたのか。どんな回答するのかすげー気になるわ。
0089NAME IS NULL
垢版 |
2017/12/21(木) 21:31:06.81ID:???
>>86
>>87の言う通り社員番号とかのユニークキーがあればそれを使えばいい
なんにもなければ>>34の言うように連番を振るとかyymmdd+枝番とか要件によってユニークな番号を振ればいい
とりあえずハッシュバカは無視でいい w
0090NAME IS NULL
垢版 |
2017/12/21(木) 22:13:21.18ID:m6k27wgo
>>89
お?バカ少しおとなしくなったやんけw完全ハッシュはどうしたw
0091NAME IS NULL
垢版 |
2017/12/21(木) 22:40:25.61ID:???
なんだ、ただのキチガイか。
0092NAME IS NULL
垢版 |
2017/12/21(木) 22:42:05.48ID:???
安易に連番ってのもたいていバカだけどな。
0093NAME IS NULL
垢版 |
2017/12/21(木) 22:50:31.46ID:???
適切なものがなければ、作らなくて良いと思うが
0094NAME IS NULL
垢版 |
2017/12/22(金) 00:27:00.22ID:???
>>90
完全ハッシュについて調べてこいよ w
0095NAME IS NULL
垢版 |
2017/12/22(金) 00:30:58.20ID:???
>>92
もっといい解があるなら示してみてよ

>>93
> 適切なものがなければ、作らなくて良いと思うが

> PKを何にしたら良いでしょうか?
って言ってるのにバカですか?
0096NAME IS NULL
垢版 |
2017/12/22(金) 00:48:01.41ID:???
PKを指定しなければDB側で良きに計らってくれるんじゃ?
0097NAME IS NULL
垢版 |
2017/12/22(金) 03:07:52.25ID:???
連番を良きに計らってくれる機能は多くのDBMSで実装されてるが
PKを指定しないときによきに計らってくれるDBMSなんてみたことないわ

と言っといて、ACCESSとか勝手に連番でPK作ってくれた気もするな

すくなくともRDBMSの基本理念においては、すべてのテーブルはPKを持つべしっとなってる
0098NAME IS NULL
垢版 |
2017/12/22(金) 03:28:06.91ID:???
実際プライマリーキーのないテーブルが作れるんだから
持つべしってことはないでしょ
0099NAME IS NULL
垢版 |
2017/12/22(金) 05:48:11.28ID:???
住所、氏名を複合PKにするとか
0100NAME IS NULL
垢版 |
2017/12/22(金) 07:21:44.64ID:KAIeoRcz
>>94
ええでその調子やwビビらんともう少しその勘違い晒せやへたれw
0101NAME IS NULL
垢版 |
2017/12/22(金) 08:14:52.49ID:???
>>95
例えば、レコードとして実在の個人を表現したいのに氏名しかないから同姓同名の人が
区別できない、なんてのはそもそもシステム設計の失敗。
それを単に連番振れば解決するかのように言う奴はバカだし有害。

有効な自然キーがないから人工キーを振るというなら、例えば同姓同名の二人
(ここでは便宜上AさんBさんとする)に対して、Aさんは1、Bさんは2というように
個人を特定したうえでキーを採番することが必要だし、その紐付けが維持できるような
仕組みも必要。。
■ このスレッドは過去ログ倉庫に格納されています

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