Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Relation auf SQL-Server
Christoph1972 - Fr 25.05.12 21:49
Titel: Relation auf SQL-Server
Hallo zusammen,
ich habe mal wieder die Ehre dass ich eine Anwendung mit einem SQL-Server im Hintergrund entwickeln darf. Da ich mich immer nur sporadisch mit SQL und DB-Servern befassen kann, brauche ich mal wieder eure Hilfe.
Also, für die Anwendung benötige ich zwei Tabellen.
Eine Tabelle die Informationen zu Prüfmethoden bereitstellt, hier liegt mein Focus bei der Einheit des Ergebnisses.
Table:A
Quelltext
1: 2: 3: 4: 5:
| PNAME UNIT usw…… ----------------------------- Xyz Kg Abc g Nbv ppm |
Und eine Tabelle die Ergebnisse der Prüfungen hält.
Table:B
C#-Quelltext
1: 2: 3: 4:
| DATE PNAME VALUE UNIT usw…… 01.12 Xyz 18 Kg 02.12 Abc 20 g 03.12 Nbv 100 ppm |
So nun zur Problem/Fragestellung:
Ich möchte die Einheit nicht bei jedem Ergebniseintrag in die Tabelle B übergeben. Ich denke es sollte möglich sein, das der Server bei jedem Select auf Tabelle B, die Einheit aus der Tabelle A auslesen kann und zurückgibt oder? Ich sehe hier den Vorteil, das bei der Änderung der Einheit, die Änderung nur an einer Stelle durchgeführt werden muss und so soll das ja auch Grundsätzlich sein wenn möglich, oder?
Ich hoffe dass ich mich verständlich ausgedrückt habe und mir jemand einen Tipp geben kann wie dass zu realisieren ist. Das sollte doch mittels Relation gehen, oder? Meine Versuche haben bisher jedoch zu keinem Erfolg geführt.
Oder macht man das mittels Select auf auf beide Tabellen? :gruebel:
Ach so, ich arbeite mit SQL Management Express auf einem SQL-Server 2008 R2.
Christoph1972 - Sa 26.05.12 13:16
Vielen Dank schon mal für die Info! Ich verwende ADO.Net.
Werde ich mir später anschauen, ich bin mal kurz 150Km Rennradfahren :-D
Christoph1972 - Di 29.05.12 21:31
Hallo,
ich habe heute mal experimentiert. Ich habe es bisher nicht hinbekommen, so wie ich mir das vorgestellt hatte. Ich habe die Spalte UNIT aus Tabelle B entfernt. Dann habe ich einen Fremdschlüssel von B.PNAME auf A.PNAME gelegt. (hier war ich mir nicht sicher das die Aktion korrekt ist, das ist der DataSet Designer vom VS besser, bzw. besser visualisiert.)
Geht das denn tatsächlich, dass ich die Einheiten mit einem einfachen Select gegen die Tabelle B erhalte?
Z.B.
Result: (UNIT kommt hier aus Tabelle A)
Quelltext
1: 2: 3: 4:
| DATE PNAME VALUE UNIT usw…… 01.12 Xyz 18 Kg 02.12 Abc 20 g 03.12 Nbv 100 ppm |
Ich habe jetzt eine andere Lösung, diese ist halt von der Grundidee etwas anders, aber sicher auch OK, oder?
(nur Exemplarisch)
Quelltext
1: 2: 3: 4:
| SELECT DATE, PNAME, VALUE, A.UNIT FROM B, A WHERE A.PNAME = B.PNAME AND irgendwelche anderen Bedingungen….. |
Was meint ihr, soll ich das so lassen, oder soll ich nochmal Energie in meine ursprüngliche Idee stecken? Es funktioniert ja soweit.........
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!