AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird: viele Testdaten erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird: viele Testdaten erzeugen

Ein Thema von Jürgen Thomas · begonnen am 3. Nov 2009 · letzter Beitrag vom 5. Nov 2009
Antwort Antwort
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

Firebird: viele Testdaten erzeugen

  Alt 3. Nov 2009, 09:34
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBExpert Personal
Hallo,

für Wikibooks: Einführung in SQL möchte ich im Kapitel "Änderung der Datenbankstruktur" ein Verfahren einbauen, mit dem auf einfache Weise viele Testdatensätze erzeugt werden können, und zwar auch unter Berücksichtigung von ForeignKeys. Einer der möglichen Wege ist mir bekannt und (jedenfalls im Prinzip) vertraut:
  1. mehrere temporäre Tabellen mit Werten für die verschiedenen Spalten erzeugen
  2. mit dem kartesischen Produkt oder per Zufallsfunktion diese Werte mischen und in den Zieltabellen speichern
  3. die temporären Tabellen löschen
Dieses Verfahren könnte auch in einer StoredProcedure zusammengefasst und versteckt werden.

Da es sich um eine Einführung in SQL handelt, möchte ich nicht zu sehr in die Tiefe gehen und z.B. die Beispieldatenbank nicht zu sehr ändern. Deshalb interessiert mich:
  • Gibt es ein einfacheres Verfahren?
  • Können anstelle von temp. Tabellen Arrays in SELECT bzw. INSERT eingebaut werden?
  • Übersehe ich andere Möglichkeiten?
Zu den Arrays ist mir folgender Gedanke gekommen: Benutze für eine Namensliste einen String ähnlich diesem:
'Meyer Müller SchnackingGroß '; Also eine Anzahl von Werten mit gleicher Länge (hier: 10 Zeichen), auf die per Zufallswert und Index (1, 11, 21 usw.) zugegriffen wird. Das könnte die temp. Tabellen überflüssig machen, würde aber die Kombination von INSERT und SELECT bei 10 Spalten pro Tabelle ziemlich unübersichtlich machen.

Gibt es bessere Ratschläge und Hinweise? Danke! Jürgen

PS. Ich weiß, dass die Vollversion von IBExpert Testdaten generieren kann. Es geht mir um ein Verfahren, das auf andere SQL-Dialekte übertragbar sein soll und deshalb möglichst mit "reinem" SQL auskommen soll.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: Firebird: viele Testdaten erzeugen

  Alt 5. Nov 2009, 08:11
Zitat von Jürgen Thomas:
Gibt es bessere Ratschläge und Hinweise?
Danke für Ergänzungen! Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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