質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1769閲覧

ER図作成ツールを使用してできたER図の点線の意味を知りたい

Soymilk

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

1クリップ

投稿2020/09/28 03:31

聞きたいこと

以下の図のUsersテーブルから伸びている点線の意味

ER図

イメージ説明

経緯

自作railsアプリのER図を作成すべく、graphvizとgem 'rails-erd'を使用しER図を作成したが、
上記の点線の意味を理解できず立ち止まっている状態。

実線と点線の違いはこのサイトをみてなんとなく「依存関係かどうか」によって変わることはわかったが、同一テーブル内で完結している上記の点線の意味は理解に至らなかった。

'rails-erd'のdocumentationも読んでみたがいまいちここに関する理解の助けにはならなかった。

gemへの理解というか、おそらくデータベース設計に関する知識が不足しているのかと思いますが、、、

わかる方いましたらご教示いただきたく思います。
参考として、以下にschema.rbをコピペしておきます。

rb

1ActiveRecord::Schema.define(version: 2020_07_24_062509) do 2 # These are extensions that must be enabled in order to support this database 3 enable_extension 'plpgsql' 4 5 create_table 'comments', force: :cascade do |t| 6 t.string 'content' 7 t.bigint 'user_id' 8 t.bigint 'micropost_id' 9 t.datetime 'created_at', null: false 10 t.datetime 'updated_at', null: false 11 t.index ['micropost_id'], name: 'index_comments_on_micropost_id' 12 t.index ['user_id'], name: 'index_comments_on_user_id' 13 end 14 15 create_table 'likes', force: :cascade do |t| 16 t.integer 'user_id' 17 t.integer 'micropost_id' 18 t.datetime 'created_at', null: false 19 t.datetime 'updated_at', null: false 20 t.index ['micropost_id'], name: 'index_likes_on_micropost_id' 21 t.index %w[user_id micropost_id], name: 'index_likes_on_user_id_and_micropost_id', unique: true 22 t.index ['user_id'], name: 'index_likes_on_user_id' 23 end 24 25 create_table 'microposts', force: :cascade do |t| 26 t.text 'content' 27 t.bigint 'user_id' 28 t.datetime 'created_at', null: false 29 t.datetime 'updated_at', null: false 30 t.string 'picture' 31 t.string 'address' 32 t.float 'latitude' 33 t.float 'longitude' 34 t.date 'due_on' 35 t.index %w[user_id created_at], name: 'index_microposts_on_user_id_and_created_at' 36 t.index ['user_id'], name: 'index_microposts_on_user_id' 37 end 38 39 create_table 'relationships', force: :cascade do |t| 40 t.integer 'follower_id' 41 t.integer 'followed_id' 42 t.datetime 'created_at', null: false 43 t.datetime 'updated_at', null: false 44 t.index ['followed_id'], name: 'index_relationships_on_followed_id' 45 t.index %w[follower_id followed_id], name: 'index_relationships_on_follower_id_and_followed_id', unique: true 46 t.index ['follower_id'], name: 'index_relationships_on_follower_id' 47 end 48 49 create_table 'users', force: :cascade do |t| 50 t.string 'name' 51 t.string 'email' 52 t.datetime 'created_at', null: false 53 t.datetime 'updated_at', null: false 54 t.string 'password_digest' 55 t.string 'remember_digest' 56 t.boolean 'admin', default: false 57 t.string 'introduction' 58 t.string 'picture' 59 t.index ['email'], name: 'index_users_on_email', unique: true 60 end 61 62 add_foreign_key 'comments', 'microposts' 63 add_foreign_key 'comments', 'users' 64 add_foreign_key 'microposts', 'users' 65end 66
no1knows👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2020/09/28 04:10

おそらく自己結合だと思います。(同じテーブルでの親子関係など) ですが、定義情報には見当たりませんね。
gentaro

2020/09/28 04:17

Relationshipエンティティで表現されている関連の依存関係(UserからUser)を表してるんじゃないですかね。
Soymilk

2020/09/28 04:21

確かにRelationshipはUser同士の多対多自己結合の関係を表してますね。 図をぱっと見て直感的にはわかりづらかったですが、その関係を表している点線だと解釈すれば確かに納得できますね。 助言いただきありがとうございます。
guest

回答1

0

自己解決

Relationshipで表現されているUser同士の関係を表しているものだった。

投稿2020/09/28 04:24

Soymilk

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問