-
13.06.10 12:55 #1
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
-
14.06.10 00:01 #2
- 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.htmlGeä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.
-
14.06.10 15:57 #3
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
-
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
-
14.06.10 16:13 #5
- Registriert seit
- Sep 2008
- Ort
- Osnabrück (Niedersachsen)
- Beiträge
- 244
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.
-
14.06.10 16:18 #6
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.
-
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
-
14.06.10 16:33 #8
Richtig ich habe keine Ahnung wie das funktionieren soll.
-
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)
---------------------------------------------------------------------------------------------------
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
-
15.06.10 13:43 #10
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?
-
15.06.10 14:01 #11
- 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üßeProgrammieren 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.
-
15.06.10 14:55 #12
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?
-
19.06.10 20:26 #13
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.
-
23.06.10 14:18 #14
Muss ich dabei evtl. die transreak auf true oder false setzten?
-
23.06.10 14:49 #15
- 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.htmlGeä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
-
MS SQL 2k3 - Mergereplikation - Trigger
Von DaRealMC im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 08.03.10, 15:52 -
einfacher Trigger
Von WenzelPaul im Forum Relationale DatenbanksystemeAntworten: 13Letzter Beitrag: 15.07.09, 03:18 -
Trigger rekursiv
Von mistirios im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 05.01.08, 17:02 -
Trigger in MS Access
Von Ste-Re im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 29.08.06, 05:29 -
[Oracle] Trigger
Von Pherseus im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 19.12.05, 13:00



1Danke

Zitieren


Login





