php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.09.2010, 09:06  
Benutzer
 
Registriert seit: 21.11.2009
Beiträge: 74
PHP-Kenntnisse:
Anfänger
3logy befindet sich auf einem aufstrebenden Ast
Standard Umsetzen UML Klassen - Datenbank(mySQL)

Hallo leute,

ich habe eine frage, wie kann man die folgende Klassen im MySQL Datenbank umsetzen?
siehe bild.


Danke für Hilfe!
Miniaturansicht angehängter Grafiken
umsetzen-uml-klassen-datenbank-mysql-uml.png  
3logy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.09.2010, 09:34  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 492
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Eine Tabelle pro Klasse.

Generalisierungsbeziehungen kannst du durch 1:1-Relationen modellieren. Oder du verzichtest auf eine Tabelle für HumanResource und packst die Attribute in die Tabellen der abgeleiteten Klassen.

BTW: Klassennamen sind meistens im Singular formuliert (außer es handelt sich um eine Containerklasse).
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

Geändert von mimomamu (05.09.2010 um 09:38 Uhr).
mimomamu ist offline   Mit Zitat antworten
Alt 05.09.2010, 10:02  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.672
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Wie ist denn die Assoziation Human Resource <-> Mitglied zu verstehen? "Mitglied" sehe ich anhand des Kompositums als "Mitglied eines Teams", was verbindet also z.B. einen Mitarbeiter mit mehreren Teammitgliedern?

Ich frage nur weil das eventuell etwas unglücklich modelliert ist und es anders auch einfacher als DB umzusetzen wäre. Ansonsten schließe ich mich mimomamu an, Miitarbeiter und Team sind auf jeden Fall zwei unterschiedliche Tabellen, ob HumanResource als Tabelle nötig ist hängt auch davon ab, was o.g. Assoziation darstellt.
fab ist offline   Mit Zitat antworten
Alt 06.09.2010, 10:47  
Benutzer
 
Registriert seit: 21.11.2009
Beiträge: 74
PHP-Kenntnisse:
Anfänger
3logy befindet sich auf einem aufstrebenden Ast
Standard

Okay Danke für eure Beiträge.

@fab was verbindet einen Mitarbeiter mit mehreren Teammitgliedern?
ich denke, sie können eventuell ein Team zusammengehören... so verstehe ich das.

Im DB habe ich so angelegt :
- eine Tabelle für Mitglieder.
- eine Tabelle für HumanResource - siehe Bild
Ich habe Mitarbeiter und Team in einer Tabelle gepackt!! ist das richtig so?

Danke
Miniaturansicht angehängter Grafiken
umsetzen-uml-klassen-datenbank-mysql-humanresource.jpg  
3logy ist offline   Mit Zitat antworten
Alt 06.09.2010, 12:29  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 492
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von 3logy Beitrag anzeigen
@fab was verbindet einen Mitarbeiter mit mehreren Teammitgliedern?
ich denke, sie können eventuell ein Team zusammengehören... so verstehe ich das.
Dann sollte es in deinem UML-Diagram eine Assoziation zwischen Mitarbeiter und Team geben.

Zitat:
Zitat von 3logy Beitrag anzeigen
Ich habe Mitarbeiter und Team in einer Tabelle gepackt!! ist das richtig so?
Kann man machen, da ja beide von Human Resource erben. Halte ich aber meistens für suboptimal, da du dann in der Tabelle sowohl die Attribute von Mitarbeiter als auch die von Teams abbilden musst, bei jedem Objekt aber immer ein Teil mit NULL belegt ist (weil es eben zur anderen Klasse gehört).
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden
mimomamu ist offline   Mit Zitat antworten
Alt 06.09.2010, 12:30  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.672
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Zitat:
Zitat von 3logy Beitrag anzeigen
Okay Danke für eure Beiträge.

@fab was verbindet einen Mitarbeiter mit mehreren Teammitgliedern?
ich denke, sie können eventuell ein Team zusammengehören... so verstehe ich das.
Das wäre allerdings eine (abgeleitete) Assoziation "in Team mit" zwischen Mitarbeiter und Mitglied, zusätzlich zu einer umgekehrten Assoziation von Mitglied zu Mitarbeiter, die dem abstrakten Mitglied eine konkrete Person zuordnet. Oder können bei dir Teams aus weiteren Teams bestehen? Dann würde das Modell einigermaßen Sinn ergeben.

Je nachdem, was "Mitglied" bei dir überhaupt für Attribute hat, könnte die Klasse allerdings sogar gestrichen werden, aus meiner Sicht wäre "Mitglied" nämlich lediglich die Assoziation zwischen Mitarbeiter und Team
fab ist offline   Mit Zitat antworten
Alt 07.09.2010, 12:39  
Benutzer
 
