Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank Primary Key (https://www.delphipraxis.net/152544-datenbank-primary-key.html)

JoltinJoe 26. Jun 2010 13:14

Datenbank: Firebird • Version: 2.1.2.18118-0 • Zugriff über: InterBase

Datenbank Primary Key
 
Hey ;)

Ich beschäftige mich zur Zeit mit Datenbanken und habe hier auch einiges über Primary Key und doppelten Einträgen gelesen, jedoch bleibt jetzt noch eine Frage offen:

In wie fern ist der Primary Key gut um Duplikate auszuschließen: (FELD1 soll keine Duplikate enthalten)

Ich lege den PK auf das Feld1. Jetzt füge ich den Wert "TEST" hinzu. Danach füge ich den Wert "test" hinzu. Beide Werte wurden erfolgreich hinzugefügt. Nur wenn ich erneut versuche "TEST" oder "test" hinzuzufügen dann bekomme ich eine Fehlermeldung auf Grund des Duplikats. Wie kann ich das ganze Case Insensitive gestalten ? Ich möchte das mein DBMS keinen Unterschied zwischen Groß- und Kleinschreibung macht.

Code:
CREATE TABLE MYTABLE(FELD1 varchar(30) PRIMARY KEY, FELD2 varchar(30));
bYe :)

rapante 26. Jun 2010 13:21

AW: Datenbank Primary Key
 
Moin,
das Thema wird auch gerade hier diskutiert.
Da ist bestimmt eine Lösung für dich dabei.

JoltinJoe 26. Jun 2010 13:24

AW: Datenbank Primary Key
 
Das Thema habe ich bereits gelesen und nein, ehrlich gesagt finde ich da keine Lösung für mich.

DeddyH 26. Jun 2010 13:31

AW: Datenbank Primary Key
 
Das kommt auch nicht in Frage?

JoltinJoe 26. Jun 2010 13:35

AW: Datenbank Primary Key
 
Das hört sich irgendwie nach "Workaround" an und du selber sagst ja das es ab FB 2.1 nicht mehr notwendig ist... Also will ich nicht zu Anfang schon tricksen ;)

Ich könnte auch einfach meine Einträge auf ein Niveau bringen bevor ich sie hinzufüge aber das wäre auch nur ein Workaround ..


bYe :)

DeddyH 26. Jun 2010 13:40

AW: Datenbank Primary Key
 
Nunja, andererseits nehme ich persönlich lieber einen zuverlässig funktionierenden Workaround, als tagelang nach einer "sauberen" Lösung zu suchen. Außerdem würde ich persönlich kein VarChar-Feld als PK definieren (obwohl das natürlich nicht verboten oder verwerflich ist), sondern immer ein künstliches Feld, das per Generator-/Trigger-Paar automatisch befüllt wird. Aber das ist sicher Ansichtssache.

JoltinJoe 26. Jun 2010 13:44

AW: Datenbank Primary Key
 
Hmm naja also ich möchte in diesem Feld keine Duplicates also hab ich das als PK definiert.

Kann man einem Feld nicht eine Case Eigenschaft verpassen ?

DeddyH 26. Jun 2010 13:55

AW: Datenbank Primary Key
 
Vielleicht hilft Dir dieser Thread weiter.

JoltinJoe 26. Jun 2010 14:32

AW: Datenbank Primary Key
 
Hm ich dachte der Expression Index spielt nur bei einer Abfrage eine Rolle ? Ich frage ja nicht ab ob Duplicates vorhanden sind, das macht das DBMS von selber. ..Oder hab ich das falsch verstanden ?

fkerber 26. Jun 2010 15:11

AW: Datenbank Primary Key
 
Hi!

Du kannst auch Duplikate verhindern, ohne dass es sich bei diesem Feld um den PK handelt.
Das Zauberwort ist UNIQUE.
Vor allem kannst du auch mehrere UNIQUE-Felder haben, aber nur einen PK. Aber auch UNIQUE ist von Haus aus case-sensitive.


Grüße, Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz