Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi fehler beim aktualisieren (https://www.delphipraxis.net/106468-fehler-beim-aktualisieren.html)

Delphi-Phil 11. Jan 2008 12:28

Re: fehler beim aktualisieren
 
ich erstelle und verwalte die tabellen mit diesem microsoft sql server management studio express. wo kann ich da genau diese id einstellung einstellen??


Gruß Phil

Delphi-Phil 11. Jan 2008 14:05

Re: fehler beim aktualisieren
 
mit id einstellungen, meine ich: wie kann ich eine fortlaufende id nummer vergeben !?!?!


Gruß Phil
und ein schönes Wochenende!!

DeddyH 11. Jan 2008 14:21

Re: fehler beim aktualisieren
 
Du musst das Feld der Tabelle hinzufügen und als Primärschlüssel definieren. Als Datentyp bietet sich integer an, falls es so etwas gibt, am Besten "Autowert".

Jelly 11. Jan 2008 14:28

Re: fehler beim aktualisieren
 
Das hinzufügen des Wertes setzt noch lange nicht den Wert, auch nicht bei Autowert (nennt sich übrigens identity beim SQL Server)

DeddyH 11. Jan 2008 14:30

Re: fehler beim aktualisieren
 
Der SQL-Server ist nicht meine Welt ;)

Delphi-Phil 11. Jan 2008 14:30

Re: fehler beim aktualisieren
 
was ist denn jetzt bitte der unterschied zwischen einem index und dem primär schlüssel, ich kann beides für ein feld einstellen!!?!?!?

Jelly 11. Jan 2008 14:47

Re: fehler beim aktualisieren
 
Les dich mal in Datenbankdesign ein...

Jede Tabelle sollte einen eindeutigen Primärschlüssel haben. Dazu bieten sich z.B. Autoincrement Spalten an. Der Primärschlüssel sollte keine zusätzliche Information beinhalten. (Rechnungsnr wäre z.B. kein Kandidat für einen Primärschlüssel).
Der Primärschlüssel dient dazu, einen Datensatz eindeutig zu indentifizieren. Alle Datenbanken sind mengenbasiert, d.h. es gibt keine direkte Reihenfolge. Wenn du eine Kiste mit Legosteinen hast, steht jeder Legostein für einen Datensatz, mit gewissen Eigenschaften (Farbe, Grösse, Gewicht, usw). Wenn du aber jetzt 2 identische Legosteine in die Kiste schmeisst, sie gut mischst, wirst du sie nicht mehr unterscheiden können. Und wenn ich dich frage, hole bitte den einen roten raus, kannst du den nicht von dem anderem unterscheiden. Du hast also ein Problem, es sei denn du hast jeden Legostein vorher eindeutig gekennzeichnet (z.B. vor dem in die Kiste schmeissen fortlaufend numeriert). Wenn ich dich weiter frage: gib mir den Roten. Dann kannst du natürlich weiter mir nur die beiden roten liefern (z.B. N° 432 und 782). Wenn ich aber, bevor ich dich frage, mir selbst die Nummer merke, so werde ich meine Frage anders formulieren: Gib mir Stein Nr. 432. Und du wirst ihn finden.

Und genauso arbeiten Datenbanken.

Indizes dienen dazu, Dinge schneller zu finden. Wenn du 1000000 Legosteine in deiner Kiste hast, und darunter nur 10 rote, kommst du trotzdem nicht drum rum, alle Steine einzeln zu betrachten, und zu kucken, ob er rot ist. Wenn ja, nimm ihn raus. Das ist natürlich ein Haufen Arbeit, und kostet etlich Zeit. Indizes sind sozusagen eine Art vorsortierte Kiste. Und in dieser Sortierung werden die roten Steien alle beieinander liegen. Deine Suche wird dadurch erheblich schneller.... genauso bei Datenbanken.

Es gibt noch viele andere Dinge, die man beachten muss beim Datenbankdesign, aber wie gesagt.... Les dir erst mal ein paar tutorials durch, und stelle danach die konkreten Fragen dazu.

PS: Ich hätte Lehrer werden sollen. Also diese Legokistenvergleich gefällt mir immer besser :mrgreen:

DeddyH 11. Jan 2008 14:51

Re: fehler beim aktualisieren
 
Ein Primärschlüssel ist ein eindeutiger Wert, ein Index hingegen nicht zwangsläufig (sehr kurze Umschreibung ;) ).

Eine Methode fällt mir noch ein:
- Erzeugen einer temporären Tabelle (mit Primärschlüssel und Identity)
- Kopieren der Originaltabelle in die temporäre
- Ändern der Tabellenstruktur der Originaltabelle (evtl. durch Löschen und Neuanlage)
- Zurückkopieren der Daten
- Löschen der temporären Tabelle

Delphi-Phil 11. Jan 2008 14:57

Re: fehler beim aktualisieren
 
okay jetzt ist mir einiges klar!

Wie erstelle ich jetzt also ein primärschlüssel im sql server mit dem angegebenen tool???

Delphi-Phil 11. Jan 2008 15:17

Re: fehler beim aktualisieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
so ich habe alles hinbekommen! ein primärschlüssel ist erstellt. aber jetzt kommt das...habe wieder einen screen angehangen!!

gruß phil


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 2 von 3     12 3      

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