Autor Thema: Datenbankmodell Lotus Notes?  (Gelesen 8924 mal)

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Datenbankmodell Lotus Notes?
« am: 19.06.07 - 10:55:11 »
Ich habe morgen meine Abschlussprüfung als Fachinformatiker Anwendungsentwicklung bzw. meine Präsentation vor der IHK und wollte wissen um was für ein Datenbankmodell es sich bei Lotus Notes handelt! Also es ist eine Verteilte Datenbank, ist es nicht auch Objektorientiert oder Relational? Habt ihr da eine Idee?

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datenbankmodell Lotus Notes?
« Antwort #2 am: 19.06.07 - 11:01:08 »
Oder hier

Ääääh morgen?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #3 am: 19.06.07 - 11:13:07 »
Danke für die Antworten!

Ja ich hab morgen Prüfung!

und den Wiki Artikel hatte ich schon gelesen.. daher hab ich das auch mit der verteilten Datenbank.. was nach meiner Auffassung auf die Möglichkeiten der Replikbildung zurückzuführen ist.

Der Threat ist auch interessant gibt mir aber keinen genauen Aufschluss.... hierarchisch kommt meiner Meinung nach nahe dran ist aber streng genommen nicht ganz richtig... da man auch Hauptdokumente verknüpfen kann. Aber... es gibt doch ein Klassenmodell in Notes, heisst das nicht das Notes auch objektorientiert ist?

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #4 am: 19.06.07 - 11:13:31 »
@Gogun_Beokz

Ab wieviel Uhr müssen wir Daumendrücken?
Von hier schon mal alles Gute, ruhige Nerven und viel Erfolg

wünscht Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #5 am: 19.06.07 - 11:15:22 »
Halb 9 :-) Danke!

Offline Manfred.Gipp

  • Aktives Mitglied
  • ***
  • Beiträge: 152
  • Geschlecht: Männlich
  • No ned hudle... ;-)
    • Stadtverwaltung Heidenheim
Re: Datenbankmodell Lotus Notes?
« Antwort #6 am: 19.06.07 - 11:49:51 »
Genau das ist es:
Objektorientiert.

Jedes Dokument wird als Objekt abgespeichert und kann entsprechend referenziert werden.
Ob nun hierarchisch oder anders, das hängt dann von der Programmierung ab.

Das Stichwort "Objektorientiert" trifft das Datenbankmodell von Notes ganz genau.

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #7 am: 19.06.07 - 12:22:14 »
Ja aber sobald das Dokument gespeichert ist, verliert es den Bezug zum Objekt! Jedes Dokument ist ja vergleichbar mit einer Tabelle mit einer Zeile... die Dokumente untereinander haben keine Verknüpfung wenn man Sie nicht manuell über "$Ref" oder ähnliche Variablen verknüpft.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datenbankmodell Lotus Notes?
« Antwort #8 am: 19.06.07 - 12:24:53 »
Notes ist eine hierarchische Datenbank ähnlich wie IMS oder XML-Datenbanken.
Notes kennt keine Vererbung für Dokumente.
Notes Dokumente sind auch nicht ineinander verschachtelt, wie das in Objektdatenbanken der Fall ist.
Dokumente sind eben keine Objekte.
In Objektdatenbank ist eben genau nicht unbedingt jedes Objekt von aussen direkt referenzierbar. Wenn es keine eigene Identität hat nämlich nicht (Kappselung).
Beziehungen werden durch spezielle Felder (z.B. $Ref) hergestellt.
Methoden sind nicht eindeutig an das Dokument, sondern über das form Feld gebunden. Das heisst eigentlich sind QuerySave und so was keine Methoden im OO-Sinne.
Intern werden Notes-Dokumente in einer Baumstruktur gehalten.

Datenbankmodelle existieren nebeneinander. Für manche Aufgaben ist das eine besser, für andere das andere.
Ich würde das Datenbankmodell von Lotus Notes als hierarchisch, weil auf Baum-Datenstrukturen basiert definieren. Dabei sind durch verschiedene Query-Methoden alle Dokumente eindeutig referenzierbar. Das ist übrigens mit XQuery und XPath auch für XML-Datenbanken möglich und die gelten auch als hierarchisch.

 
« Letzte Änderung: 19.06.07 - 12:27:33 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datenbankmodell Lotus Notes?
« Antwort #9 am: 19.06.07 - 13:08:02 »
Ich halte das für eine ziemlich "offene" Frage. Also keine "geschlossene" Frage, bei der eine eindeutige Definition als Antwort erwartet wird.
Ich würd mir aus den recht brauchbaren Angaben aus Wikipedia Definitionen für die entsprechenden Datenbanktypen zurechtlegen die erst bei der Prüfung darlegen und dann darauf eine Argumentation aufbauen.
Das Datenbankmodell von Lotus Notes ist so wenig objekt-orientiert wie relational. Wie vieles haben Objekt-Orientierte Datenbanken in der Small-Talk Welt ihren Ursprung genommen und da soll das sehr gut funktioniert haben. Ansonsten konnten sie sich aber kaum gegen Relationale Datenbanken durchsetzen. Zur Zeit erzeugt db4o ein bischen Interesse, aber eher in Randbereichen und die db4o marketeers behaupten auch gar nicht wie die OODBMS Marketeers in den 90ern, dass sie einmal RDBMS voll ablösen werden.
In OODBMS kannst du Objektgraphen oder Objekte aus OO-Sprachen wie C++, Java, Vb.NET, Smalltalk, Ruby etc. direkt reinspeichern. Inklusive der Methoden und Vererbungsbeziehungen. Notes Dokumente haben weder Methoden noch Vererbungsbeziehungen.
Interessanterweise findet sich im neuesten DB2-Material auch deutlich weniger ein Hinweis auf objektrelational als in der Vorgängerversion. In der Marketingwert hat eine deutliche Entwertung des Begriffs Objekt-Orientiertes Datenbank  Management System stattgefunden.

