Frage zu rererentieller Integrität

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Frage zu rererentieller Integrität

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hallo zusammen,

ich habe zwei Übungs-Tabellen:

In einer Tabelle stehen Autos und in der Zweiten stehen Daten zu den Autos (Fahrer etc.)

Über eine Identnummer soll eine 1 : N beziehung hergestellt werden.

Wie kann ich denn hier referenzielle Integrität festlegen? Muss ich das extra programmieren oder gibt es da eine einfache Funktion?

Danke!

Viele Grüße

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Frage zu rererentieller Integrität

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Hallo mark,

was heißt denn genau "ich habe zwei Tabellen"?
Sind dies programminterne Tabellen oder Datenbanktabellen?
Musst du diese noch anlegen, bzw. darfst du diese ändern?

Im Data Dictionary kannst du Fremdschlüssel-Beziehungen pflegen, dafür muss die zweite Tabellle natürlich ein Feld enthalten, welches den Schlüssel aus der ersten Tabelle aufnimmt.

Leider ist aus deiner Frage nicht so ganz ersichtlich, was du genau vorhast...

Re: Frage zu rererentieller Integrität

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Davon, dass Du im ABAP Dictionary die Fremdschlüsselbeziehungen richtig pflegst, wird noch keine referentielle Integrität sichergestellt. (Dennoch solltest Du die Fremdschlüsselbeziehungen korrekt pflegen.)
Referentielle Integrität muss im ABAP-Programm (bzw. in allen ABAP-Programmen, die schreibend auf die beiden Tabellen zugreifen), sichergestellt werden, incl. korrekter Verwendung des SAP-Sperr-Mechanismus, um zu verhindern, dass 2 User in verschiedenen Sessions die gleichen Daten bearbeiten...

Frank

Re: Frage zu rererentieller Integrität

Beitrag von Mark33 (ForumUser / 60 / 1 / 0 ) »
Hi!

Danke für eure Antworten!

Das sind zwei selbsterstellte Datenbantabellen.

Also kann ich festhalten:

- Durch die Fremdschlüsselbeziehung die ich auf Tabellenebene festlege, kann sichergestellt werden, dass der Benutzer in der rechtsstehenden Tabelle keinen ungültigen Wert eingibt. (bei 1 : N Beziehung)


- Programmintern muss ich in der linken Tabelle beim Löschen prüfen, ob es in der rechten Tabelle eine dazugehörigen Satz gibt. (Funktioniert das einfach über
SELECT * FROM tabelle_LINKS INNER JOIN tabelle_RECHTS on Primärschl = Fremschlüssel.
Wenn sy-subrc <> 0 ist, dann darf der Datensatz aus der rechten Tabelle gelöscht werden?
==> Oder wird so etwas in der Praxis anders umgesetzt?

Vielen Dank!

Re: Frage zu rererentieller Integrität

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
tja, leider kennt SAP bzw. ABAP keine Fremdschlüssel.
Die Fremdschlüssel die auf Tabellenebene festgelegt werden, dienen nur den Standard SAP Funktionen als Hilfestellung.

ad 1) Ja, sofern die Benutzer Standard-Eingabemaken (z.b. SM30) verwenden ist sichergestellt, das in der "rechtsstehenden" Tabelle keine Werte eingegeben werden können, die "links" nicht vorhanden sind.

ad 2) Für alles andere gilt: Bei jedem Zugriff der Daten ändert/hinzufügt/löscht muss der Programmierer sicherstellen, dass die Daten konsitent sind.
Hier kann man sich dadurch behelfen, dass man eine Datenklasse schreibt die die DB-Zugriff kapselt. So muss man nur einmal die ganze Fremschlüssellogik ausprogrammieren.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2156
Views
Referenzielle Integrität bei INSERT-Operationen
von yuro » 09.02.2015 18:24 • Verfasst in ABAP Objects®
2
Antw.
5526
Views
Prüfung von TvKs an externe Systeme auf syntaktische Integrität
von IHe » 04.05.2023 13:56 • Verfasst in Basis
1
Antw.
2118
Views
Mal ne Frage...
von Gast » 05.12.2005 15:42 • Verfasst in ABAP® für Anfänger
2
Antw.
1917
Views
Frage zu RFC
von Frank Zet. » 12.07.2005 15:46 • Verfasst in ABAP® Core
3
Antw.
2465
Views
Frage zu OLE
von Mark33 » 26.09.2013 23:24 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 8 Stunden von ewx 2 / 1329
SELECT SUM CUST
vor 9 Stunden von wreichelt 4 / 1413
Banf anlegen
Gestern von IHe 3 / 12838
FS-CD schnellstmöglich lernen
vor 3 Tagen von waltersen 3 / 5483
Banf anlegen
vor einer Woche von wreichelt 2 / 13209

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 8 Stunden von ewx 2 / 1329
SELECT SUM CUST
vor 9 Stunden von wreichelt 4 / 1413
Banf anlegen
Gestern von IHe 3 / 12838
FS-CD schnellstmöglich lernen
vor 3 Tagen von waltersen 3 / 5483
Banf anlegen
vor einer Woche von wreichelt 2 / 13209