-
19. 12. 2011, 00:38 #1
Objektorientierte Datenbanken
Hallo,
ich hoffe ich bin hier im richtigen Unterforum.
Folgendes Problem: Aktuell müssen wir in der Uni in einer Übung eine Objektorientierte Datenbank entwerfen.
Diese kann und soll möglichst simpel sein, allerdings muss sie mindestens 3in Verbindung stehende Entitätstypen beinhalten und komplex genug sein um ein Attribut einer Klasse als Filterkriterium einer anderen Klasse benutzen zu können.
Soweit so gut - ich habe nur absolut keine Ahnung wie ich da ein Beispiel für basteln soll. Versteht mich nicht falsch, ich möchte hier keine fertig programmierte Datenbank oder so etwas, ich möchte eine Grundlage mit der ich arbeiten kann.
Ich habe keine Ahnung wie so ein grundlegender Aufbau aussehen muss, der diese Anforderungen erfüllt.
Ich bin mir nicht sicher ob meine Frage genügend formuliert ist, hoffe jedoch das jemand mein Problem versteht und mir eventuell helfen kann.
-
19. 12. 2011, 13:21 #2
Re: Objektorientierte Datenbanken
Was verstehst Du unter einer objektorientierten Datenbank?Aktuell müssen wir in der Uni in einer Übung eine Objektorientierte Datenbank entwerfen.
Wenn ich das richtig sehe geht das ja auch mit einem relationalen Datenbanksystem.Diese kann und soll möglichst simpel sein, allerdings muss sie mindestens 3in Verbindung stehende Entitätstypen beinhalten und komplex genug sein um ein Attribut einer Klasse als Filterkriterium einer anderen Klasse benutzen zu können.
-
19. 12. 2011, 16:50 #3
Re: Objektorientierte Datenbanken
Ja, geht es auch - es soll nur nicht mit einem herkömmlichen relationalen System sondern mit einem Objektorientierten gemacht werden.
Darunter verstehe ich z.B. diese Beschreibung hier von Wikipedia (die mir leider bei der eigentlichen Ausführung nicht weiterhilft):
http://de.wikipedia.org/wiki/Objektdatenbank
-
19. 12. 2011, 18:23 #4
Re: Objektorientierte Datenbanken
Falls die Aufgabe praktisch erledigt werden muss, solltest Du Dich erstmal für ein konkretes System entscheiden. Dann installieren, die Doku durchlesen und spielen.
Was habt Ihr denn in der Vorlesung darüber behandelt? Gibt es da vielleicht schon ein System das vorgeschlagen wurde?
-
19. 12. 2011, 19:45 #5
Re: Objektorientierte Datenbanken
Nein, eben nicht. Es geht auch nur um eine theoretisch ausarbeitung, keine praktische.
Ich habe nur leider absolut keinen Ansatz für das System - Das ist eben mein Problem :/
-
20. 12. 2011, 04:35 #6
Re: Objektorientierte Datenbanken
Ich würde Dir trotzdem vorschlagen das praktisch durch zu ziehen, um Dir dann Anhand dieser Erfahrung zu überlegen wie man es theoretisch aufschreibt.
Wenn Du es wirklich nicht konkret machen sollst, ist es ja eigentlich nur eine Wischi Waschi Aufgabe auf einem Stück Papier (was dann auch Deine momentane Ratlosigkeit erklärt
). Ich denke es ist wirklich besser das Anhand eines konkreten DBM Systems zu zeigen.
Vorsicht, möglicherweise ist das jetzt Mist aber ich versuche es trotzdem mal:
Soweit ich mich erinnern kann bilden einige objektorientierte Datenbanken die Objekte genau wieder über Tabellen ab. Die Idee ist es eigentlich nur, dass Du dort konkret Objekte auslesen/speichern kannst. Das kann zB mit einem zusätzlichen Layer über einer stink normalen Datenbank realisiert werden. Ein Objekt könnte man auch als eine Zeile einer normalen Tabelle interpretieren. Komplexere Attribute in einem Objekt kann man so aber nicht einfach abbilden, da müsste man sich was einfallen lassen (eventuelle neue Tabellen mit jeweiligen Referenzen).
-
20. 12. 2011, 08:50 #7
Re: Objektorientierte Datenbanken
Ich habe zugegebenermassen noch nie mit einer objektorientierten Datenbank gearbeitet, da man die offenbar sehr viel öfter in der Theorie als in der Praxis trifft.
Ein Beispiel für ein einfaches Schema inklusive ein wenig Erklärung wäre:
http://oszhdl.be.schule.de/gymnasium.../d-modelle.htm
mfG
-
20. 12. 2011, 22:35 #8Mitglied
- Registriert seit
- Apr 2010
- Beiträge
- 585
Re: Objektorientierte Datenbanken
Das ist theoretisch nicht so, aber praktisch würde man es so umsetzen. Hibernate (keine DB) greift zum Beispiel auf ein RDBMS zu und gewährt einen OO-Zugriff. Da das zwei Komponenten sind, zählt das nicht als OODB. Man kann damit argumentieren, dass es "ein System" ist, aber wenn man es ganz streng unter die Lupe nimmt, dann müsste das so abgespeichert werden:Soweit ich mich erinnern kann bilden einige objektorientierte Datenbanken die Objekte genau wieder über Tabellen ab. Die Idee ist es eigentlich nur, dass Du dort konkret Objekte auslesen/speichern kannst. Das kann zB mit einem zusätzlichen Layer über einer stink normalen Datenbank realisiert werden. Ein Objekt könnte man auch als eine Zeile einer normalen Tabelle interpretieren. Komplexere Attribute in einem Objekt kann man so aber nicht einfach abbilden, da müsste man sich was einfallen lassen (eventuelle neue Tabellen mit jeweiligen Referenzen).
Tabellen sind Klassen.
Zeilen sind Objekte. (Brauchen keine eindeutige ID, da sie durch die Referenz gegeben ist -> Was wiederum eine eindeutige ID ist ... Bringt beim Filtern nichts)
Die Attribute sind gleich, nur bei der OODB kann man nur mit get/set darauf zugreifen
Beziehungen: Verweis auf eine andere Zeile = Verweis auf ein Objekt
(PS: Es wird in der Praxis alles nicht so gemacht, da das nunmal viel zu viel Systemleistung und Speicher beansprucht.)
Steht aber bei den beiden Links dabei.
-
21. 12. 2011, 12:39 #9Mitglied
- Registriert seit
- Oct 2011
- Beiträge
- 92
Re: Objektorientierte Datenbanken
Mach doch mal in irgendeinem DB System drei Tabellen.
Etwa
Kunde
Produkt
Verkauf
Das wären dann deine 3 Klassen von Objekten
Dann bilde doch Kunde kauft Produkt in deiner Datenbank ab.
So, dann schreib die Objekte einfach als code.
Das Objekt Verkauf enthält die Fremdschlüssel/attribute aus Kunde und Produkt.
Das ist dann eine n:m relation.
Ein Produkt wird von versch. Kunde gekauft und
Ein Kunde kauft versch. Produkte.
Beim Erzeugen eines kunden
etwa
var kunde1 = new kunde(id)
erzeugst du in deiner Klasse alle objekte verkäufe die die kundenid beinhalten mit verkäufe->set_kundenid()Geändert von r4wi (21. 12. 2011 um 12:56 Uhr)
-
23. 12. 2011, 09:32 #10
Re: Objektorientierte Datenbanken
Hallo Ryu
hier ist ein Link, der Dir u.U. weiterhilft: http://de.wikipedia.org/wiki/Object-...dance_mismatch
-


Zitieren
mehr lesen...







Resident Evil 6 erscheint in...
Heute, 15:21 in gulli:news