Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。1,555件5日記的なiOSアプリを作っている初心者です。現在ローカルデータベース(RealmSwift)の設計を行っています。日記データそれぞれにつけることができるタグ機能を実装したいと考え、やり方を検索し、http://colo-ri.jp/develop/2012/02/tag-database-schema-methods.html上記のサイトにあったToxi法を使用しようと考えました。次に、モデルを以下のように作成しました。}}ここから、おそらく3つのテーブルのリレーションを定義しなくてはならないのだと思うのですが、どのようにリレーションを繋げばよいのか?また、実際にデータを追加するときに,3つのテーブルにどのように追加するのか?表示するときのタグの付け方、タグから検索するときの実装などがわかりません。タグ機能実装のデータベースの設計や考え方、やり方を教えてください。丁寧に教えていただき、ありがとうございました。おかげさまで次に進むことができます。票2RealmはMySQLのようなリレーショナルデータベースではなく、どちらかというオブジェクトデータベースに近いので、あまりリレーショナルデータベースのような設計を適用しようとするとかえって使いにくくなります。Realmの場合は、スキーマの定義で関連を表現することができるのと、関連を取得するコストは低く、使い方もプロパティにアクセスするのと同様の方法で関連を辿ることができるので、あまり凝った構造にせず、表示に必要なデータ構造をそのまま表現するのがいいです。モデル定義なので、スキーマの定義は最初はNoteとTagだけで十分だと思います。各NoteにTagが複数つけることができるので、NoteはTagの関連としてtagsというプロパティを持ちます。構造はScuttle法に似たものになります。Realmは逆方向の参照を定義することができ、これを使うと、あるTagが付いているNoteを取得することが簡単にできるようになって便利なのでそれも定義します。いうことでモデルは下記のようになります。変更点Notedatas_tagを削除しました名前をNoteとTagに変更しましたNoteにtagsプロパティを追加しましたTagにnotesプロパティを追加しました以下、このモデルを使って説明します。参考サイトにあるようなタグを4つ追加します。realm.add(tag4)}ノートにタグを付けるのは下記のようになります。note1にtag1を付けるのはnote1.tags.append(tag1)となります。タグは複数付けることができます。"HTML"のタグが付いているノートを取得する場合は、下記のようにします。"HTML")またタグのインスタンスがあるなら、そこからそのタグが付いているNoteを逆方向の関連を辿って取得することができます。2のノート)が取得されます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。