E-R図ってツール使ってると簡単に関連したテーブルに
リレーション貼れるんだけど、なんでもかんでも貼りまくった
E-R図って見にくいだけだと思いませんか?
O/Rマッパーであの図のとおりにリレーション定義していくと
モデルの関連情報のせいで1つの大きな塊になってしまって、
アプリ作る時にモジュール化しにくいだけなんだけど。
親子関連みたいに強く結びついているものは
リレーションはっていいけど、そうではない部分は
あえてリレーションはらないで、小さくモジュール化
したほうがいいと思うのだけれど、そんな考え方って無い?
探検
【ER図】なんでもリレーション貼るの害悪じゃないかな? [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/06/18(木) 10:53:03.83ID:Ln+NExBw2015/06/19(金) 13:43:35.74ID:p5SNpdEu
2015/06/19(金) 13:45:59.92ID:p5SNpdEu
おっと、揚げ足を取られるとこだった
Work PressじゃなくてWordPressな
このスレの話題で利益を得るとしたら、難の知識もないお前しかいない
Work PressじゃなくてWordPressな
このスレの話題で利益を得るとしたら、難の知識もないお前しかいない
2015/06/19(金) 13:56:26.22ID:p5SNpdEu
めんどくさいが、『理論から学ぶデータベース実践入門』から引用してやるわ
> リレーションとはいったい何でしょうか? 最もよくある間違いは、「テーブル同士の関係」というものです。
> 繰り返しになりますが、テーブル同士の関係を(ER図などを使って)デザインするのが、リレーショナル
> モデルだと、誤解している方をけっこう見かけます。もし、あなたがそのような誤解をしているのだとしたら、
> 今すぐ考えを改めてください。
どう改めれば良いかは、『理論から学ぶデータベース実践入門』読め
話を続けたいなら、『理論から学ぶデータベース実践入門』に書かれてる程度のことがわかってからにしろ
> リレーションとはいったい何でしょうか? 最もよくある間違いは、「テーブル同士の関係」というものです。
> 繰り返しになりますが、テーブル同士の関係を(ER図などを使って)デザインするのが、リレーショナル
> モデルだと、誤解している方をけっこう見かけます。もし、あなたがそのような誤解をしているのだとしたら、
> 今すぐ考えを改めてください。
どう改めれば良いかは、『理論から学ぶデータベース実践入門』読め
話を続けたいなら、『理論から学ぶデータベース実践入門』に書かれてる程度のことがわかってからにしろ
2015/06/19(金) 14:44:03.53ID:X+CwqWOz
それはわかったので、>>4に対してレスしてください。
全く関係ない話じゃないですか。
全く関係ない話じゃないですか。
2015/06/19(金) 16:19:39.63ID:p5SNpdEu
2015/06/19(金) 17:03:12.42ID:nXV/2Pbs
>>12
指摘されている通りだけど
噛み砕けば、モジュールを表とペアにする必要はない
表間の関係を図にしたのがER
抽出条件を整理してインデックスやマテリアライズドビューを先に作るかー、抽出条件はこうだからお前らSELECT書くときは必ずこの抽出条件つけろ
とするツール
関係図はモジュール分割には役立たん
指摘されている通りだけど
噛み砕けば、モジュールを表とペアにする必要はない
表間の関係を図にしたのがER
抽出条件を整理してインデックスやマテリアライズドビューを先に作るかー、抽出条件はこうだからお前らSELECT書くときは必ずこの抽出条件つけろ
とするツール
関係図はモジュール分割には役立たん
2015/06/19(金) 19:28:28.55ID:X+CwqWOz
>>19
関係無いですよw
だってあなたの質問にデータベース出てきてないんですから。
話をまとめましょう。
O/Rマッパーを使う時リレーションの設定をします。
(例えばrailsのActiveRecordでいいですよ。)
ActiveRecordがよくわからない人は、こちらを参照してください。
http://magazine.rubyist.net/?0006-RubyOnRails
こことかですね。
> has_many は1対多の関連付けに用います。 普通はふたつのテーブルを使いますが、
> Topic は Reply と共に Single table inheritance を構成します。
つまりO/Rマッパーの定義をすると、
モデル同士が相互に依存してしまうわけです。
ですが相互に依存させたくないのです。
関係無いですよw
だってあなたの質問にデータベース出てきてないんですから。
話をまとめましょう。
O/Rマッパーを使う時リレーションの設定をします。
(例えばrailsのActiveRecordでいいですよ。)
ActiveRecordがよくわからない人は、こちらを参照してください。
http://magazine.rubyist.net/?0006-RubyOnRails
こことかですね。
> has_many は1対多の関連付けに用います。 普通はふたつのテーブルを使いますが、
> Topic は Reply と共に Single table inheritance を構成します。
つまりO/Rマッパーの定義をすると、
モデル同士が相互に依存してしまうわけです。
ですが相互に依存させたくないのです。
2015/06/19(金) 19:33:17.22ID:X+CwqWOz
もう一つ、Pythonのdjangoの例を見つけましたが。
https://docs.djangoproject.com/en/1.8/topics/db/models/
あれ? Relationships って書いてますよ?
そんなにリレーションとリレーションシップの違いって
重要だったんですかね?
https://docs.djangoproject.com/en/1.8/topics/db/models/
あれ? Relationships って書いてますよ?
そんなにリレーションとリレーションシップの違いって
重要だったんですかね?
2015/06/19(金) 19:37:22.62ID:X+CwqWOz
http://www.atmarkit.co.jp/ait/articles/0409/22/news094.html
こちらは、Javaのhibernateですね。依存しちゃってます。
package sample.entity;
import java.io.Serializable;
public class Member implements Serializable {
private Integer no;
private String name;
private Integer groupno;
private WorkGroup workGroup; //リレーション先の型で定義しているところに注目
public Member() { }
public Integer getGroupno() { return groupno; }
public String getName() { return name; }
public Integer getNo() { return no; }
public WorkGroup getWorkGroup() { return workGroup; }
public void setGroupno(Integer integer) {groupno = integer; }
public void setName(String string) { name = string; }
public void setNo(Integer integer) { no = integer; }
public void setWorkGroup(WorkGroup group) {workGroup = group;}
}
こちらは、Javaのhibernateですね。依存しちゃってます。
package sample.entity;
import java.io.Serializable;
public class Member implements Serializable {
private Integer no;
private String name;
private Integer groupno;
private WorkGroup workGroup; //リレーション先の型で定義しているところに注目
public Member() { }
public Integer getGroupno() { return groupno; }
public String getName() { return name; }
public Integer getNo() { return no; }
public WorkGroup getWorkGroup() { return workGroup; }
public void setGroupno(Integer integer) {groupno = integer; }
public void setName(String string) { name = string; }
public void setNo(Integer integer) { no = integer; }
public void setWorkGroup(WorkGroup group) {workGroup = group;}
}
2015/06/22(月) 10:45:37.16ID:/sLPnrl8
ORMを使うと、リレーションが発生するのが嫌なら、ORM使わないで自分で全部実装すればいいんじゃないかな。
ORMで一切リレーションを使わないというのはできないんでしょ?
ORMで一切リレーションを使わないというのはできないんでしょ?
2015/06/22(月) 10:47:18.71ID:/sLPnrl8
あと、仮に
> あえてリレーションはらないで、小さくモジュール化
こうした場合、JOIN部分はどうやって実現するつもりなのかな?
結果データをループしながら、自分で探すの?
> あえてリレーションはらないで、小さくモジュール化
こうした場合、JOIN部分はどうやって実現するつもりなのかな?
結果データをループしながら、自分で探すの?
2015/06/26(金) 01:27:24.31ID:AHKQV2Vb
前提として自分は、ドメイン駆動的に純粋な(ORMに依存しない)モデルを、
ARとかとは別に作るべきだと思ってる。
その上での意見だけど、
ビジネスロジック的に(またはその他の理由で)モジュール分割すべきなのは前者であって、
後者は一枚岩でいいんじゃないかな?(DBとの接点という役割の1モジュールとして考える)
ARとかとは別に作るべきだと思ってる。
その上での意見だけど、
ビジネスロジック的に(またはその他の理由で)モジュール分割すべきなのは前者であって、
後者は一枚岩でいいんじゃないかな?(DBとの接点という役割の1モジュールとして考える)
27デフォルトの名無しさん
2016/03/21(月) 00:48:13.76ID:KQkKBKcO28デフォルトの名無しさん
2018/05/23(水) 22:27:36.91ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
0B8SO
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
0B8SO
29デフォルトの名無しさん
2018/07/04(水) 23:38:05.14ID:gFgZc5FG K8G
30デフォルトの名無しさん
2019/04/16(火) 16:06:34.30ID:tgjWjIiY 元々リレーショナルデータベースは
それが登場する以前に行われていたcobolみたいなやりかただと
データの整合性を維持する為に各所のプログラムでやる必要が有って
開発者が沢山居たり
更新系があちこちに有ったりすると
何処かで間違っている場合に
整合性が取れなくなったデータが存在したりしてしまうのを
集中化して
管理する
その為に作られた物
だから
relational management(管理) database
って言う
その他には
マスターテーブル系をメモリーに固定化する事によって
i/oの頻度を下げるとか
そんな感じ
それが登場する以前に行われていたcobolみたいなやりかただと
データの整合性を維持する為に各所のプログラムでやる必要が有って
開発者が沢山居たり
更新系があちこちに有ったりすると
何処かで間違っている場合に
整合性が取れなくなったデータが存在したりしてしまうのを
集中化して
管理する
その為に作られた物
だから
relational management(管理) database
って言う
その他には
マスターテーブル系をメモリーに固定化する事によって
i/oの頻度を下げるとか
そんな感じ
31デフォルトの名無しさん
2019/04/16(火) 20:15:54.93ID:HBMtfB5Q >>27
このバカは何言ってんだ?
このバカは何言ってんだ?
32デフォルトの名無しさん
2019/04/16(火) 20:16:51.37ID:HBMtfB5Q■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- インド料理屋に抗議に行った
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
- 熱はないけど倦怠感があるんやが
- 若いころパパカツしてカリカリ女になって適当な男と結婚したほうが大体は幸せになるというじじつ
- 年末年始にしか会わない親戚