Ein bischen am Rande, aber ich finds schon ziemlich interessant, was mit dem mengen-basierten Modell von RDBMS möglich ist. Hier hat user ein paar stockposition und Bargeld (money). Man kann nun per query sehr schnell den Wert dieser Stockpositions und seinen Bargeldbestand zusammenaddieren.
Code
SELECT "user".id as userId, SUM(stock.price * stockposition.amount) + SUM(DISTINCT "user".money) as valueStockpositions from stock, "user", stockposition where stockposition.iduser="user".id and stock.id=stockposition.idStock group by userId
« Letzte Änderung: 19.06.07 - 13:18:04 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #10 am: 19.06.07 - 13:16:45 »
Axel Danke für deine ausführliche Antwort!

Aber was ich noch nicht ganz nachvollziehe ist deine Aussage.

"Ich würde das Datenbankmodell von Lotus Notes als hierarchisch, weil auf Baum-Datenstrukturen basiert definieren."

Wo ist Lotus Notes, denn auf einer Baum-Datenstruktur basierend? Die Dokumente sind doch alle auf der gleichen Ebene....oder meinst du das Dokument als Ausgangspunkt und darunter die Variablen (Felder).... oder so

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datenbankmodell Lotus Notes?
« Antwort #11 am: 19.06.07 - 13:30:39 »
Zunächst hat jede Notes-Datenbank schon mal die Datenbank als einen Einstiegspunkt. Geb zu, dass das bei RDBMS irgendwie genauso ist.

Ich kann das jetzt nicht belegen, aber ich meine, irgendwo gelesen zu haben, dass das Datenbankmodell von Lotus Notes auf der informatischen Datenstruktur B-Tree basiert.
Manchmal erhält man ja auch die Fehlermeldung "B-Tree structure is invalid".
Einen Hinweis darauf findet sich auch bei Damien Katz, dessen couchDB stark von Lotus Notes inspiriert ist (http://damienkatz.net/2006/12/couchdb_technic_1.html)
Zu B-Tree auch: http://en.wikipedia.org/wiki/B-tree
Bedenke, dass auch alle Designelemente in Notes Dokumente sind.

Baumstruktur heisst ja bildlich gesprochen auch oft Buschstruktur.
Database
-Views
  viewA
  viewB
- Forms
  formA
  formB
- Agents
  agentA
  agentB
  agentC
- Document
  docA
    itemA
    itemB
  docB
undsoweiter.


« Letzte Änderung: 19.06.07 - 13:34:05 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #12 am: 19.06.07 - 13:40:48 »
Das hört sich nachvollziehbar an. Ich hatte irgentwie den Flo im Kopf das nur die Dokumente in der Datenbank gespeichert werden und damit auch nur von diesen das Datenbankmodell abgeleitet werden kann. Aber die Designelemente werden ja nicht im DBMS gespeichert, sondern auch in der Datenbank.

Aber ist es durch die Replikenbildung auch zusätzlich auch eine verteile Datenbank?

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datenbankmodell Lotus Notes?
« Antwort #13 am: 19.06.07 - 13:54:46 »
Ja. Das man kann sagen, dass es von anfang an als verteilte und lock-lose Datenbank konzipiert war. Locks spielen in RDBMS eine wichtige Rolle für die dort sehr herausgearbeiten Möglichkeiten für Transaktionen, sind aber im Umgang recht komplex. 
Die Struktur der Dokumente ist deutlich flexibler als in Relationalen Datenbank. Man kann einem Dokument jederzeit neue Felder hinzufügen, ohne dass dies in einem Datenbank-Schema definiert wäre. All das hat Vor- und Nachteile.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #14 am: 19.06.07 - 14:03:46 »
Ich hab nochmal über deine Definition der Baumstruktur nachgedacht... und wenn man sich Masken, Ansicht und Agenten anschaut sind es alles auch nur Dokumente, zwar sehr spezielle, aber es sind nur Dokumente  :P!

Offline Gogun_Beokz

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Datenbankmodell Lotus Notes?
« Antwort #15 am: 19.06.07 - 14:10:19 »
Naja, gut ich will mal nicht weiter nerven... hab wenigstens noch ein bisschen Hintergrund bekommen, falls die Prüfungskommision damit Verständnisprobleme hat! Schon komisch dann bin ich über 2 Jahre Notes Entwickler und weiss solch grundlegende Dinge (die keinen interessieren) nicht :-). Bin dann mal nachhause und hoffentlich morgen kein Azubi mehr!

