SeToY Geschrieben 10. Mai 2011 Teilen Geschrieben 10. Mai 2011 Mahlzeit, ich habe derzeit ein Problem... Ich versuche gerade, Bilder in einer Datenbank zu speichern - an sich ja kein Problem. Nur habe ich jetzt z.B. nur eine feste Anzahl an Bildern, die ich dann in den Spalten "Picture1" bis "Picture5" speichere... Gibt es eine Möglichkeit, dem Nutzer zu erlauben, eine undefinierte Anzahl an Bildern zu speichern, ohne, dass ich für jedes Bild eine Spalte anlegen müsste? Danke und lieben Gruß Setoy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 10. Mai 2011 Teilen Geschrieben 10. Mai 2011 Wenn ich dich jetzt richtig verstanden habe, speicherst du zurzeit die Bilder zusammen mit Daten von den Nutzern? Dann wäre es besser wenn du einfach zwischen den Nutzerdaten und den Bildern eine 1:n Beziehung aufbaust. Das heißt du speicherst die Bilder in einer eigenen Tabelle und speicherst jedes Bild mit der jeweiligen ID des dazugehörigen Benutzers ab. Dadurch kannst du dann jedem Benutzer seine Bilder zuordnen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 10. Mai 2011 Teilen Geschrieben 10. Mai 2011 Die spaltenweise Abbildung verstößt eh gegen die Normalisierung, somit ist absolut falsch. Wie es mein Vorposter geschrieben hat, sollte das ganze passend modelliert werden und die Beschränkung auf 5 kann man entweder durch die Anwendung oder Trigger abfangen. Ansonsten sollte man sich auch überlegen, ob man die binären Daten direkt innerhalb der Datenbank speichert, als Alternative speichert man die Bilder innerhalb des Dateisystems und referenziert über die Dateinamen / Schlüssel der Tabelle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SeToY Geschrieben 10. Mai 2011 Autor Teilen Geschrieben 10. Mai 2011 Hallo, vielen Dank für eure Antworten! Wenn ich dich jetzt richtig verstanden habe, speicherst du zurzeit die Bilder zusammen mit Daten von den Nutzern?. Das ist (momentan noch) richtig. Dann wäre es besser wenn du einfach zwischen den Nutzerdaten und den Bildern eine 1:n Beziehung aufbaust. Das heißt du speicherst die Bilder in einer eigenen Tabelle und speicherst jedes Bild mit der jeweiligen ID des dazugehörigen Benutzers ab. Dadurch kannst du dann jedem Benutzer seine Bilder zuordnen. Das ist eine gute Idee - durch die Auflösung der Spalten (brauche ja nurnoch 3: Id, UserId und Picture) hätte ich dann auch eine erhöhte "Ordnung" innerhalb der Tabellen Werde ich mal so umsetzen, vielen Dank euch Liebe Grüße Setoy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 12. Mai 2011 Teilen Geschrieben 12. Mai 2011 und die Beschränkung auf 5 kann man entweder durch die Anwendung oder Trigger abfangen. Nein kann man nicht, es sei denn, man sperrt für jeden Insert die komplette Tabelle. Die einzige Möglichkeit das zu realisieren und die Multiuserfähigkeit zu erhalten ist die Kombination eines Check Constraints mit einem Unique Constraint:. Ein Feld wird per Check Constraint so definiert, dass dort nur Ziffern von 1-5 eingegeben werden dürfen. Über ein weiteres geeignetes Feld z.B. den FK zur übergeordneten Tabelle und dem oben erwähnten Feld wird ein Unqiue Constraint gelegt. Erst jetzt ist auch über die Datenbank sichergestellt, dass jeder User nur maximal 5 Einträge einstellen kann. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.