tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
756
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Hallo zusammen,

    ich habe ein problem und zwar mit Triggern.
    Ich habe hier eine Transfumed Datenbank. Ich hänge sie an.

    Es soll ein Trigger entwickelt werden, der die Datenintegrität beim Auftreten von
    Transfusionsreaktionen gewährleistet.

    Ich bekomme dies einfach nicht hin und weiß mir auch nicht weiter zuhelfen habe schon gegoogelt aber es hilft mir nichts.
    Ich hoffe hier kennt sich jemand mit Trigger aus.


    Liebe Grüße Chrissy
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Trigger-ubersicht-transfusionsdatenbank.pdf  
     

  2. #2
    FrankBooth FrankBooth ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    244
    Hallo,

    wie immer ich. Wie im letzten Thread:

    welche Datenbank?
    Hast du eine Datenbank zum testen?
    Wo genau liegt das Problem?

    Einen Ansatz, den du bei den anderen Threads wenigstens noch geliefert hast sehe ich hier nicht.
    Da wird die Hilfe schwer. Was soll genau gemacht werden mit dem Trigger? Schreib bitte mehr als 'die Datenintegrität beim Auftreten von Transfusionsreaktionen gewährleistet '. Das hab ich gelesen!


    Code sql:
    1
    2
    3
    4
    5
    6
    
       CREATE [OR REPLACE] TRIGGER <trigger_name> 
        {BEFORE|AFTER} {INSERT|DELETE|UPDATE} 
         ON <table_name> 
          [REFERENCING [NEW AS <new_row_name>] [OLD AS <old_row_name>]]    
            [FOR EACH ROW [WHEN (<trigger_condition>)]]    
            <trigger_body>

    Grüße


    Edit: Nochmals!! der Hinweis auf diesen Thread :

    http://www.tutorials.de/forum/relati...erstellen.html
    Geändert von FrankBooth (14.06.10 um 09:53 Uhr)
     
    Programmieren ist ein Wettbewerb zwischen dem Programmierer,
    die Software idiotensicher zu machen, und dem Universum, das versucht,
    größere Idioten zu produzieren. Bis jetzt gewinnt das Universum.

  3. #3
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Das ist für MySql und ich habe keine Datenbank zum testen. Anhand dieser Transfumed DB soll das genaze gemacht werden.

    Es soll ein Trigger geschrieben werden, der die Datenintegrität beim Auftreten von Transfusionsreaktionen gewährleistet.


    Liebe Grüße Chrissy
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Wie Trigger funktionieren findest du hier
    http://dev.mysql.com/doc/refman/5.1/de/triggers.html

    Ich hätte dir gerne mehr geholfen, jedoch sagt mir deine Beschreibung "Datenintegrität beim Auftreten von Transfusionsreaktionen gewährleistet" gar nix. Die Tabelle Transfusionsreaktionen finde ich im Schema nicht. Somit sehe ich auch nicht auf welche anderen Tabellen getestet werden soll.
    Auch sehe ich nicht, wass im Fehlerfall (Datenintegrität nicht gewährleistet) passieren soll. Etc.

    Lade dir mal MySQL-DB runter und installiere sie. Nimm ein Tool(zB. HeidiQL-Portable) und mache mal einige Gehverscuhe mit Triggern. Ich hoffe du hast mindesetns eine Entwicklungsumegung deiner Datenbank, bevor es an die scharfen Daten geht. Wenn ja, kannst du auch da mal eine Testtabelle erstellen und mit Triggern üben.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    FrankBooth FrankBooth ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    244
    Zitat Zitat von FrankBooth Beitrag anzeigen
    Was soll genau gemacht werden mit dem Trigger? Schreib bitte mehr als 'die Datenintegrität beim Auftreten von Transfusionsreaktionen gewährleistet '. Das hab ich gelesen!
    Was soll ich da noch sagen?
     
    Programmieren ist ein Wettbewerb zwischen dem Programmierer,
    die Software idiotensicher zu machen, und dem Universum, das versucht,
    größere Idioten zu produzieren. Bis jetzt gewinnt das Universum.

  6. #6
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Zitat von FrankBooth Beitrag anzeigen
    Was soll genau gemacht werden mit dem Trigger? Schreib bitte mehr als 'die Datenintegrität beim Auftreten von Transfusionsreaktionen gewährleistet '. Das hab ich gelesen!



    Etwas anderes habe ich nicht.
     

  7. #7
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Das heisst, dass du auch nicht weisst was verlangt wird.

    -> Auftrag zurück zur Buiseness-Analyse, ggf Rücksprache mit Buiseness-Analyse
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  8. #8
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Richtig ich habe keine Ahnung wie das funktionieren soll.
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Sorry, aber da wir das Fachgebiet nicht kennen können, können wir dir auch nicht sagen was der Fachbereich (User, Kunde, Anwender) von dir verlangt.
    Um einen Trigger gut zu programmieren, musst du aber verstehen was der Fachbereich eigentlich will.
    Und darum wiederhole ich mich: Du musst mit den Anforderungen zum Fachbereich (oder besser zum Analyse-Team, falls vorhanden) gehen und abklären was verlangt ist. Dieses dann in ein Konzept fassen, dies vom Fachbereich bestätigen lassen (sagt aus dass du verstanden hast was sie wollen) und dann kannst du dir Gedanken machen wie man es umsetzt.

    Wir können die beim Wie helfen. Nicht aber beim Was.

    Ohne weiteren Angaben sehe ich den Thread für mich als erledigt.
    Geändert von Yaslaw (14.06.10 um 17:14 Uhr)
    FrankBooth bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  10. #10
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Ich habe etwas neues.

    Also sobald nach einer Transfusion eine Transfusionsreaktion (z.B. Schüttelfrost nach 12 Stunden)
    auftritt, muss dies bei der zugehörenden Transfusion durch das Attribut Transreakt
    gekennzeichnet werden.

    Jetzt soll halt ein Trigger entwickelt werden, der die Datenintegrität beim Auftreten von
    Transfusionsreaktionen gewährleistet.

    Ich denke das es über die Tabellen Transfusion und transreaktion laufen soll oder. Ich weiß nun aber nicht wie ich es machen soll FrankBooth du hast mir ja die syntax aufgeschrieben die kenne ich ja aber verwende ich before oder after?
     

  11. #11
    FrankBooth FrankBooth ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    244
    Hallo,

    da du die Datenintegrität testen sollst, wohl eher befor insert. Also bevor etwas in die Datenbank geschrieben wird, teste Datenintegrität.

    Man kann natürlich auch after insert, aber dann musst du löschen, falls die Daten nicht stimmen (sollte das Eintragen überhaupt geht).

    Grüße
     
    Programmieren ist ein Wettbewerb zwischen dem Programmierer,
    die Software idiotensicher zu machen, und dem Universum, das versucht,
    größere Idioten zu produzieren. Bis jetzt gewinnt das Universum.

  12. #12
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Hallo,

    aber wie mache ich das dann
    Create trigger Transreaktion before insert? oder update?oder after insert ? oder update? ON Transfusion
    BEGIN
    und was muss ich jetzt hier nach dem begin machen update oder insert?
     

  13. #13
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Hallo zusammen,

    ist das so richtig mit dem trigger?

    Create Trigger TransReak After Insert on transfusion
    Begin
    Update Transfusion Set ...hier weiß ich nicht weiter


    end;

    Hoffe ihr könnt mir weiter helfen.
     

  14. #14
    Avatar von Chrissy_Love
    Chrissy_Love Chrissy_Love ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    35
    Muss ich dabei evtl. die transreak auf true oder false setzten?
     

  15. #15
    FrankBooth FrankBooth ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    244
    Hallo,

    hab mir gerade nochmal dein Schema angesehen.
    Ich würde mal denken, dass beim auftreten einer Transfusionsreaktion ein Eintrag in Transreaktion geschrieben wird. Ist das der Fall, muss in der Tabelle 'Transfusion' (Abgleich über 'Trans_id') im entsprechenden Datensatz Transreakt auf 'true' gesetzt werden.

    Dann kommt etwas wie:

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    
    CREATE OR REPLACE TRIGGER TransReak
    after INSERT ON Transreaktion
    BEGIN
    UPDATE Transfusion
    SET Transreakt = 'true'
    WHERE TransReak.Trans_id = Transfusion.Trans_id
    END;

    Ich bin leider nicht mit Triggern vertraut und hab keine MySql-DB zum testen.
    Das wird so nicht laufen, ich denke der Ansatz ist richtig.

    Edit: vielleicht hilft dir das:

    http://www.tutorials.de/forum/relati...l-trigger.html
    Geändert von FrankBooth (24.06.10 um 12:03 Uhr)
     
    Programmieren ist ein Wettbewerb zwischen dem Programmierer,
    die Software idiotensicher zu machen, und dem Universum, das versucht,
    größere Idioten zu produzieren. Bis jetzt gewinnt das Universum.

Ähnliche Themen

  1. MS SQL 2k3 - Mergereplikation - Trigger
    Von DaRealMC im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 08.03.10, 15:52
  2. einfacher Trigger
    Von WenzelPaul im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 15.07.09, 03:18
  3. Trigger rekursiv
    Von mistirios im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 05.01.08, 17:02
  4. Trigger in MS Access
    Von Ste-Re im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 29.08.06, 05:29
  5. [Oracle] Trigger
    Von Pherseus im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 19.12.05, 13:00