Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Daniel am 14.07.03 - 17:37:49

Titel: Relationales System?!
Beitrag von: Daniel am 14.07.03 - 17:37:49
Hallo Leute!

Ich hab ein wenig eine spezielle Anforderung:

Ich sollte Brennerdaten (Heizungsfirma) ablegen, manche Brenner können mit anderen Düsen ausgestattet werden. Eine Düse könnte von mehereren Brennern verwendet werden.

Zusätzlich verändern sich Brennwerte, welche später für die Anzeige eines Graphs verwendet werden.

Es werden auch für mehere Brenner ein und das selbe Bild verwendet usw.

Wie kann ich das ganze Relationell machen?

Und wie können die Ansichten dann Optimal dargestellt werden.

Ich hab ein wenig im Forum gestöbert, aber konkretes hab ich nicht gefunden.

Danke, Daniel
Titel: Re:Relationales System?!
Beitrag von: Till_21 am 14.07.03 - 17:59:46
hi,
notes ist ein dokumenten-, nicht ein relationales- Datenbanksystem...
man kann relationen jedoch 'von hinten durch die brust ins auge' realisieren... sogar referenzielle integrität bekommt man hin...
aber man kommt teilweise in teufels kueche...
relationen wuerde ich immer ueber einen key abbilden(ER), andere sagen man arbeitet besser mit antwortdokumenten...

views lassen sich recht einfach darstellen (mit verst. spalten zum sortieren)


gruss
Titel: Re:Relationales System?!
Beitrag von: eknori am 14.07.03 - 18:14:16
ich denke auch, daß das nicht ganz trivial, aber nich unmglich ist.

zunächst einmal mußt du Trennen

Du brauchst 2 Masken; eine  für den Brenner und eine für die Düsen.

Wenn du dann die Düsen mit sen entsprechenden Spezifikationn erstellt hast, kannst du von einem Brennerdoc auf ein Düsendoc verweisen. Als "Schlüssel" würde ich die DocUD des Düsendocs nehmen.

In dein Brennerdoc baust du dann Felder ein, die die Werte aus dem Düsendoc enthalten ( die eigenschaft der Felder setzt du auf berechnet zu rAnzeige )

über @dbLookup kannst du dann mittels des Keys, der in einem Feld im Brennerdoc steht die Werte des Düsendocs in den vorher definierten Feldern anzeigen.

Hat den Vorteil, daß bei einer Änderung am Düsendoc bei der Anzeige des Brennerdoc immer die aktuellen Werte angezeigt werden.

ist ein bisschen theoretisch, ich weiß. Da muss wohl eine Demo her; aber heute nimmer.

eknori

na ja, ok, hier ist die demo
Titel: Re:Relationales System?!
Beitrag von: Daniel am 15.07.03 - 13:57:08
Ist ja echt der Hammer, ich werd mir das gleich anschauen!

Danke!

Bei Fragen ....

Daniel
Titel: Re:Relationales System?!
Beitrag von: Daniel am 16.07.03 - 15:46:44
Hallo Eknori!

Danke nochmals für das Beispiel!

Lieg ich richtig damit, wenn ich meine, dass meherere Düsen pro Brenner über eine Ansichtstabelle angezeigt werden können?
Titel: Re:Relationales System?!
Beitrag von: Daniel am 17.07.03 - 20:06:34
Hallo Eknori!

Dein Bsp. war super. Danke!
NOch was anderes, ich hab nun eine Maske erstellt, in welcher die Brenner eingegeben werden und eine 2. in welcher Ventile/Düsen (Zusatzgeräte) zu den Brennern eingegeben werden.

In der Brennermaske hab ich ein Listenfeld (Zusatzgeräteauswahl), in welchem ich Zusatzgeräte auswählen kann (mehere mgl.)
Das Feld Zusatzgeräte_ArtNr wird in dieses Listenfeld geschrieben.

Wenn nun Zusatzgeräte zu einem Brenner ausgewählt wurden, möchte ich diese in einer Ansicht in der Brennermaske Anzeigen.
Ich bekomme aber über die Maske keinen Bezug her das Abzufragen.
Ich habe als Anzeigedefinition angegeben, dass in der Ansicht Geräte aufscheinen, welche im Feld Zusatzgeräteauswahl der aktiven Maske enthalten sind. Meiner Meinung sollte das klappen...

Daniel
Titel: Re:Relationales System?!
Beitrag von: eknori am 17.07.03 - 20:16:03
das wird so nicht funktioneren, da deine Brenner zwar einen Bezug zur Düse enthalten, deine Düse aber im Düsendoc nicht gespeichert haben, in welchen Brennern sie eingebaut sind.

DAs wäre eine Voraussetzung, um eine Ansicht kategorisiert nach Brennernummer zu erstellen, die dann als eingebettete Ansicht im Brennerdoc mit single categorie "Brennernummer" alle diesem Brenner zugeordneten Düsen anzeigt.

Um das darzustellen musst du ganz schön tricksen
Titel: Re:Relationales System?!
Beitrag von: ata am 17.07.03 - 20:18:17
... da musst du nun etwas mehr Aufwand betreiben - wie ist die Zuordnung des Zubehörs geregelt?

ata
Titel: Re:Relationales System?!
Beitrag von: Daniel am 17.07.03 - 20:38:25
Hi!

Also die Maske soll ganz normal die Brennerdaten anzeigen und in der Ansicht kommen dann die Zugeteilten Zusatzgeräte.

Diese sind im Feld Zusatzgeräteauswahl mit deren Artikelnummer gespeichert. Anhand diesen Feldes würde ich gerne die Ansicht generieren, und zwar so, dass nur die Dokumente angezeigt werden, welche im Feld "Zusatzgereate_ArtNr" dieselbe ArtNr wie im Feld "Zusatzgeräteauswahl" besitzen.
Titel: Re:Relationales System?!
Beitrag von: koehlerbv am 17.07.03 - 21:19:04
Da hab' ich leider verpaßt, das da mittlerweile zwei Threads laufen - sorry ...

Mein Vorschlag (und der Einfachheit bleibe ich jetzt mal bei "Brennern" und "Düsen"):

- Es gibt Brenner, und die können unterschiedliche Düsen haben (das Modell wäre dann beliebig ausbaubar)
- Es gibt eine Maske "Düsen", mit denen eben diese erfaßt werden
- Es gibt eine Maske "Brenner" mit einem Feld "Düsen", welches via @dbColumn gefüllt wird
- Damit gibt es dann n Dokumente mit der Form "Brenner", die ggf. gleiche Brennernamen, aber unterschiedliche Düsenwerte beinhalten
- Um jetzt alle Brenner mit ihren unterschiedlichen Düsen darzustellen, braucht es eine Ansicht mit
* View selection: Form = "Brenner"
* Spalte 1: Brennername, sortiert, kategorisiert
* Spalte 2: Düse (wahlweise sortiert)

Dann steht dort:
Brenner Höllenglut
       Mit Düse KleinesLoch
       Mit Düse 0,5 mm
       Mit Düse Starkstrahl
Brenner Atomar
       Mit Düse Nuklear
       Mit Düse klein (START-Vertrag)
       Mit Düse Scheissegal (Nordkoreanische Variante)
Brenner GanzSicher
       Mit Düse KleinesLoch
       Mit Düse 0,5 mm

Natürlich könnte man auch bei den Brenner die ausgewählten Düsen wieder zurück schreiben in die Düsen-Dokumente, das wäre nur wenig Aufwand und auch eineindeutig.
So Notes-untypisch relational ist diese Task also offensichtlich nicht.

Sag einfach an, wenn Du weitere Details brauchst.

HTH,
Bernhard
Titel: Re:Relationales System?!
Beitrag von: ata am 17.07.03 - 21:19:56
... wäre mit einer eingebetteten Ansicht möglich...

ata
Titel: Re:Relationales System?!
Beitrag von: koehlerbv am 17.07.03 - 21:27:23
Oder sogar simpel durch ein Feld im Brenner-Dokument: "Verwendete Düsen". Da bräuchten wir ja noch nicht mal eine Ansicht.
Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 10:00:24
Hi!

Also hab ich das richtig verstanden?!
Wird nun für jede BrennerDüse Variante ein Komplettes Dokument mit allen Brennerwerten und Düsenwerten angelegt?

Das ist unpraktisch, wenn sich Daten eines Brenners ändern?!

Oder lieg ich falsch?
Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 10:04:52
Ich zeig mal schnell her, was ich bisher fabriziert habe.


Titel: Re:Relationales System?!
Beitrag von: eknori am 18.07.03 - 10:24:45
So, ich habe dir das schnell mal eingebaut.

Das mit der eingebetteten Ansicht ist schon soweit OK.
wie funktioniert das nun.

zunächst mal ist da das brennerdoc mit der Artikelnummer des Brenners.
Dann gibt es noch die Zusatzgeräte.

Im Zusatzdokument habe ich ein neues feld "Verwendet in".
Hier muß nun die Artikelnummer des brenners eingetragen werden ( oder bei Verwendung in mehreren brennern entsprechend mehrere Nummern )
Damit hat der Zusatz eine referenz auf den Brenner.
Die eingebettete Ansicht wird aus der Ansicht "verwendet" gefüttert.
Die Ansicht enthält in der ersten Spalte kategorisiert die Artikelnummer des brenners. Die weiteren Spalten enthalten dann die Angaben aus dem Düsendoc.
Die Ansicht enthält nur Zusatzdocs.

In der eingebetteten Ansicht werden nun über die "Single categorie" nur die Zusätze zu dem brenner angezeigt.

Thats all.

Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 12:47:13
hallo Eknori!

Nun hab ichs verstanden. Danke! Es gibt da so viele kleine Schräubchen, an denen man drehen muss...

Noch was anderes. Nun werden in der Düsenmaske die Zugehörigen Brenner angegeben. Ist es möglich, in der Brennermaske eine Dialogliste mit den Düsen anzuzeigen und dann in die Maske der Ausgewählten Düsen automatisch die "Zugehörig zum Brenner" Nr. einzutragen?

Ich hab etwas probiert, krieg das aber nicht hin. Gehts oder gehts nicht?

Danke für eure Hilfe!

Daniel
Titel: Re:Relationales System?!
Beitrag von: eknori am 18.07.03 - 12:56:32
das geht mit Sicherheit. Die korrespondierenden Düsen hast du ja dann durch die Auswahl und die Brennernummer bekommst du aus dem akltuellen Dokument. Jetzt musst du nur noch die Brennernummer in die einzelnen Düsendocs schreiben.
Müsste dann wohl mit Script gemacht werden, da R5 keine Schleifen in Formeln unterstützt.

U
Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 13:00:32
Zu Lotus Script bin ich noch nicht gekommen... Ich werd mich aber kommende Woche etwas einlesen.

Bisher leider nur Formelsprache.
Wäre eventuell mit Java was zu machen, oder wirds dann zu verstrickt?

Titel: Re:Relationales System?!
Beitrag von: eknori am 18.07.03 - 13:16:03
ich gucke mir das am WE mal an.
Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 13:20:03
Ich gebe dir noch die aktuelle DB.

Vergiss nicht deine Freizeit!!!

Daniel
Titel: Re:Relationales System?!
Beitrag von: eknori am 18.07.03 - 13:22:50
Bin eh am WE allein zuhause. Entweder ihr kommt alle zum Saufen vorbei  8) , oder ich programmiere halt ein bisschen...  ;D ;D
Titel: Re:Relationales System?!
Beitrag von: Daniel am 18.07.03 - 14:02:46
Dazu musst du mich nicht überreden...
Ich hoffe deinen Minibar ist gefüllt, ansonsten gib bescheid, was fehlt!
 ;)
Titel: Re:Relationales System?!
Beitrag von: Daniel am 21.07.03 - 16:12:23
Wie war die Party?
Titel: Re:Relationales System?!
Beitrag von: Daniel am 23.07.03 - 12:27:38
Hi Eknori!

Hast du was neues?
Vielleicht kannst du mir ein paar anhaltspunkte geben, welche ich beachten muss. Ich versuch dann mal das Script zusammen zu fuzeln.

Danke, Daniel