![]() |
Datenbank: tdbf • Version: 6.9 • Zugriff über: direkt
Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Hiho.
In Sachen DB bin ich ein Anfänger, daher bitte ich um Rat, wie eine Tabelle auszusehen hat, die folgenden Ansprüchen genügt: 1. Datenbank muss vordefiniert werden, da in die Felder später Daten eingetragen werden. Bsp: Vorgabe 12 Stunden alle 1/4 Stunde Eintragsmöglichkeit 2. Index sollte Datum und Uhrzeitabhängig sein 3. Feld Datum/Uhrzeit darf nicht fix sein, da eine Anpassung des Intervalles erfolgen sollte. Bsp: Aus 1/4 Stunde kann auch 10 Minuten-Takt werden. Die Assoziationen der Uhrzeit-Termin sollen dabei entweder neu geordnet oder bestehen bleiben/angepasst werden (vorher: Termine = 8:15, 8:30 -> 8:10, 8:20 ODER [..] -> 8:10, 8:30 wobei in Fall 2 um 8:20 ein leeres Feld entsteht) 4. Aus Pkt.3 ergibt sich eine Indizierte Erweiterbarkeit der DB, was sich wiederum wohl auf den Index bezieht, der neu erstellt werden muss (?) Wie sähe so eine Struktur aus ? Danke für Tipps, ~M. |
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Ich würde die Zeitpunkte nicht vorgeben, sondern nur den Start speichern.
|
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Hallo,
1. Warum dbf .. (jaja, musste sein ;) ) Also, du brauchst mindestens 2 Tabelle, Tab 1: Main ID integer (autoinc, primary key), wird immer hochgezählt, hat aber sonst keinen Bezug zu den Daten TheDate DATE TheTime TIME Tab 2: Data ID siehe Tabelle Main MainID Integer Foreign key auf Main.ID Data1 XXX Data2 XXX Bsp.-Datensätze Main ID, TheDate, TheTime 10, 12.03.2009, 12:03 11, 12.03.2009, 12:05 Data 25, 10, XXX Daten für Main-Record 10 27, 11, XXX Daten für Main-Record 11 Warum so kompliziert ? Es geht sogar noch "komplizierter" Tab 2: Data ID siehe Tabelle Main MainID Integer Foreign key auf Main.ID DataName Char(20) DataValue Char(20) Data 25, 10, 'Name', 'Müller' 26, 10, 'VorName', 'Heinz' 28, 10, 'Name', 'Walter' 20, 10, 'VorName', 'Fritz' Mit dieser Struktur bist du flexible gegenüber Änderungen ! Neues Daten-Feld gewünscht ? -> Einfach Speichern. Neues Datum/Zeit ? -> Einfach Speichern. Heiko |
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Danke Euch beiden ersteinmal für die schnellen Antworten. Gleich noch vornweg: mir schwirrt der Kopf. Ich kann DiESES abstraktes Denken einfach nicht umsetzen :(
Die Relationen einer Datenbank bzw der Tabellen untereinander/miteinander geht mir einfach nicht leicht von der Denkweise in mich hinein. Rechnen geht besser ;) Arrays kann ich besser im Kopf verwalten. Aber sowas nicht. Bin leider auch kein gelernter Informatiker, mache alles als Autodidakt. Auch ein Hinweis auf Dieses Tutorial ( ![]() Zitat:
![]() Zitat:
Zitat:
Zitat:
Danke nochmals. |
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Hallo,
kurz, ja du hast es verstanden ;) Man muss immer weitersehen. Das schwierigste bei einer DB ist, wenn das Design der Tabellen geändert werden muss, weil z.B. neue Felder eingefügt werden müssen. Heiko |
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Hm, deswegen versuche ich es mit der von mir gewählten, da ich mit einer einzelnen DB schon Erfahrungen habe und nachträgliche Felder leicht einbaubar sind.
Aber in dem Zusammenhang noch eine Frage: ist es sinnvoll schon vorher einige leere Felder zu definieren, die später evtl. nutzbar gemacht werden können und bis dahin 'einfach so nebenher mitlaufen'? Z.B. eine TB mit vorname 1x nachname 1x dummy_int 5x dummy_char 5x dummy_date 3x (5 x dummy_xxx => dummy_xx1, dummy_xxx2 ...) ? |
Re: Wie diese Tabelle (tdbf) am günstigsten anlegen ?
Hallo,
nein, ist es nicht. 1., du weisst nicht, wie gross z.B. ein Char sein wird. Les dir ausserdem mal in wikipedia was zu Normalisierung von Tabellen durch. Noch ein Tip: Wir reden von Tabellen, nicht von Datenbanken, wenn wir dir tbf meinen. Unter DBase wäre das Verzeichnis der dbf's eine Datenbank. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz