AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mehrere Tabellen mit Delphi verbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Tabellen mit Delphi verbinden

Ein Thema von MoYo · begonnen am 8. Mai 2005 · letzter Beitrag vom 31. Mai 2005
Antwort Antwort
Seite 1 von 3  1 23      
MoYo

Registriert seit: 6. Apr 2005
20 Beiträge
 
#1

Mehrere Tabellen mit Delphi verbinden

  Alt 8. Mai 2005, 20:59
Datenbank: Paradox • Version: 7 • Zugriff über: Quelltext
Wie kann ich mehrere Tabellen mit Delphi verbinden / verknüpfen ? Es sollte vom Quelltext aus gelöst werden.

Beispiel:

-: Schüler Tabelle :-
SchülerID
Name
Vorname
Klasse
Lehrer

-: Sportteam :-

TeamID
Team
Sportart

-: Verknüpfung :-

TeamID
SchülerID

Die mit dem <- gekennzeichneten sollten verknüpft werden

Hoffe, dass das mit dem Beispiel geklappt hat. Das ist mir so eingefallen und soll nur zur Hilfe dienen. Kann also Fehler enthalten Nur um zu verdeutlichen, dass es verknüft / verbunden werden muss

MFG,

MoYo
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 8. Mai 2005, 21:01
hallo Moyo,

ich sehe da einen Designfehler:

die SchülerTab sollte eine TeamId kriegen und nicht die TeamTab eine SchülerId.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 8. Mai 2005, 21:08
Zitat von kiar:
hallo Moyo,
ich sehe da einen Designfehler:
die SchülerTab sollte eine TeamId Krigen und Nicht die TeamTab eine SchülerId.
raik
Weder noch.
  • Eine Tabelle für die Schüler (SchuelerID, SchuelerName)
  • Eine Tabelle für die teams (TeamId, TeamName)
  • Eine Tabelle für die Verknüpfung von beidem (SchuelerID, TeamID)
So lässt es ich am besten und flexibelsten Verknüpfen. Aber es ging ja wohl darum, wie man es im Source macht. Da gibt es zwei Ebenen. Entweder a) mit mehreren dataSet-Objekten, die man dann prozedural verknüpft oder b) mit nur einem, wobei man dann SQL verwendet.

Bei a) arbeitet man dann mit IndexName, Findkey, Locate usw. Bei b) eben mit der SQL-Eigenschaft. Unter all diesen Suchbegriffen sollten sich in der Delphi-Hilfe und/oder auch hier genügend Beispiele finden lassen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#4

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 8. Mai 2005, 21:30
Ich würde zu a) raten, da ich festgestellt habe, dass SQL-Anweisungen auf Paradox sehr schnell sehr langsam werden (so ab ca. 120MB Daten).

Aber wenn das was größeres wird und nicht nur zum Testen/Üben/Lernen dient, würde ich zu etwas anderem als Paradox raten.
  Mit Zitat antworten Zitat
MoYo

Registriert seit: 6. Apr 2005
20 Beiträge
 
#5

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 9. Mai 2005, 04:35
Könnt ihr vielleicht einen Beispiel in Delphi machen und hier einfügen, damit ich mir das mal angucken kann ? Das wäre sehr hilfreich.

--> In der Hilfe und hier finde ich in der Suche nie etwas

MFG,

MoYo
  Mit Zitat antworten Zitat
MoYo

Registriert seit: 6. Apr 2005
20 Beiträge
 
#6

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 9. Mai 2005, 06:37
Wenn es nicht zu viel arbeit ist, dann wäre es nett beide Varianten als Beispiel in Delphi zu sehen

THX im voraus.

MFG,

MoYo
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 9. Mai 2005, 07:40
Zitat von MoYo:
Wenn es nicht zu viel arbeit ist, dann wäre es nett beide Varianten als Beispiel in Delphi zu sehen

THX im voraus.

MFG,

MoYo
Also erstmal musst Du Dir über die Struktur im Klaren sein. Und dann wäre die konkrete Aufgabenstellung hilfreich. Wie soll z.B. die Darstellung bzw. Bearbeitung erfolgen? Um das ganze erstmal für Dich zu visualisieren, sollten vielleicht am besten Grids eingesetzt werden. Bei der Verknüpfung der Tabellen kommt es auf die Sicht an, die Du erhalten willst. Soll das ganze vom Schüler (in welchen Teams ist ein Schüler) oder vom Team (welche Schüler sind im Team) ausgehend betrachtet werden?

Hier erstmal die Voraussetzungen bei prozeduraler Bearbeitung:
  • Tabellen müssen vorhanden sein
  • Die Indexe müssen angelegt sein, und zwar für jede mögliche Selektions- und Sortieranforderung
  • Die Tabellen müssen über TTable-Objekte geöffnet sein
  • Jeder Tabelle muss eine TDataSource zugeordnet werden
  • Die untergeordneten TTables müssen den richtigen Index haben
  • Die untergeordneten TTables müssen über Mastersource und Masterfields an die jeweils übergeordneten angebunden werden
  • Die TDataSource-Objekte müssen an ein Grid gebunden werden
Ganz wichtig dabei ist die Erstellungsreihenfolge der Objekte, die übergeordneten Elemente müssen zuerst angelegt werden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
MoYo

Registriert seit: 6. Apr 2005
20 Beiträge
 
#8

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 9. Mai 2005, 20:51
Also ich kann euch die genaueren Aufgaben, die ich zu erledigen habe angeben. Das ist mal eine Herausforderung für die Delphi - Cracks Es ist wirklich sehr viel. Wenn ihr wollte können wir das so machen, dass es wie ein Wettbewerb wird. Der, der die Aufgaben am schnellsten Löst kriegt von mir 100 MB Webspace - Ihr könnte euch aber auch einfach so dran machen. Jetzt wisst ihr was ich machen muss. Wollen mal sehen, wie gut ihr wirklich seid

Die Berufsschulen der WvSS bieten einmal jährlich einen Sporttag für Teilzeitschüler an. Die Veranstaltung dauert insgesamt 5 Tage (Montag bis Freitag). An jedem Tag werden verschiedene sportlichen Aktivitäten angeboten. Jede Klasse kann an nur einem Tag teilnehmen.

Die Erfassung der Schülereinwahlen und Erstellung der Anwesenheits-, Übersichts- und Ergebnislisten finden zur Zeit handschriftlich statt.
Angeboten werden Einzel- und Gruppensportarten. Bei allen Gruppensportarten (z. Zeit: Badminton, Basketball, Beachvolleyball, Fußball, Handball, Tischtennis) werden Teams gebildet. Die Teams werden überwiegend aus Schülern einer Klasse gebildet. Die Teambildung wird fortlaufend gekennzeichnet (Team1, Team2, etc.).
Die Einwahl in die Sportgruppen findet klassenweise statt. In Ausnahmefällen darf ein Schüler einer Klasse sich auch in "klassenfremden" Aktivitäten einwählen.
Die Sportgruppen werden normalerweise von einem Sportlehrer betreut, in Ausnahmefällen sind auch 2 Lehrer beteiligt (hier bitte das Modell vereinfachen).
Falls ein Sportangebot überbucht is, müssen sich die betroffenen Schüler neu einwählen.

Aufgabe / Ziel:

1. Erzeugen Sie ein ERD aus der Top-Down-Analyse!

Dokumentieren Sie als Ergebnis das ERD. In der 1. Stufe mit n:m-Beziehungen, in der 2. Stufe sind dise aufgelöst.

2. Erzeugen Sie mit der Bottom-Up-Methode die benötigten DB-Tabellen!

a) Erstellen Sie die Rohrelation incl. Beschreibung der benötigten Daten (auch berechnete). Bringen Sie die Basisinformationen in der 3. Normalform.

b) Dokumentieren Sie das Ergebnis (Tabellenname, ID-Bezeichnung, Felder). Markieren Sie ID und Fremdschlüssel.

c) Überprüfen Sie ihren Entwurf anhand des ERD aus der Top-Down-Analyse.

d) Erzeugen Sie in einem dem Projekt untergeordneten Ordner alle benötigten Paradox Tabellen.

3. Datenerfassung

Bei der Datenerfassung sollen Fehleingaben soweit möglich vermieden werden.
Überprüfen Sie, ob ein neu eingegebener Datensatz bereits vorhanden ist, entweder identisch oder ähnlich (mit nur 1%iger Abweichung).

a) Datenerfassung der angebotenen Sportarten mit folgenden Informationen:

Sportart, Datum der Veranstaltungen, Wochentag, Beginn- und Ende-Uhrzeit der Veranstaltung, Treffpunkt (Ort), evtl. benötigte Ausrüstung, betreuende Lehrkräfte (evtl. mehrere), Mindest- und Höchst-Teilnehmerzahl (falls benötigt), Teamsportart (ja/nein), Kosten in EUR.

b) Datenerfassung der Schüler im Dialog mit folgenden Informationen:

Schülernachname, -vorname, Klassenlehrer, Klassenbezeichnung, Geschlecht (m/w), Anwesenheitsvermerk (anwesend, unentschuldigt fehlend, entschuldigt fehlend), evtl. "ist eingewählt"- Kennzeichen, Teamnummer.

c) Datenübernahme der Schüler von Diskette / Datei

Ermöglichen Sie - alternativ - die Übernahme der Schülerdaten aus einer Text-Datei:
'10MTalle.txt'. Zeileninhalte: Leer, Klasse, Nachname, Vorname

Die fehlden Informationen müssen nach erfasst werden (Datensatz-Änderung).

4. Ermöglichen Sie das Führen eines Anwesenheitsprotokolls.

5. Einwahl der Schüler in die Sportgruppen

Berücksichtigen Sie die Teilnehmerzahl (vorerst nur innerhalb einer Klasse). Die Klasse mit der größtmöglichen Teilnehmerzahl soll bei der Auswahl bevorzugt werden. Zeigen Sie zu jeder Klasse an, wie viele Schüler sie (insgesamt) hat und wie viele davon Frauen sind.

Ermöglichen Sie eine Teambildung für die Gruppensportarten. Welche Schüler sind innerhalb einer Sportart ein Team bilden, muss eingegeben werden. Jedes neue Team erhält eine neue Nummer.

Änderungen sollen jederzeit bis zur Veranstaltung möglich sein.

6. Wettkampfablauf und -ergebnisse der Gruppensportarten

Jedes Team erzielt ein Wettkampfergebnis, das eingetragen werden muss.

Es spielen mehrere Teams gegen einandner. Die "Gewinner" spielen in der nächsten Runde weiderum gegeneinander, ebenso die "Verlierer". Es wird das Ergebnis (z.B. 3:0), eine "Rundennummer" oder "Aufstiegsnummer" und ein Kennzeichen "gewonnen ja/nein" benötigt.

Wenn möglich, soll eine Funktion die Filterung der nächsten Teams, die gegen einander spielen müssen, bestimmen (Kann-Lösung). Anderenfalls soll dies eingegeben werden können.

7. Jede Übersichtsliste soll (mit Inhalten) auf Wunsch ausgedruckt werden können.

a) Übersichtsliste aller Schüler einer Klasse
Es soll die Verteilung in die Sportgruppen gezeigt werden; mit Teambildung, falls vorhanden. Insbesondere sollen auch die Schüler gezeigt werden, die noch keine Sportart ausgewählt haben.

b) Übersichtsliste aller nicht eingewählten Schüler aller KLassen (sortiert nach Klasse und Nachnamen)

c) Übersichtsliste alles Schüler einer Sportgruppe pro Tag
incl. Klassenzugehörigkeit, Ausgabe der betreuenden Lehrkräfte und der Wochtentag.

Bisherige Daten:
Wochentag, tabellarische Auflistung alles Sportangebote (in den Spalten), die Klasse und deren Teilnehmerzahl je Sportangebot (in den Zeilen).

d) alles Sportangebote der Woche
Insbesondere alle Sportangebote mit freien Plätzen bzw. alle Sportangebote, die ausgebucht sind.

8. Erzeugen einer Ergebnisliste
Absteigend sortiere Ausgabe alles Teamergebnisse einer Sportart. Die Liste soll ausgehängt werden können. Außerdem soll ein Aushang der 3 besten Teams möglich sein.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 9. Mai 2005, 21:14
Hi MoYo,

das hat ja wohl nichts mehr mit Hilfestellung zu tun - hier geht es um die Abwicklung eines kompletten (und nicht vollständig dokumentierten) Projekts. Bitte habe Verständnis dafür, daß ich jedenfalls dabei nicht mitmachen kann. Ich verdiene mein Geld in einer Software-Firma. Das von Dir angerissene Projekt mit allem Drum und Dran (Erstellung Entity-Realationship-Diagramm ,wie beiläufig erwähnte Druckfunktionialität, nicht genau beschriebener Import usw.) hat aus meiner ersten Abschätzung für einen guten Entwickler ein Volumen von ca. 8 Tagen, wenn es sauber designed, programmiert, dokumentiert und getestet wird. Dies entspricht je nach Stundensatz einem Wert zwischen 3000 - 13000 EUR. Dafür 100Mb Webspace auszuloben ist schon mal lustig und dann solltest Du Dein Angebot auch eher in die Sparte "Projekte" verlagern.

Ich wäre gerne weiterhin bereit, Dir bei bestimmten Fragestellungen und Problemen zur Seite zu stehen. Aber die DP soll ja auch den Teilnehmern einen Lerneffekt bieten und der ist auf die Art und Weise sehr fraglich.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
MoYo

Registriert seit: 6. Apr 2005
20 Beiträge
 
#10

Re: Mehrere Tabellen mit Delphi verbinden

  Alt 10. Mai 2005, 05:09
Ich bin ja nur ein Schüler und kein Software Entwickler , aber wie gesagt hast du jetzt wenigstens eine Vorstellung davon was ich machen muss in der Schule. Das mit WebSpace sollte nur ansporn für euch sein. Wie gesagt könntest du mir dabei helfen die verschiedenen Tabellen zu verbinden.

Ich lade mal eine Excel Datei hoch mit der Normalisierung, die ich angefertigt habe. Die muss ich dann als ERD wiedergeben und Tabellen (in Paradox) anfertigen und diese in Delphi einbauen. In Delphi muss ich halt wissen, wie man die Tabellen mit Schlüsseln über Quelltext mit TQuery und TTable verbindet. Hoffe, dass das dann so prezise genug ist.

Sollten Fehler bei meiner Normalisierung sein, könnt ihr sie verbessern und mir mitteilen.

MFG,

MoYo
Angehängte Dateien
Dateityp: xls sporttag_521.xls (18,5 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:13 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