Allgemeine SQL-Fragen

Diskutiere Allgemeine SQL-Fragen im Developer Network Forum im Bereich Hardware & Software Forum; Moin leute, ich hoff mal, dass der titel so passt, ist nicht aussagekräfig, aber da ich jetzt viel mit sql machen werde, will ich nicht immer...
  • Allgemeine SQL-Fragen Beitrag #1
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
Moin leute,

ich hoff mal, dass der titel so passt, ist nicht aussagekräfig, aber da ich jetzt viel mit sql machen werde, will ich nicht immer einen neuen Thread erstellen und pack deswegen meine ganzen fragen dazu ab jetzt hier rein..

Ich habe vorhin eine Tabelle erstellt mit einem automatisch hochzählenden Index (Identitiy Specification). Wenn ich datensätze erstelle geht es wunderbar, wenn ich allerdings lösche bleiben logschicherweiße lücken in dem Index.

Geht es auf einfachem wege, dass ich sag, dass er den index refreshen soll o.ä. oder muss ich es überall manuell eintragen?

danke schonmal,

mfg
pyro
 
  • Allgemeine SQL-Fragen Beitrag #2
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Das ist so gewollt. Ein (automatischer) Index dient der eindeutigen Identifizierung. Das ist etwas anderes als eine einfache Durchnummerierung. Eine Neunummerierung würde sämtliche Beziehungen zu anderen Tabellen zerstören - für die solche Indizes ja hauptsächlich gedacht sind.
Außerdem hat das auch Performance-Gründe, weil die DB zu jeder Zeit beim Einfügen von Daten weiß, was der nächste Index ist. Ansonsten müsste sie jedes Mal die nächste Lücke finden.
MySQL z.B. setzt den Index in einer Tabelle nur zurück, wenn alle Datensätze komplett gelöscht werden (TRUNCATE TABLE wenn ich mich recht entsinne; ein einfaches DELETE FROM reicht nicht).
 
  • Allgemeine SQL-Fragen Beitrag #3
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Selbst nach einem INSERT und ROLLBACK wird der Zähler nicht zurückgesetzt, obwohl die Daten definitiv nicht benutzt wurden.
 
  • Allgemeine SQL-Fragen Beitrag #4
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
danke schonmal:)

und wie genau macht man das, wenn man über ein grid von einer forma uf einen datensatz zugreifen will und ihn da ändern will?

hab bis jetzt nur abap programmiert und da ging es irgendwie über einen index...

mfg
 
  • Allgemeine SQL-Fragen Beitrag #5
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Dazu müsste man wissen, in welche Sprache, und mit welcher Datenbank. :)
Aber prinzipiell geht das natürlich meist/immer über einen Index; welcher den markierten Datensatz eindeutig identifiziert. Ob der fortlaufend ist, oder nicht, ist ja egal; meistens zeigt man den auch gar nicht an, da der Benutzer ohnehin nichts damit anfangen kann.
 
  • Allgemeine SQL-Fragen Beitrag #6
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
In den Hochsprachen (z.B. Delphi oder C#) mußt Du nicht viel machen, einfach nur das Grid mit einer DataSet verbinden. Die Datenbank-Treiber der Sprache kümmern sich um den Zugriff, entweder über den Primärschlüssel, oder, falls keiner vorhanden ist, über die kompletten Felder des aktuellen Datensatzes.
 
  • Allgemeine SQL-Fragen Beitrag #7
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
ach.. oh.. vergessen.. ich arbeite mit der sprache c#..

danke schonmal für die hilfe, werd mich wieder melden, wenns weitere fragen/probleme gibt:)

mfg
Pyro
 
Thema:

Allgemeine SQL-Fragen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben