Modellierung

A

abcjk

Gast
Hallo,

ich bin mir nicht ganz sicher, wie das modelliert werden soll.

Also es geht um ein System in dem verschiedene Ressourcen ausgetauscht werden sollen.

Bei mir tritt das Problem bei der Strukturierung der Ressourcen auf.

Ressource = irgendwas das verliehen werden kann ( Buch, DVD, CD ...)

Buch = allgemeine Daten eines Buchs

Exemplar = einzelnes vorhandenes Exemplar zum ausleihen.

Ich hab mir das ganze als Vererbungshierarchie gedacht also Exemplar erbt von Buch, Buch erbt von Ressource

Felder:

Ressource: Erscheinungsjahr, Bezeichnung, Beschreibung
Buch: Autor, Fachgebiet, Verlag, ISBN, Auflage
Exemplar: E_ID, Eigentümer, verfügbar

Prinzipiell hat natürlich jede Ressource einen Eigentümer und auch jede Ressource ist verfügbar oder eben nicht, aber ich will ja einzelne Exemplare auch einzeln abspeichern können, deswegen nochmal die extra Klasse.

Ist das so sinnvoll oder sollte ich die Felder aus Exemplar doch lieber in Ressource packen?

Eine andere Überlegung ist, dass die Klassen auf Tabellen in einer Datenbank abgebildet werden sollen, wo es wiederum Sinn macht die Informationen Eigentümer und verfügbar auszulagern um Redundanzen zu vermeiden.
ISBN als Fremdschlüssel in der Exemplartabelle.

Könnte sich des bitte jemand anschauen und mir Rückmeldung geben.
 
A

abcjk

Gast
Danke für den Link

Also ich hab des jetz so verstanden, dass die Vererbung zwischen Ressource und Buch ok ist.
Zwischen Buch und Exemplar sollte ich Sie aber besser auflösen. also ein Buch Attribut in die Klasse Exemplar, weil ein Buch mehrere Exemplare haben kann.

Hab ich des richtig verstanden?
 
N

neu123123

Gast
Wie gesagt, war nur geraten. Habe die Vererbungshierarchie noch nicht ganz verstanden... Statt Vererbung könnte man auch Interfaces einführen (Java Blog Buch : 04.08 Interfaces (vs. Mehrfachvererbung) ).
Wenn alle Member aller Klassen in Datenbanksätze gelegt werden sollen, müssen alle Member übernommen werden oder?
Beschreib mal genauer, wie die Vererbung der Klassen ist oder sein soll.
 
A

abcjk

Gast
Also eine Ressource ist dazu dar, dass nur ganz allgemeine Dinge von etwas abgespeichert werden.

In meinem Bsp. Bezeichnung, Erscheinungsjahr, Beschreibung und eine RID als Primary Key, die Klasse würde ich abstract machen, weil ich ja keine allgemeine Ressource verleihen können will, sondern nur ein Buch, eine DVD etc.

Die allgemeine Klasse brauch ich, damit es mir bei der späteren Ausleihe nicht bekannt sein muss ob es ein Buch etc. ist.

Im System können mehrere Exemplare von der gleichen Sache vorhanden sein, also mehrere gleiche Bücher, die will ich aber nicht extra abspeichern sondern nur die zusätzlichen Informationen. Wenn die Ressource(Buch) gehört und ob Sie gerade verfügbar ist.
In einem Exemplar muss ich mir dann noch merken zu welcher Ressource dieses Exemplar gehört, dazu nehm ich in der Datenbank einen Fremdschlüssel und in der Klasse kann ich ein Attribut Ressource abspeichern.

Gegen ein Interface spricht meiner Meinung nach, dass ich nur Methodenrümpfe angeben kann und keine Attribute.
 
A

abcjk

Gast
Nicht die Informationen Eigentümer und verfügbar wären redundant sondern alle Informationen, die zu dem einzelnen Buch abgespeichert werden.

Als Schlüssel der Klasse Buch ist die ISBN-Nummer vorgesehen.

Ich möchte für jedes Buch die Informationen, wie Autor, Beschreibung, Fachgebiet etc. nur einmal abspeichern.

Deswegen lagere ich Eigentümer und verfügbar lieber in eine extra Tabelle Exemplar aus.
 
N

neu123123

Gast
Als Schlüssel der Klasse Buch ist die ISBN-Nummer vorgesehen.

Ich möchte für jedes Buch die Informationen, wie Autor, Beschreibung, Fachgebiet etc. nur einmal abspeichern.

Deswegen lagere ich Eigentümer und verfügbar lieber in eine extra Tabelle Exemplar aus.

Jemand anderes versteht das sich besser als ich oder aber die Beschreibung ist unzureichend ;)

Dann leg' doch in eine Tabelle unter der jeweiligen ISBN alle weiteren Daten zu Büchern ab...und in einer andern Tabelle unter eben jenen ISBNs Daten wie Eigentümer, verfügbar usw., sprich Daten, an wen Exemplare der Bücher verliehen worden sind. Hoffentlich verständnisschwierigkeitenfrei formuliert^^
 

Ähnliche Java Themen

Neue Themen


Oben