Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank reinigen (https://www.delphipraxis.net/32213-datenbank-reinigen.html)

Blacklotus 20. Okt 2004 14:02


Datenbank reinigen
 
Hi Leute ich habe folgendes Problem:

Ich benutze die TClientDataSet Komponente um eine XML Datenbank zu laden und zu speichern. Dabei tritt aber folgendes Verhalten auf. Die Datenbank ist leer 390 kb groß, wenn ich nun 4 Datensätze in die Datenbank füge ist die Datenank 2KB groß. Wenn ich nun die 4 Datensätze per TDBNavigator lösche sind die Datensätze zwar beim laden nicht mehr zu sehen aber sie sind immer noch beim öffnen der datenbank mit einem texteditor zu sehen. Die Datengröße beträgt weiterhin 2 kb. gibt es eine Möglichkeit die Datenbank sozusagen zu putzen, bzw. die Daten richtig zu löschen?

MFG Blacklotus

Blacklotus 21. Okt 2004 14:28

Re: Datenbank reinigen
 
Tritt das ganze denn nur bei mir auf ?
Ich hatte vor eine Datenbak aufzubauen, doch mit der oben beschriebenen Problematik ist mir das zu unsicher, denn wenn ich einen Fehler mache, habe ich die Eintrge in der Datenbank hängen und bekomme sie nicht mehr raus. Desweiteren fangen Felder vom Typ Autoinc dann nicht mehr bei 1 an sondern bei der Zahl die gekommen wäre, wenn die alten Datensätze noch existent wären. Hatte mir gedacht ich könnte auch einfach mit dem Notepad die betreffeden Einträge entfernen, aber dabei beschädige ich Die Datenbank und sie wird für Delphi unbraucbbar. Also entweder ihr seid alle perfekt und macht nie Fehler :roll: oder es gibt doch ne Methode diese Einträge zu löschen. Nur habe ich diese bis jetzt nicht gefunden in de Hilfe, bzw. hie im Board. :gruebel:

MFG Blacklotus :hi:

MrSpock 21. Okt 2004 15:00

Re: Datenbank reinigen
 
Hallo Blacklotus,

ich arbeite zwar auch bei lokalen Datenbanken mit myBase, aber mir ist der Effekt einfach noch nie aufgefallen. Es ist aber für viele Datenbankmanagementsysteme normal, dass Datensätze, die geöscht werden, nur als gelöscht markiert werden und erst später ggf. überschrieben werden. Man kann die BD dann je nach System auch wieder restrukturieren. Ob das bei myBase geht, kann ich leider nicht sagen.

Dass AutoInc Felder jedoch nie wieder bei 1 anfangen und Lücken nicht mehr ausgenutzt werden, ist bei (wahrscheinlich) allen Datenbanken so. Das ist kein Fehler, sondern ein feature :mrgreen:.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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