| Autor |
Beitrag |
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 08:58
guden
ich verwende gerade eine IbDatabase ... nun frag ich euch mal wieviele Tabels ich da einbauen kann???
also konkreter ... kann ich pro Datensatz in der einen DB, eine neue Table in der 2. DB machen?
_________________ "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)
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 24.02.03 10:12
Hmm, ich glaub, ich steh aufm Schlauch.
Warum willst Du pro Datensatz in einer 2. DB eine neue Tabelle aufmachen? Was hat das für einen Sinn, wenn Du 2 DBs verwendest? Eine reicht doch. Du kannst in eine DB nur durch den SPeicherplatz begrenzt unzählige neue Tabellen erstellen, aber ob das pro Datensatz Sinn macht? Ich denke nicht. Die DB ist die Grundlage des Programms und sollte eigentlich nicht so extrem dynamisch verändert werden, also nicht neue Tabellen zur Laufzeit erstellen. Denn ein anderer Client muss ja dann wieder rausfinden, welche Tabellen existieren und das ist dann meist nicht einfach mit einer SQL-Abfrage gemacht.
Ich denke, Dein Stichwort heißt zuerst einmal Normalisierung. Google einfach mal danach.
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 10:19
ich kann dir mein Problem sagen,
aber ich denke, das hast du schonmal gelesen.... und zwar geht es darum,
das ich Prodatensatz mehrere DateiPfade einfügen will
das heist ich habe eine Tabelle mit
-Firma
-strasse
-etc
-Files
In die Spalte Files kann ich bisher logischerweise eben nur eine File ablegen(keine File sondern Pfad)
aber ich muss mehrere ablegen können .... kannst du mir einen anderen ansatz geben??ß .... hab bisher üerlegt und das schien mir das este 
_________________ "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)
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 24.02.03 10:43
Wie gesagt, heißt das Stichwort Normalisierung. In diesem Fall brauchst Du eine 1:n-Beziehung und die kannst Du so realisieren:
Das Feld Files kannste weglassen, Du brauchst nur in Deiner adress-Tabelle noch eine ID pro Datensatz. Dann brauchste eine zweite Tabelle, in der die Files stehen. Folgende Felder stehen da drin:
AID <--- das ist die ID des Datensatzes in der Adress-Tabelle
file <--- Pfad der Datei
evtl. noch zusätzliche Informationen.
Achja, AID DARF kein PrimayKey sein, weil mehrere gleiche Werte erlaubt sein müssen!!!
Das Problem ist, das am Anfang zu erkennen.... lies dir halt mal was zur normalisierung durch.
Brauchst Du einige Daensätze für mehrere andere (weil z.B. mehrere Firmen die gleichen Files verwenden (Stichwort Redundanz) melde Dich nochmal, da gibts auch ne Lösung für.
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 10:46
ich kuck erst mal nach normalisierung ... das hört sich gut an .... melde mich nacher nomma
_________________ "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)
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 11:05
also ich habe kein zufriedenstellendes ergebnis erhalten 6 ergebnisse bei google... und bei allen 6 nur 2-5 sätze ....
also wenn du ne page hast wäre ich dankbar
_________________ "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)
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 24.02.03 11:09
Ne Page im Moment nicht.... kauf Dir liebern Buch *g* Aber is eigentlich komisch, dass beim Googeln da nix kommt....
Zu IB-Datenbanken allgemein finde ich folgendes net schlecht
"Interbase - Datenbankentwicklung mit Delphi" von Andreas Kosch
Da werden auch die verschiedenen Normalisierungslevel ganz gut erklärt
Gruß
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 11:25
hmm mal chef fragen ob der das bezahlt
aber thx
_________________ "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)
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mo 24.02.03 12:51
| Zitat: | Relational database: Das Design von Datenbanken, das wir in Produkten wie Interbase, Oracle und Sysbase sehen. Basiert auf einer intensiven theoretischen Arbeit von E. F. Codd und Chris Date, folgt dieses Modell der Mengentheorie in der Mathmatik. Beziehungen werden durch Verbindungsattribute repräsentiert. Streng gesprochen muß das Schema einer Datenbank alle Normalformen, nähmlich die erste, zweite, dritte, Boyce-Codd und die fünfte durchlaufen, bevor es als "normalisiert" betrachtet werden kann. In der Praxis reicht es allerdings, ein Schema in die dritte Normalform zu führen, um als "normalisiert" zu gelten.
|
So, da steht was das ist.  Was daran wichtig ist, ist der Hinweis auf die Mengentheorie. Du hast nämlich Datenmengen, mit denen Du hantierst  Das ist mir aber zu trocken. Wahrscheinlich geht es wieder mal um Deine Bildchen, von denen jetzt endlich der entsprechende Dateiname in der DB gespeichert wird.
Dein Ansatz ist aber schon verkehrt. Du hast mehrere Lieferanten, von denen aber zu jedem unterschiedlich viele Bilder gespeichert werden sollen. Das ist eine 1:n Beziehung. Wobei n für die Anzahl der Bilder steht. Aber es ist Unfug, eine festgelegte Anzahl von Bildern zusammen mit der Adresse des Lieferanten speichern zu wollen. Was Du brauchst sind 2 Tabellen. Eine für die Stammdaten des Lieferanten und eine zweite in der steht :
| Zitat: | ID integer,
ID_LIEF integer,
FILENAME string;
|
Nun kannst Du die Namen aller Bilder eines Lieferanten übersichtlich in einem Grid oder so präsentieren und z.B. mit Doppelclick auf den entsprechenden Namen, das Bild anzeigen. So würde ich das jedenfalls machen. An alle Bilder eines Lieferanten kommst Du so:
Quelltext 1:
| SELECT * FROM BILDER WHERE ID_LIEF = :ID |
ID ist dabei die ID aus der LIEF-Table.
_________________ Gruß
Hansa
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 13:06
hmmm ist ja *popo* kompliziert ...
und ja ich habe nur den pfad
....
also ich habe nun eine 2. tabelle mit den spalten
-ID_File
-File
nun muss ich ja noch irgendwie die 2 spalten verbinden .... brauch ich da eine extra datasource oder so???
das SQL script ist einleuchtend ... aber wie bekomme ich das hin, das datensatz1(ID1), der Kundentabelle, dann die richtigen files zugeordnet werden ..... ich muss da ja irgendwie sagen... was weis ich ...
bei ID1 (Kunde) soll ID1-5 (File) aufgerufen werden, falls so viele da sind .... den ansatz verstehe ich schon irgendwie .... 
_________________ "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)
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mo 24.02.03 13:12
_________________ Gruß
Hansa
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 13:19
hmm ok kann ich noch machen ... aber wie erstelle ich den verweis das war die frage ...
und ich hab gedacht du haste keine zeit *gggg*
_________________ "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)
|
|
Lemmy
      
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Mo 24.02.03 13:46
Hi Foxy,
ich habe auf meiner Seite ein Tutorial das sich mit den Grundlagen der DB-Programmierung beschäftigt. Schau Dir das mal an:
[url] www.delphi-tutorials.../Tutorials/Datenbank Grundlagen.zip[/url]
Grüße
Lemmy
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Mo 24.02.03 13:58
joa thx
das hatte ich schon
aber dennoch thx ....
aso und grohne
buch ist bestellt chef bezahlt  =
_________________ "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)
|
|
|