<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Design - Rückwärtsbeziehungen]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich stehe gerade vor einer Design-Frage (bzw will ich jemanden diesbezüglich beraten) und wollte euch mal fragen, wie ihr das so handhabt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Es geht um Rückwärtsbeziehungen zwischen Objekten. Um mal ein Praxis-Beispiel zu nennen: In einer Schulklasse sitzen Schüler. Wenn man die Objekte &quot;Schüler&quot; und &quot;Kurs&quot; betrachtet, hat jeder Schüler x Kurse und in jedem Kurs sitzen x Schüler.<br />
Nun gibt es (mindestens) zwei Möglichkeiten:</p>
<ul>
<li>Rückwärtsbeziehung: Das Objekt Schüler hat einen Verweis auf alle besuchten Kurse. Jeder Kurs hat einen Verweis auf jeden ihn besuchenden Schüler.</li>
<li>Einseitige Beziehung: Das Objekt Schüler kennt niemanden, hat also nur Name, Vorname und evtl Tutor/Klassenlehrer. Das Objekt Kurs hat dafür einen Verweis auf alle seine Schüler.<br />
Oder andersrum, die Schüler kennen ihre Kurse, die Kurse aber ihre Schüler nicht - ersteres scheint mir aber in diesem Beispiel geeigneter.</li>
</ul>
<p>Nun steht für mich die Frage: Welches Modell? Die Verweise bleiben konstant, d.h. die Schüler bleiben in ihren Kursen.<br />
Ich persönlich habe immer bevorzugt, Rückwärts-Beziehungen zu vermeiden und möglichst viele Klassen &quot;alleinstehend&quot; zu haben. Beim implementieren der Rückwärts-Beziehungen würde aber hier kein wirklicher Nachteil entstehen, da die Beziehungen ja konstant bleiben.<br />
Wie macht ihr das? Was ratet ihr mir? Oder hängt das (wie immer) vom Anwendungsfall ab?</p>
<p>Dank und Grüße,<br />
Badestrand (&lt;- da wär ich jetzt übrigens gern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> )</p>
<p>/e: Hatte mich im Threadtitel verschrieben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
/e2: Diese beiden Edits eingefügt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187512/design-rückwärtsbeziehungen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 18:49:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187512.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Jul 2007 11:48:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 11:49:18 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich stehe gerade vor einer Design-Frage (bzw will ich jemanden diesbezüglich beraten) und wollte euch mal fragen, wie ihr das so handhabt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Es geht um Rückwärtsbeziehungen zwischen Objekten. Um mal ein Praxis-Beispiel zu nennen: In einer Schulklasse sitzen Schüler. Wenn man die Objekte &quot;Schüler&quot; und &quot;Kurs&quot; betrachtet, hat jeder Schüler x Kurse und in jedem Kurs sitzen x Schüler.<br />
Nun gibt es (mindestens) zwei Möglichkeiten:</p>
<ul>
<li>Rückwärtsbeziehung: Das Objekt Schüler hat einen Verweis auf alle besuchten Kurse. Jeder Kurs hat einen Verweis auf jeden ihn besuchenden Schüler.</li>
<li>Einseitige Beziehung: Das Objekt Schüler kennt niemanden, hat also nur Name, Vorname und evtl Tutor/Klassenlehrer. Das Objekt Kurs hat dafür einen Verweis auf alle seine Schüler.<br />
Oder andersrum, die Schüler kennen ihre Kurse, die Kurse aber ihre Schüler nicht - ersteres scheint mir aber in diesem Beispiel geeigneter.</li>
</ul>
<p>Nun steht für mich die Frage: Welches Modell? Die Verweise bleiben konstant, d.h. die Schüler bleiben in ihren Kursen.<br />
Ich persönlich habe immer bevorzugt, Rückwärts-Beziehungen zu vermeiden und möglichst viele Klassen &quot;alleinstehend&quot; zu haben. Beim implementieren der Rückwärts-Beziehungen würde aber hier kein wirklicher Nachteil entstehen, da die Beziehungen ja konstant bleiben.<br />
Wie macht ihr das? Was ratet ihr mir? Oder hängt das (wie immer) vom Anwendungsfall ab?</p>
<p>Dank und Grüße,<br />
Badestrand (&lt;- da wär ich jetzt übrigens gern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> )</p>
<p>/e: Hatte mich im Threadtitel verschrieben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
/e2: Diese beiden Edits eingefügt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329209</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 20 Jul 2007 11:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 11:54:40 GMT]]></title><description><![CDATA[<p>Es hat beides seine Vor- und Nachteile - da hängt es von der konkreten Anwendung ab, was du verwenden willst (die Zeugnisse zu schreiben geht z.B. einfacher, wenn du auch Rückwärtsbeziehungen eingebaut hast).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329213</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Jul 2007 11:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 11:57:21 GMT]]></title><description><![CDATA[<p>In einer Datenbank würd man wahrscheinlich eine klassische m:n Tabelle in Betracht ziehen.<br />
Es sei den jeder Schüler könnte nur in einem Kurs bzw. bekäme Einzeluntericht.</p>
<p>Ich teile die Sichtweise, das zumindest ein Kurs seine Schüler kennen sollte.<br />
Somit könnte der Tutor dann eine Liste von Noten an seine Schüler verteilen z.b. als Use Case.</p>
<p>Für Schüler ist die Frage, ob es einen Use Case wie &quot;Drucke Stundenplan&quot; gibt.<br />
Ohne diese Anwendungsspezifische Sichtweise kann man imho keine konkrete Lösung finden.<br />
Implementierbar sind alle 3 von dir genannten Varianten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329216</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 20 Jul 2007 11:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 11:57:39 GMT]]></title><description><![CDATA[<p>Ich persönlich würde mich einfach an das Publisher / Subscriber pattern halten.<br />
Schüler kann sich bei X Kursen anmelden/abmelden(auch wenn das nicht benötigt wird).<br />
Umgekehrt bietet der Kurs den Schülern eine An- und Abmeldemöglichkeit an.<br />
Auch wenn du sagst es bleibt statisch so kannst du dieses Muster trotzdem nutzen und hast solltest du trotzdem mal Flexibilität haben wollen alle Türen offen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329217</guid><dc:creator><![CDATA[ahnungsloser?!]]></dc:creator><pubDate>Fri, 20 Jul 2007 11:57:39 GMT</pubDate></item><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 12:09:32 GMT]]></title><description><![CDATA[<p>Cool, ihr habt mir sehr geholfen, danke euch! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Ich weiß zwar immer noch nicht, was ich nun nehme, gucke mir aber deshalb erstmal den konkreten Anwendungsfall an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329223</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 20 Jul 2007 12:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to Design - Rückwärtsbeziehungen on Fri, 20 Jul 2007 12:12:41 GMT]]></title><description><![CDATA[<p>würd mir auch angucken, wie damit gearbeitet werden soll. was ist ein kurs? ist das etwas fixes, ist es flexibel? muss buchhaltung über vergangene kurse und deren teilnehmer geführt werden, möglicherweise über vortragendenwechsel während des laufenden kurses? wenn man das alles weiss, kann man sich gedanken über ein konzept machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329226</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 20 Jul 2007 12:12:41 GMT</pubDate></item></channel></rss>