Registriert seit: 21.11.2009
Beiträge: 74
PHP-Kenntnisse:
Anfänger
3logy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Das wäre allerdings eine (abgeleitete) Assoziation "in Team mit" zwischen Mitarbeiter und Mitglied, zusätzlich zu einer umgekehrten Assoziation von Mitglied zu Mitarbeiter, die dem abstrakten Mitglied eine konkrete Person zuordnet. Oder können bei dir Teams aus weiteren Teams bestehen? Dann würde das Modell einigermaßen Sinn ergeben.

Je nachdem, was "Mitglied" bei dir überhaupt für Attribute hat, könnte die Klasse allerdings sogar gestrichen werden, aus meiner Sicht wäre "Mitglied" nämlich lediglich die Assoziation zwischen Mitarbeiter und Team
Ja das stimmt bei mir bestehen Teams aus weiteren Teams!! Deswegen ist meine Meinung nach, die Klasse "Mitglied" berechtigt, da kann man die Mitarbeiter-Team und Team-Team verbindungen nachvollziehen. Wie ich es auf bild gezeigt habe.
3logy ist offline   Mit Zitat antworten
Alt 07.09.2010, 12:56  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 492
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von 3logy Beitrag anzeigen
... bei mir bestehen Teams aus weiteren Teams!...
Composite-Pattern.
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden
mimomamu ist offline   Mit Zitat antworten
Alt 07.09.2010, 13:00  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.672
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Gut, das war das was ich wissen wollte, war für mich nicht direkt ersichtlich.

Ich würde trotzdem eine Tabelle für Mitarbeiter und eine für Team erstellen und dann vielleicht so etwas:

Mitglied:
id|team_id|...

Mitarbeiter_als_Mitglied:
mitarbeiter_id|mitglied_id

Team_als_Mitglied
team_id|mitglied_id

Zitat:
Composite-Pattern.
Klar aber gibt es das auch für relationale Datenbanken?
fab ist offline   Mit Zitat antworten
Alt 07.09.2010, 13:16  
Benutzer
 
Registriert seit: 21.11.2009
Beiträge: 74
PHP-Kenntnisse:
Anfänger
3logy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Gut, das war das was ich wissen wollte, war für mich nicht direkt ersichtlich.

Ich würde trotzdem eine Tabelle für Mitarbeiter und eine für Team erstellen und dann vielleicht so etwas:

Mitglied:
id|team_id|...

Mitarbeiter_als_Mitglied:
mitarbeiter_id|mitglied_id

Team_als_Mitglied
team_id|mitglied_id
Kannst du mir bitte erklären warum du so viele Tabellen brauchst?
Ist es so optimal und normalisiert? ich meine, man könnte doch Mitarbeiter_als_mitglied und Team_als_mitglied zusammenpacken...oder?

"Composite-Pattern" ist das sowas wie das "Ordner-datei" struktur?
3logy ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable in allen Klassen verfügbar/änderbar? BartTheDevil89 PHP Tipps 2010 9 06.06.2010 11:11
[Erledigt] Wie Objekte von Klassen zusammenführen total2121 PHP Tipps 2009 6 19.10.2009 14:22
Mehrere Klassen verknüpfen BlackJack01090 Software-Design 9 26.05.2009 20:43
Modulare Programmierung - Klassen nur in Klassen Gültig iXtends Software-Design 6 26.05.2009 15:37
[Erledigt] Klassen zur Laufzeit erzeugen theraipper PHP-Fortgeschrittene 16 10.10.2008 23:52
Klassen sinnvoll nutzen, Grundlegendes nikosch PHP-Fortgeschrittene 1 30.09.2006 22:08
Fragen zu Klassen Kein Genie PHP Tipps 2006 3 08.05.2006 11:25
Sessions an includete Klassen übergeben Dr_Enquinox PHP Tipps 2006 4 29.04.2006 10:25
mit html klassen definieren und in php ausgeben PHP-Fortgeschrittene 4 16.01.2006 10:31
[Erledigt] PHP 4 - Klassen? patr1k PHP Tipps 2005 10 18.11.2005 10:48
Klassen Fatal Error PHP Tipps 2005-2 3 19.10.2005 15:31
klassen und methoden anderer klassen in methoden.... PHP Tipps 2005 17 25.05.2005 09:46
Klassen PHP Tipps 2005 5 09.04.2005 18:51
Klassen in Klassen verwenden PHP Tipps 2005 5 23.02.2005 14:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
uml datenbank, datenbank uml, datenbanken uml, uml mysql, uml datenbanken, mysql uml, uml umsetzen, assoziierte klassen, uml tabelle, mysql to uml, uml to mysql, eine tabelle pro klasse, composite pattern mysql, assoziation datenbank, klassen von datenbanken, uml in relationale tabelle umsetzen beispiel, assoziierte klassen in php, uml php datenbanken, uml datenbank klasse, mysql relationen uml

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum