AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ref.Integrität,SQL,Tabellen richtig verknüpfen
Thema durchsuchen
Ansicht
Themen-Optionen

Ref.Integrität,SQL,Tabellen richtig verknüpfen

Ein Thema von Klaus D. · begonnen am 15. Jan 2005 · letzter Beitrag vom 19. Jan 2005
Antwort Antwort
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#1

Ref.Integrität,SQL,Tabellen richtig verknüpfen

  Alt 15. Jan 2005, 14:32
Hallo
Im Beitrag 'SQL(SUMME)' habt ihr mir sehr geholfen,den Report habe ich erstellt, und alles klappt.
Die Datenbank ist aber für'n Ar...entspricht in keiner Weise irgend eine Normalform.
Ich möchte jetzt die Datenbank neu erstellen(normalisiert) mit ADS.
Die Möglichkeit die Datenbank später im Netz zu betreiben möchte ich offen lasse!!!.
Meine Frage: wie würdet ihr die unten gezeigten Daten(Tabellen) verknüpfen.
Die Tabellen Statisch verknüpfen oder zur Laufzeit.
Datensensitieve Komponenten benutzen oder nicht(in irgend einem Beitrag habe ich mal gelesen,wenn die Datenbank später mal im Netz läuft, ist es besser auf Datenbanksensitieve Komponenten zu verzichten(Netzwerklast)ich brächte die zu editierende Tabelle dann nur zu öffnen, wenn wirklich Daten gespeichert werden.
Soll ich von Anfang an auf die TTables verzichten und gleich mit SQL arbeiten.
Die Tabellen Statisch verknüpfen oder zur Laufzeit.
Es handelt sich um eine kleine Kunden/Rechnungsverwaltung mit die Fürung eines Kassenbuches.
...........
  • Tabelle.Kundenstamm
  • ID
  • Kundendaten,Name,VName...
  • Tabelle Rechnungsnummer
  • ID
  • SID_Kundenstamm(Schüssel=>ID(Kundenstamm))
  • Nummer
  • Tabelle Rechnung
  • ID
  • SID_Rechnungsnummer(Schüssel=>ID(Rechnungsnummer))
  • Rechnungsdaten,Text,Kosten....
  • Tabelle Kassenbuch
  • ID
  • Text,Einnahmen,Ausgaben....

---------------
Es müssen monatliche Abrechnungen(Kassenbuch)erfolgen, wo alle Einlagen und Ausgaben des abzurechnenden Monats auftauchen,aber zusätzlich müssen die Rechnungen welche BAAAR bezahlt wurde und in der Tabelle Rechnungsnummer steht auch noch berücksichtigt werden.Am Ende habe ich im Kassenbuch ein negatives oder positives Guthaben,welches ich nächsten Monat wieder berücksichtigen muß.
Es soll dann als kleines preiswertes und auf ein minimum beschränkte Kunden,und Rechnungsverwaltungsprogramm+Kassenbuch werden.
Die Tabellenarchitektur ist nur eine Idee von mir, bin noch dabei einen Plan zu erstellen, was ja bekanntlich länger dauert als die eigentliche Programmierarbeit.
Ich hoffe mich verständich ausgedrückt zu haben und freue mich auf eure Beiträge.
MfG...Klaus
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: Ref.Integrität,SQL,Tabellen richtig verknüpfen

  Alt 17. Jan 2005, 09:33
Hallo,

also wie die DB-Struktur aussehen soll kann und will ich dir nicht vorschreiben.

Zitat:
Datensensitieve Komponenten benutzen oder nicht
Ich würde auf Datensensitive Kompo so weit wie möglich verzichten. Es ist zwar ein wenig mehr Arbeit, Du bist so aber wesentlich flexibler was die arbeit damit angeht.

Zitat:
Soll ich von Anfang an auf die TTables verzichten und gleich mit SQL arbeiten
Mach es am besten gleich alles mit SQL und lasse die Table-Kompos weg

Um die Datenintigrität zu gewährleisten sollten nach Möglichkeit jeder Bezug (z.B. PLz, Namen usw.) nur einmal in der DB vorkommen und über Fremdschlüssel verknüpft werden.

Ich kenne mich mit ADS zwar nicht aus aber ich versuche immer soviel wie möglich die selber machen zu lassen, da dann Fehler weitesgehend ausgeschlossen sind und das Prog o. Netzwerk nicht unnötig belastet wird. Verknüpfung der Tabellen würde ich zu Laufzeit übernehmen, da die DB ja nicht wissen kann wo was wann und wie rein soll.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#3

Re: Ref.Integrität,SQL,Tabellen richtig verknüpfen

  Alt 17. Jan 2005, 13:53
Wofür ist die Tabelle Rechnungsnummer?
Wenn ich Dein Modell richtig verstehe, ist die Rechnungsnummer Bestandteil der Rechnung. D.h. es gibt für jede Rechnung genau eine Rechnungsnummer (?). Dann sollte die Rechnungsnummer in die Tabelle Rechnung rein. Je nachdem ob Du bestimmte Anforderungen an die Rechnungsnummer hast (fortlaufend, Kombination aus Buchstaben und Zahlen ...) brauchst Du dafür ein extra Feld, ansonsten kannst Du auch gleich die ID der Tabelle dafür benutzen.

Geht es darum, Rechnungen zu erstellen? oder willst Du alle Rechnungen, die Du bezahlt hast, archivieren?

Üblicherweise hat man eine zusätzliche Tabelle Rechnungsdetails, die in der Art

SID_Rechnung(Schüssel=>ID(Rechnung))

verknüpft ist.

Im übrigen sind Deine Schlüssel als Verknüpfung schon richtig (was für eine DB übrigens?)

Wenn der Zweck des ganzen ist, Deine Ausgaben zu verwalten, bräuchtest Du evtl. gar keine Tabelle Kassenbuch, sondern könntest alle erforderlichen Infos aus den Rechnungen bzw. Rechnungsdetails ermitteln.

Viel Erfolg
Urs
  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#4

Re: Ref.Integrität,SQL,Tabellen richtig verknüpfen

  Alt 19. Jan 2005, 15:32
Moin

bei Kundenstamm, gehört eine Kundennummer rein, welche auch eindeutig seien sollte.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#5

Re: Ref.Integrität,SQL,Tabellen richtig verknüpfen

  Alt 19. Jan 2005, 15:47
Zitat von Hasse:
Moin

bei Kundenstamm, gehört eine Kundennummer rein, welche auch eindeutig seien sollte.
Das kann doch die ID sein
  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 01:40 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