MySQL ER Diagramm "Gefällt mir"

internet

Top Contributor
Hallo,
ich bin gerade dabei mir Gedanken über eine Software zu machen.
Dabei möchte ich das typische "Gefällt" mir implementieren.
Aber jetzt weiß ich nicht so genau wie das im ER Diagramm aussehen soll.
Nehmen wir an:
wir haben Kommentare, und diese können einem gefallen.
Folgende Entitäten gibt es:
- News
- Kommentar
- Gefällt mir
- User


(1) News hat (n) Kommentare
(1) User kann (n) News erstellen
(1) User kann (n) Kommentare erstellen
(1) Kommentar hat (n) Gefällt mir
(1) User hat (n) Gefällt mir

Ich glaube bis auf das das letzte müsste alles stimmen?
Wie würdet ihr das machen?
Kann mir hierbei jemand weiterhelfen?
Wäre echt super!
 
Zuletzt bearbeitet von einem Moderator:

internet

Top Contributor
Die Beziehung:
"User" <-> "Gefällt mir" ist mir noch sehr unklar.
Meiner Meinung ist das eine M-N Beziehung:
Denn 1 "User" hat n "Gefällt mir".
Aber 1 "Gefällt mir" hat n "User".

Das passt doch wie ich es oben interpretiere?
Wie kann man das vernünftig auflösen?


Zu 1 "Kommentar" gibt es n "Gefällt mir".
Zu 1 "Gefällt mir" gibt es 1 "Kommentar"
 

xehpuk

Top Contributor
Wieso sollte ein "Gefällt mir" mehrere User haben? Geht schließlich von einem einzigen User (dem lyrischen Mir :D) aus.
 
S

SlaterB

Gast
kommt drauf an wie 'Gefällt mir' realisiert ist

wenn es eine Tabelle gibt mit Einträgen a la 'gefällt Beitrag xy' dann können mehrere User auf diesen Eintrag verlinken, eben weil mehreren Usern xy gefällt

wenn es eine Tabelle gibt mit Einträgen a la 'User X gefällt' dann können mehrere Dinge auf diesen Eintrag verlinken, eben weil User X mehrere Dinge gefallen

sinnvoller ist aber gewiss eine Tabelle mit Einträgen a la 'User X gefällt XY', für jedes Vorkommnis dass irgendjemend irgendetwas gefällt gibt es einen Eintrag,
das ganze stellt eine N:M-Beziehung zwischen User und Dingen dar, die Beziehung heißt 'Gefällt mir',

'Gefällt mir' ist also keine eigene Entität sondern nur eine Zwischentabelle, ich hoffe rede einigermaßen in richtigen ER-Begriffen
 

internet

Top Contributor
Ich würde das dann folgendermaßen lösen:

Es gibt eine weitere Entität namens "user_gefällt mir".

Das sieht das so aus:

user (1) <---> (n) user_gefaellt_mir (n) <---> (1) gefaellt_mir

Die Entität hat dann folgende Attribute:
- id
- user_fk
- gefaellt_mir_fk


Die Beziehungen zu den Kommentaren sieht dann so aus:
(1) Kommentar <---> (n) gefaellt_mir


Passt das so?
 
S

SlaterB

Gast
was steht dann in der Tabelle 'gefaellt_mir'? einfach nur ein Eintrag 'gefällt mir'? das wäre keine sinnvolle Info,
wenn darin 'gefällt Beitrag xy' steht, dann wäre das eine Variante,

die bessere Alternative habe ich denke ich genannt, aber so abstrakt kann man darüber eigentlich nicht reden, klingt jetzt schon lange dämlich,
das musst du in einer Datenbank umsetzen und mit echten Datensätzen befüllen, erst dann verstehst du die Bedeutung der Konzepte
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben