| Autor |
Beitrag |
NoEon
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Mo 07.04.03 13:17
Hallo, Mahlzeit
ich hab hier drei Tabellen
einen mit dem Inhalt:
softintern
softextern
Kategorie
Kurzbeschreibung
Stand
die zweite mit
Kategorie
die Dritte mit
Firmenname
ich möchte auf dem Forumlar eine pull down Listbox haben, inder sollen etliche Kategorien stehen (aus der zweiten Tabelle) sollen diese dann kommen die Trag ich da noch ein.
jetzt will ich die Kategorie auswählen bzw. ich wähle sie aus und wenn ich dann auf einen Knopf drücke soll die Kategorie aus der Kategorie Liste in die erste liste in das Feld Kategorie übertragen werde.
Das ist mein erstes Problem. Ist irgendwie doch nur ne kopier Funktion oder so....oder?? :?:
Dann kann es sein das die Software (softintern aus der ersten Tabelle) von unterschiedlichen Firmen genutzt wird. Das muss ich ja auch irgendwie darstellen oder??
Beispiel Software xy wird benutzt von Firma 1, Firma B und so weiter.. das koennen Teilweise bis zu 50 Firmen sein!
Kann mir da mal jemand geistig zur Seite stehn?? Wäre echt super nett!
Kauft euch nicht das Buch Programmieren lernen in Delphi 6 das ist nicht so gut, da versteht man echt null!
Gruss
NoEoN
|
|
JFK
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 07.04.03 13:32
???
Access, MS-SQL Server, Oracle, DB2
was benutzt du ?
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Mo 07.04.03 13:39
die Frage würde sich auch noch stellen oder?? Also das soll keinen Grosse Anwendung werden! Ich hab hier die Möglickeit was auf nem Server zu speichern. Brauch ich für so einen Datenbank schon einen Server??
Also das was ich beschreiben habe, soll auf mehreren (max 20 Workstationen lauffähig sein)
und ja halt änderungen sollen für jeden sichtbar sein!
...ich frag mal eben unsern Admin ob wir da noch was von dem was du gefragt hast.
Erstellen halt unter Delphi... :roll:
....ne also das ist alles was ich sagen kann! Kein SQL Server oder ähnliches, sorry.
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 07.04.03 14:17
er meint welchen datenbanktyp du benutzt ...
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Mo 07.04.03 14:21
Sorry da verste ich die Frage nicht, noch benutze ich gar nichts! Ich kann mich also entscheiden, wobei ich von mySQL schon mal was auf meinem Rechner drauf hatte.
oder tappe ich imemr noch im dunkeln??
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Mo 07.04.03 15:22
Hi
| NoEon hat folgendes geschrieben: | die Frage würde sich auch noch stellen oder?? Also das soll keinen Grosse Anwendung werden! Ich hab hier die Möglickeit was auf nem Server zu speichern. Brauch ich für so einen Datenbank schon einen Server??
|
Na zuerst brauchst du mal überhaupt eine Datenbank. Foxy und JFK wollten von dir wissen welche. Ob die Datenbank dann später tatsächlich auf dem Server läuft, spielt an der Stelle noch keine (grosse) Rolle. Guckst du hier.
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Mo 07.04.03 15:30
Also ok.. damit alle auf das gleiche Zugriff, also auf die gleichen Daten haben., muss doch ein Server irgendwo her oder??
Hmm naja wie bewerkstellige ich das ?
ich lese mir aber erstmal durch was Du eben meintest
lars
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Mo 07.04.03 15:40
ok da bin ich wieder,
ich will aber mal anderes fragen. was wäre für mich die beste Möglichkeit bzw. das Beste?
brauchen Ihr von mir dafür noch ein paar angaben??
damit will ich sagen das wir richtig bei null anfangen koennen. Das übt schoen! ---> und ich hab am ende sogar noch was davon gelernt!
Gruss
Lars
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Di 08.04.03 08:05
mal ganz zum anfang ... du brauchst dir um sen server jetzt noch keine gedanken zu machen ... du erstellst sowiso erst einma ne locale db ... ich benutze z.B. Interbase
dann amchst du erst einmal deine db struktur und erzeugst primäre schlüssel und foreigen schlüssel( für 1:n beziehung)
wenn du soweit bist dann meld dich ma ...
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Di 08.04.03 10:12
jo soweit bin ich, ich hab ne schone Tabelle mit nem Primärschluessel gemacht. maintabelle.db heisst die... ist im Paradox Format gespeichert
und Local auf meinem PC.
ich stelle mir gerade die Frage ob es sinn macht mehr Tabellen zu erzeugen. Es kommt wohl imemr darauf an was man machen will oder??
was kommt jetzt??
Aso, ich habe schon die zuweisungen im Delphi gemacht, also die Datasource einstellen und so.. das kann ich, das haut gut hin, das Prinzipp dieser Methode hab ich verstanden.
Aber wie kann ich jetzt sinnvoll weiter machen? Kann ich dir angaben mahen mit denen Du etwas anfangen kannst??
gruss
Lars
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Di 08.04.03 10:54
ForeigenKeys erstellen zu den tabbeln mit einer referenziellen bedingun
ForeigenKey = Fremdschlüssel
wie das genau geht kann ich dir selber nicht sagen weil ich mit meiner db genau vor dem selben problem stehe .... wenn einer ma da eine konkrete antwort hat mit bsp oder tut wär ich danke ... also für interbase 
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.04.03 11:06
Hi
| NoEon hat folgendes geschrieben: | ich stelle mir gerade die Frage ob es sinn macht mehr Tabellen zu erzeugen. Es kommt wohl imemr darauf an was man machen will oder??
|
Da hast du recht. Deshalb überlegt man sich das auch vorher.
| NoEon hat folgendes geschrieben: |
was kommt jetzt??
|
Ich würde sagen, das Erstellen der restlichen Tabellen entsprechend deiner Datenbankstruktur. Also so wie du's oben beschreiben hast. Und wenn das alles Fertig ist, nehmen wir uns die Steuerelemente vor.
@foxy
| foxy hat folgendes geschrieben: |
ForeigenKeys erstellen zu den tabbeln mit einer referenziellen bedingun
ForeigenKey = Fremdschlüssel
wie das genau geht kann ich dir selber nicht sagen weil ich mit meiner db genau vor dem selben problem stehe .... wenn einer ma da eine konkrete antwort hat mit bsp oder tut wär ich danke ... also für interbase
|
Dann stell doch einfach mal ne konkrete Frage
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Di 08.04.03 11:07
jaja ich mach demnächst ein thread auch wenn ich wieder dort bin immo bin ich woanders dran .... ist ein bischen komplizierter als das ich jetzt da mit einem satz alles sagen könnte 
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Di 08.04.03 11:54
ich bin mir nict sicher ob es sinn mach merh Tabellen zu erzeugen, kann mir das vieleicht jemand sagen!??
Also meine Tabellen struktur ist jetzt wie folgt.
maintabelle:
-softnameintern (A)
-softnameintern (A)
-kategorie (A)
-kurzbeschreibung (M)
-stand (D)
-Besonderheiten (M)
so und nun hab ich das Problem (Gedanklich), das ich gerne auch noch Sagen möchte welche Kunden die jeweilige Software Benutzen, und das koennen ja nun auch ein paar mehr sein.. ist ja logisch, aber ich kann mir nicht vorstellen das ich jetzt in die Maintabelle noch Kunde1, Kunde2, etc eintragen muss.
Da liegt nämlich jetzt mein Problem, das ich nicht weiss wie ich das genau managen soll. Konnte ich mein Problem deutlich darstellen?
:arrow: Hab gerade mal gefragt ich darf nen Server mir aufsetzten auf dem ich .. was weiss ich machen kann.. nur für meine Datenbanken! ist das nicht geil?? :!: :twisted:
Gruss
lars
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Di 08.04.03 12:20
so ähnlich iss meine db auch ... und habe in deinem fall für die kunden eine 2. tabelle erzeugt eben eine 1:n beziehung
andere möglichkeit wäre in dein DB grid in eine zeile in der die kunden stehn eine combobox ein zu bauen ... oder du machst es dynamisch und erweisters immer um ine spalte pro kunde ... aber im ernst das iss alle nich sehr profesionell
is doch schöner wenn du auf die zeile klickst ein neuer bildschirm kommt mit den dazugehörigen kunden ... diese thema wurde aber schon oft hier behandelt
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.04.03 12:28
Hi
also das Problem mit dem du dich gerade rumschlägst, nennt man in der Datenbanksprache Normalisierung. Aus dem Haufen von Informationen den man speichern möchte eine vernünftige DB-Struktur hinzukriegen.
Auf der einen Seite hast du also deine Tabelle für die Software. Und jetzt sollen auch noch die Kunden ins Spiel kommen. Wie du richtig erkannt hast, ist es nicht gerade klug die Kunden in die Softwaretabelle aufzunehmen. Also brauchst du als nächstes eine Tabelle für die Kunden. Die Verbindung zwischen Software und Kunden geschieht dann über eine dritte Tabelle. In der wird sozusagen festgehalten, welcher Kunde welche Software einsetzt.
Schematisch dargestellt:
Tabelle SOFTWARE
- SW_ID (Primärschlüssel)
- SW_NAME
- weitere Daten
Tabelle KUNDEN
- KD_ID (Primärschlüssel]
- KD_NAME
- weitere Daten
Tabelle EINSATZ
- E_NUMMER (Primärschlüssel, AutoInc)
- KD_ID (ID des Kunden)
- SW_ID (ID der eingesetzten Software)
- eventuell weitere Daten
Mit diesem Aufbau werden sowohl Kunden, als auch Software nur einmal erfasst, können aber beliebig oft miteinander in Verbindung gebracht werden. Darauf lässt sich ohne Probleme abfragen welche Kunden die Software XY einsetzen oder welche Software der Kunden YZ einsetzt.
Wenn du Datenbanken wirklich sinnvoll einsetzen willst, bleibt dir die Auseinandersetzung mit der grauen Theorie leider nicht erspart. Und genau da solltest du ansetzen.
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Di 08.04.03 12:42
graue Theorie, ja das stimmt, darum bin ich ja hier, gluab mal ja nicht ichhab schon recykeltes Papier bekommen und die versuaten Papieren aus der Firma landen alle bei mir.. weil ich die alle mit entwürfen voll schmiere. Aber ich hab hier leider niemanden der mal was von Theorie versteht. ( darum danke das Ihr alle da seid)
das klingt super vernüftig.
ich werde mich mal an dein Beispiel halten und das versuchen zu strukturieren. Ich denke das sollte nicht das Problem sein!
was ist "(Primärschlüssel, AutoInc)"?
Primärschluessel ist klar!
So wie ich das sehe sind das genau die anforderungen (datentechnisch gesehn) die ich brauche!
Wie mach ich den jetzt Sinnvoll weiter Ich denke das hat mir ne ganze menge gebracht bis jetzt, wäre klasse wenn Ihr euch noch ein bsichen mit mir beschäftigen koennt.
Dake noch mal bis hier!!
Lars
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.04.03 12:54
Hi
| NoEon hat folgendes geschrieben: | was ist "(Primärschlüssel, AutoInc)"?
Primärschluessel ist klar!
|
Im Gegensatz zur Kunden-ID oder Sofware-ID, die ja meist irgendwelchen Regeln (und wenns nur die Debitorennummer der FiBu ist) unterliegen, wird diese Nummer nur intern verwendet. In der Praxis bekommt die der Anwender niemals zu sehen. Deshalb kann sie ohne Probleme automatisch generiert werden. Eben ein Zähler- oder AutoInc-Feld dass die Datenbank selber füllt.
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
NoEon 
      
Beiträge: 138
win9x, win 2000, win xp, linux 8.0
|
Verfasst: Di 08.04.03 13:01
ahhh ich versteh.. hmm hab ich alles fein fertig gemacht, und noch ein paar Memo Felder eingefügt. Für die Software beschreibung, Kategorie darf ich nicht vergessen!
Ok... was sollte ich jetzt amchen?? Muessen die Tabellen noch alle untereinander verknüpft werden??
Wenn ja wie mache ich das??
Gruss
Lars
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Di 08.04.03 13:14
Hi
Normalerweise ja, aber bei Paradox-Tabellen machts wenig Sinn. Obwohl du auch hier mit dem DB-Desktop für einzelne Felder eine Nachschlagetabelle festlegen kannst.
Für die Tabelle Einsatz könnte man festlegen: Feld KD_ID wird nachgeschlagen in KUNDEN.KD_ID, Feld SW_ID wird nachgeschlagen in SOFTWARE.SW_ID.
Die ganzen Zusammenhänge mit den Steuerelementen sind mir jetzt zuviel zum Schreiben. Da bau ich dir mal ein kleines Beispielprogramm. Schick mir mal ne PN mit deiner eMail Adresse, dann schick ich dir das morgen früh.
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|