Ich habe gemerkt, das die Datenverwaltung in der Datenbank nicht geordnet ist (moment noch nicht aufregen... ich erkläre es

Wenn ich eine Sprache anlege, und losche... und anlege... und lösche... und anlege hab ich hinter der Sprace die ID 3 stehen. Ergo wird hier die Datenbankstruktur nicht chronologisch gehalten....
Mein Lösungsansatz (der wunderbar Funktioniert - ist langzeiterprobt ... 4 Jahre):
Erstellen einer Datenbank KeyBasket mit den Feldern:
Beim löschen eines Datensatzes wird die ID des zu löschenden Datensatzes in die Tabelle Keybasket geschrieben, inkl. dem Tabellennamen, aus dem die ID Stammt.DROP TABLE IF EXISTS keybasket;
CREATE TABLE keybasket (
key_id int(5) NOT NULL default '0',
tablename varchar(255) NOT NULL default ''
) TYPE=MyISAM COMMENT='Speichert die einzelnen Schlüssel, die in den Tabellen gelöscht wurden, um diese für neue Datensätze zu vergeben';
Wenn nun im Modul Sprache (nur mal beispielsweise herangezogen) ein neuer Datensatz vorhanden ist, fragt er die Tabelle KeyBasket erst ab, ob für Ihn eine ID bereit liegt. Wenn ja, nimmt er diese, und löscht Sie aus dem KeyBasket, wenn nicht, erstellt er ganz normal einen neuen Datensatz.
In meinem System habe ich eine globale Datenbank-Schnittstellenklasse gehabt, die eine Implementierung einer solchen funktion innerhalb von 15 Minuten erlaubt... ich weiß leider noch nicht, wie das bei Contenido aufgebaut ist, weil ich mir den Quellcode noch nicht zur gemüte geführt habe....
1. Was haltet Ihr von der Idee?
2. Hat Contenido eine globale Datenbank-Schnittstelle, in der alle SQL-Anweisungen gekapselt sind?