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 / 4395 / 223 / 1182 ) »
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.
1824
Views
Referenzielle Integrität bei INSERT-Operationen
von yuro » 09.02.2015 18:24 • Verfasst in ABAP Objects®
2
Antw.
1368
Views
Prüfung von TvKs an externe Systeme auf syntaktische Integrität
von IHe » 04.05.2023 13:56 • Verfasst in Basis
1
Antw.
1921
Views
Mal ne Frage...
von Gast » 05.12.2005 15:42 • Verfasst in ABAP® für Anfänger
3
Antw.
2460
Views
SAP IS-U: Frage zum CIC
von c-harms » 26.07.2005 11:48 • Verfasst in SAP - Allgemeines
1
Antw.
1207
Views
ISU-Frage
von CSZ_Berater » 05.12.2017 13:07 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 4 Minuten von rob_abc 4 / 16
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

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

Zeilenumbrüche ersetzen
vor 4 Minuten von rob_abc 4 / 16
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 505
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2143
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8738