Gruß G0guN_b3okZ

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datenbankmodell Lotus Notes?
« Antwort #16 am: 19.06.07 - 14:19:57 »
So kann man das jetzt nicht sehen.
Es gibt immer wieder Dinge die interessant sein können, man weiß nur nicht, daß sie interessant sind. Aber wenn dann mal einer was Fragt wovon man es nicht weiß, denkt man sich auch, hm, interessant, da hab ich mir noch keine Gedanken drüber gemacht.
Das wäre doch fast was für das Best Practices da wo es am besten Reinpasst..., was ist Notes. Ändert sich was mit den neueren Versionen? Anbindung an DB2 hab ich da Dunkel in Erinnerung. Aber jetzt nicht verwirren lassen.

Viel Glück und brauchbare Prüfer für morgen.

Ich glaub es wird Rückmeldung erwartet...  8)
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )


Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datenbankmodell Lotus Notes?
« Antwort #18 am: 19.06.07 - 14:31:47 »
Den letzten werde ich mir auch mal näher zu gemüte führen...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Datenbankmodell Lotus Notes?
« Antwort #19 am: 19.06.07 - 18:36:00 »
Einfach nicht nervös werden lassen, sich brauchbare Definitionen für die verschiedenen Datenbanken zurechtlegen und den Ball flach halten. Erzähl ihnen einfach Lotus Notes wäre eine Dokument-Datenbank und dann warum sie weder OO noch relational und vielleicht auch nicht im klassischen Sinne hierarchisch ist. Damien Katz, ein Mann der sicher viel über das Datenbankmodell von Notes nachgedacht hat, weil er es a) gut fand und b) verbessern wollte, benutzt auf Notes oder seine Weiterentwicklung couchDB keiner der Begriffe Objekt-DB, Relationale-DB oder Hierarchische-DB sondern Dokument Datenbank.
Ich glaub bei hierarchischen Datenbanken gabs tatsächlich die Notwendigkeit sich tiefer durch die wesentlich verzweigterten Bäume zu wühlen. Sicher bin ich mir nicht. Ich kann xml Dokumente so gestalten, dass ich sie in eine XML-Datenbank speichern kann und sie sowas wie eine DocumentUniqueId haben, dass ich sie alle referenzieren kann. XML-Datenbanken gelten als hierarchisch.

Mit der neuen DB2 Integration wird Notes so wenig relational wie J2EE mit EJB oder Hibernate "relational" wird. Relational ist ein bischen mehr als die Möglichkeit inner joins in Queries verwenden zu können.
Btw. würde ich sogar behaupten, dass viele mit J2EE entwickelte Anwendungen inklusive meiner eigenen nicht objekt-orientiert sondern prozedural sind.  :)
Und OODBMS ist Notes auch nicht. Heute ist es normal, dass wir im Notes-Bereich von Objekten wie NotesDatabase etc. sprechen. Die sind aber erst später über das Datenbank-Modell drübergebaut worden. Zu Zeiten von Notes3 gab es weder eine C++ Api noch eine LotusScript Api noch eine Java Api. In Notes3 gabs aber bereits das Notes-Datenbankmodell, @Formeln und eine C-Api.

Die Frage ist schwierig.

Begriffe wie OODBMS entstehen irgendwo und führen dann ein Eigenleben, werden für Äpfel und Birnen gleichzeitig verwendet und von der Marketing-Fraktion gekapert, etc. Das Relationale Modell nehme ich da aus, weil es mathematisch fundiert und somit rigoros ist. Interessieren tut das aber in der Praxis keinen, weil es da um business value geht.
Wichtig ist deshalb weniger was du antwortest sondern vielmehr wie du die Argumentation in der Prüfung aufbaust.

In gewissem Sinne, sind all diese Begriffe Schall und Rauch.
Robert "Uncle Bob" Martin hat mal in einem Vortrag in 20 Sekunden den ganzen OO Begriff dekonstruiert und zwar ungefähr so:
Er will Budget für einen C++ Compiler. Sein Chef fragt ihn, warum er das braucht. Er stottert rum.
Und dann kam a poor smug vorbei und meint: "Well. It models the real world." Der Chef: "Well. Then... Lets buy it."
Die reale Welt modellieren ist ein Widerspruch in sich. Man benutzt ein Modell nämlich genau, um die Welt zu vereinfachen, verfremden, weniger real aber damit leichter händelbar zu machen. Das war aber das Verkaufsargument für OO. In Wirklichkeit gehts aber gar nicht um "modellieren der realen Welt" sondern darum, Abhängigkeiten überschaubarer zu machen. 

Viel Glück

Axel
« Letzte Änderung: 19.06.07 - 19:05:14 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz