Unterschied CMP <=> ASS

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Unterschied CMP <=> ASS

Beitrag von GeneralCrime » 15.12.2011, 16:37:15

Hallo,
ich habe mir grad folgendes Tutorial durchgelesen: http://gagugaming.de/apf/tutorial-brows ... datenbank/

Dort wird auch der unterschied zwischen CMP und ASS Tabellen erklärt jedoch meines erachtens nicht genau genug.

Ich soll mir die Frage stellen ob die eine Tabelle ohne die andere existieren kann, wenn ja dann ASS wenn nein dann CMP.
Jedoch kann ich bei vielen dingen die Fragestellung einfach umdrehen und bekomme dann wiederrum eine andere Antwort.

Gibt es da noch eandere Tutorials die das genauer erklären? Auch zb welche Tabelle ich im dem Namen als erstes nennen sollte?

Vielen dank schonmal.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Unterschied CMP <=> ASS

Beitrag von Megger » 15.12.2011, 17:12:24

Ich denke, dass ist auch ein bisschen Auslegungssache!
Ich versuche es immer in einer Hierarchie zu sehen, z.B. ist ent_application die oberste Tabelle, deswegen hat diese eigentlich nur CMP Beziehungen und wird dann auch zuerst genannt.
Jedoch kann ich bei vielen dingen die Fragestellung einfach umdrehen und bekomme dann wiederrum eine andere Antwort.
Kann User ohne Application existieren -> Nein
Kann Application ohne User existieren -> Ja
=
CMP -> Application2User

Und danke für dein Feedback, ich werde versuchen das Thema in einem späteren Part nochmal aufzugreifen
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: Unterschied CMP <=> ASS

Beitrag von GeneralCrime » 15.12.2011, 18:55:57

Megger hat geschrieben: Kann User ohne Application existieren -> Nein
Kann Application ohne User existieren -> Ja
=
CMP -> Application2User
Also würde ich tehoretisch wenn ich die 2 abfrage nutzen würde folgendes erhalten:
ASS => User2Application

Hm an den gedankengang hab ich echt nicht gedacht.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Unterschied CMP <=> ASS

Beitrag von Megger » 15.12.2011, 19:14:56

Nein, ich glaube du hast mich falsch verstanden! Egal aus welcher Sicht du schaust, es bleibt CMP und Application2User

cmp_application2user
und
ass_user2application
gleichzeitig können je nach Anwendungsfall sinnvoll sein, sind es aber meistens nicht, da du durch eine der beiden Beziehungen bereits alle Informationen hast, die du benötigst. Soetwas wird dann verwendet, wenn du zum Beispiel eine Main-Application für den User definieren willst -> ass_user2mainapplication (Der User kann eine Main-Application haben, muss aber nicht) trotzdem wird er über cmp_application2user allen Applications zugeordnet, mit den er in Beziehung steht
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: Unterschied CMP <=> ASS

Beitrag von GeneralCrime » 15.12.2011, 20:21:40

Das war jetzt nur tehoretisch um das weiter zu erläutern kein anwendungsfall.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Unterschied CMP <=> ASS

Beitrag von dr.e. » 15.12.2011, 22:32:23

Ich bin mir nicht sicher, ob du deine Frage als geklärt ansiehst. Falls nicht, lass uns das nochmal an Hand eines Beispiels erläutern.

Wichtig ist hier vor allem die Datenhaltungstheorie, die die Daten und deren Beziehungen definiert (Beispiel: http://adventure-php-framework.org/Seit ... atenmodell). Hier sind den Entitäten definierte Aufgaben zugewiesen und die bestehenden Beziehungen klassifizieren diese nochmals im Detail.
Viele Grüße,
Christian

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: Unterschied CMP <=> ASS

Beitrag von GeneralCrime » 16.12.2011, 08:11:14

Also Christian bevor Du was geschrieben hast hab ichs als fast geklärt angesehen.
Leider war Dein Beitrag mehr verwirrend als hilfreich. Ich kenne den Artikel und auch das Bild muss jedoch leider gestehen das, wenn der text im Bild mir einiges erklären könnte, ich dies leider nicht lesen kann.

Naja nicht lesen ist falsch ausgedrück lesen kann ichs schon bloß von englsicch hab ich nur mein Schulenglisch udn das was ich mir durchs Programmieren selber bei bringe. Es hapert also am Verstehen.
Ich hab auch kein Beruf oder so was mir da helfen könnte da ich mir alles rein selber beigebracht habe und es als Hobby betreibe.

Hier nochmal ein Beispiel vom aktuellen Projekt.

Tabellen
ent_planet
ent_base

Fragestellung:
1. Darf ein Planet ohne Basis existieren: JA wenn keine drauf errichtet wurde. => ASS
2. Darf eine Basis ohne Planet existieren: NEIN den sie befindet sich immer auf einen Planeten. => CMP

Wie sollte nun die Beziehungstabelle heißen?
a. ass_base2planet (Frage 2 passt nicht)
b. cmp_base2planet (Frage 2 passt)
c. ass_planet2base (Frage 1 passt)
d. cmp_planet2base (Frage 1 passt nicht)

So ist bisher mein gedankengang nun frag ich mich nehme ich b oder c was könnte mir bei meiner entscheidung helfen? Oder wäre gar beides korreckt.
Ich mach mir halt an vielen stellen vieleicht zuviele gedanken und verwirre mich dadruch nur aber wenn ich mir im Kopd sagen kann das mache ich so WEIL hilft es und wird halt korreckter.

jprangenberg
Beiträge: 410
Registriert: 16.08.2010, 22:14:54

Re: Unterschied CMP <=> ASS

Beitrag von jprangenberg » 16.12.2011, 09:30:26

Hallo,

cmp_planet2base: Passt auf beide Fragen ;-) Dass wenn keine Basis auf dem Planet ist brauchst du hier in dem Fall nicht beachten. Die "cmp" sagt nur aus, dass du den Planeten nicht löschen darfst bevor du die Basis gelöscht hast.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Unterschied CMP <=> ASS

Beitrag von Megger » 16.12.2011, 11:20:25

Genauso ist es, cmp_planet2base ist sinnvoll!

CMP heißt nicht, dass bei Objekte existieren müssen, es heißt einfach nur, dass das TargetObject nicht ohne SourceObject existieren kann

Planet existiert alleine -> OK
Planet mit Base existiert -> OK
Base existiert allene -> NICHT OK
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: Unterschied CMP <=> ASS

Beitrag von GeneralCrime » 16.12.2011, 17:16:07

Danke Xe0n und Megger nun hab ich es verstanden!

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Unterschied CMP <=> ASS

Beitrag von dr.e. » 17.12.2011, 14:10:18

Gut, dann halte ich mich jetzt raus. :)
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast