AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Doppelte Datensätze verhindern in 1:N-Verknüpfung
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Datensätze verhindern in 1:N-Verknüpfung

Ein Thema von BlueStarHH · begonnen am 22. Jul 2020 · letzter Beitrag vom 30. Jul 2020
Antwort Antwort
Seite 3 von 3     123   
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Doppelte Datensätze verhindern in 1:N-Verknüpfung

  Alt 27. Jul 2020, 19:20
Wären diese Daten aus einer Tabelle,
Code:
GegenstandID Groesse Farbe Eigenschaft
1             50x90    weiß   zerbrechlich
2             XL     blau brennbar
3             XL     blau brennbar
würdest Du also einen Index der Form create unique index ix_Groesse_Farbe_Eigenschaft on tabelle (Groesse, Farbe, Eigenschaft); benötigen.

Da es sich aber um zwei Tabellen handelt, brauchst Du eine entsprechende "tabellenübergreifende" Lösung.

Hab' ich das so (in etwa) richtig verstanden?
Ja, richtig! Wobei noch wichtig ist, dass es durch die Drei-Tabellen-Lösung mehr als eine Eigenschaft pro Gegenstand geben könnte und können soll.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#22

AW: Doppelte Datensätze verhindern in 1:N-Verknüpfung

  Alt 27. Jul 2020, 20:33
Wie geht das mit dem bisher geforderten übernander?

Würden die Beispieldaten aus #20 mit dem genannten unique Index aus #20 überhaupt existieren?

Wie wär es, wenn BluestarHH mal positive und negative Beispiel aufführt, um sein Problem plastischer zu machen?
Gruß, Jo
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Doppelte Datensätze verhindern in 1:N-Verknüpfung

  Alt 27. Jul 2020, 20:51
Wie geht das mit dem bisher geforderten übernander?
Wo siehst Du einen Wiederspruch? Evtl. Post #20 falsch verstanden?

Würden die Beispieldaten aus #20 mit dem genannten unique Index aus #20 überhaupt existieren?
Nein, würden sie nicht. Ich hab den Ersteller von #20 auch nicht so verstanden. (Könnte man aber leicht). Die Verwirrung war nur seinem Copy&Paste meiner Beispieldaten geschuldet. Streiche einfach das Beispiel aus Post #20 dann stimmt die Aussage mit dem Index trotzdem. Also nochmal deutlich : In einer Tabelle würde ich es mit einem Index wie diesem lösen:
create unique index ix_Groesse_Farbe_Eigenschaft on tabelle (Groesse, Farbe, Eigenschaft)
Das geht bei mir aber nicht, da ich 3 Tabellen habe und haben muss.

Ein positiv und negativ Beispiel findest Du in #19.

Geändert von BlueStarHH (27. Jul 2020 um 20:58 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#24

AW: Doppelte Datensätze verhindern in 1:N-Verknüpfung

  Alt 28. Jul 2020, 09:03
Bei dem von mir vorgeschlagenen Index würde die dritte Zeile im Beispiel zu einer Indexverletzung führen und wäre somit nicht möglich.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#25

AW: Doppelte Datensätze verhindern in 1:N-Verknüpfung

  Alt 30. Jul 2020, 18:32
Evtl. Post #20 falsch verstanden?

Würden die Beispieldaten aus #20 mit dem genannten unique Index aus #20 überhaupt existieren?
Nein, würden sie nicht.
..
Ein positiv und negativ Beispiel findest Du in #19.
Ja, anders verstanden. In Post 20 steht nirgends, dass die dargestellte Kombination nicht funktionieren soll. Sondern dass hier unerwünschte Daten stehen, die mittels des Index verhindert werden sollen.

Aber wie auch immer, ich hab's endlich kapiert, sorry.
Wenn unter keinen Umständen das bestehende System verändert, sondern nur erweitert werden soll, ja dann muss man häßliche Dinge machen mit Triggern.

Ich würde wie eingangs vorgeschlagen die Farbe und Größe mit in die Eigenschaften übernehmen. Falls der Erhalt als "Originalspalte" unabdingbar ist, würde ich das per View einblenden.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz