Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Denkanstoss zum Speichern von mehren IDs in EIN Feld gesucht (https://www.delphipraxis.net/41009-denkanstoss-zum-speichern-von-mehren-ids-ein-feld-gesucht.html)

oXL 24. Feb 2005 15:38

Datenbank: mySQL • Version: 3.42 • Zugriff über: zeosdb

Denkanstoss zum Speichern von mehren IDs in EIN Feld gesucht
 
Hallo Zusammen !

ich habe eine absoluet Anfaengerfrage, programmiere zwar schon eine Weile in Delphi, aber mit Datenbanken hatte ich bisher kaum zutun.

Kurze Schilderung : Möchte ein kleines Schülerverwaltungsprogrammm für Lehrer schreiben, bin damit auch schon relativ weit (im Kopf wie zu Code) gekommen , nur an einer Stelle hänge ich jetz seit Tagen fest, da ich mich nicht entscheiden kann , wie ich es bewerkstelligen soll. :roll:

Ich habe 2 tabellen :

1. Schueler (Felder : ID, Vorname, Nachname, Strasse , ....... , FAECHER , ...)

2. Faecher (Felder : ID, Fach)

Jetz könnte ich natuerlich die ID aus der Fach-Tabelle in das Feld Faecher der Schueler-Tabelle speichern , um zu wissen , welches Fach er besucht. Aber was , und genau das ist mein Problem , mache ich , wenn der Schüler 2 oder gar 3 Faecher belegt ?

Folgende Ansaetze habe ich mir überlegt : Ich speichere alle Fach IDs in ein Textfeld (1,2,5,9)

Da stelle ich mir aber die Frage, warum speichere ich nicht gleich den Namen des Faches (also : Mathe, Physik, Reli , Kunst)....dann müsste ich beim Auflisten die Nummern nicht wieder in Faecher "wandeln")

2. Ansatz : Ich nehme ein SET Feld ( leider kenne ich mich damit überhaupt nicht aus) und speichere die Faecher in eine Liste.

3. Ansatz eines Freundes : Binaerwandeln (also ID1 = 1, ID2 = 2 , ID3 = 4, ID 4 = 8, ID 5 = 16 etc) und schreibe mit dann am Ende einfach z.B 254 in ein INT Feld. Leider weiss ich bei der Methode nicht, wie ich die 254 nacher wieder in die einzelen Indizes bzw. Faecher wandeln soll ...

Ich weiss, mein Frage ist sicher ziemlich dämlich, aber ich stehe jetz schon Tage auf dem Schlauch und würde gerne mal weiterkommen, im Netz finde ich zwar 1000 Anleitungen , wie man EINE ID einer 2. Tabelle in die erste Tabelle speichert, aber auf die Frage, wie ich mehrer IDs speichere, bin ich nicht fündig geworden.

Ich möchte es vermeiden , auf gut Glück in der SchuelerTabelle -zig (Fach-)Felder anzulegen , um dann jedes einzelne mit jeweils einem Fach zu füllen.

Ich wär sehr dankbar, wenn mir jemand eine kleine Denkanstoss oder eine hilfreichen Link dau posten könnte . :love:

Danke und Lieber Gruss , oXL

...benutze D5 Prof, mySQL 3.4x und zeosdb

--

Bernhard Geyer 24. Feb 2005 15:44

Re: Denkanstoss zum Speichern von mehren IDs in EIN Feld ges
 
Neue Tabelle SchuelerFacher(Felder: IDSchueler, IDFach) mit Primärschlüssel auf beide Felder

Für jede Schüler - Fach - Kombination wird ein entsprechender Eintrag erzeugt.

oXL 24. Feb 2005 15:53

Re: Denkanstoss zum Speichern von mehren IDs in EIN Feld ges
 
Hallo !

Vielen Dank für die schnelle Hilfe ! :-D

Das hört ich sogar für mich verständlich an und ich werde es sogleich ausprobieren ....

Daaaanke ;-)))))


Grüsse, oXL


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 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