php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.09.2010, 22:35  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 623
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard Datenbankdesign-Fragen

N'Abend,
ich habe eine paar Fragen zum Datenbankdesign:

1. Nehmen wir an ich hab eine Tabelle, dort kann man per Adminbereich einen Text eingeben, oder ein PDF hochladen. Nachher soll die Datei eingezeigt werden, wenn eine Datei hochgeladen wurde, ansonsten der Text.
Wie soll meine Tabelle am besten aussehen ? Einfach 2 Spalten, einmal "datei" und "text", und dann nachsehen ob bei datei was drinnsteht ?

2. Es gibt eine Liste mit Händler und Herstellern eines Produkt, diese sollen auch wieder in einer Tabelle gespeichert werden. Beide werden nachher in der gleichen Liste angezeigt, vor einem Händler steht aber "Händler" und einem Hersteller "Hersteller". Soll ich nur zu den anderen Infos einfach eine Spalte hinzufügen nach dem Motto "istHersteller" und dann eine 0 oder 1 eintragen und je nachdem weiß ich dann ob es ein Hersteller/Händler ist ?

3. Wie speichere ich am besten Einstellungen ? Also eine große Anzahl von verschiedenen Werten verknüpft mit einem Benutzerkonto ? Eine Zeile pro Benutzerkonto (gaaaanz viele Spalten). Oder eine Zeile pro Einstellung (gaaanz viele Zeilen) ?

4. Ich will, dass man bestimmte Infos kommentieren kann, z.B.: Produkte, Bilder, etc... Soll ich nun für jede eine eigene Tabelle machen, also kommentareProdukte, kommentareBilder ? Oder wäre es besser in den Kommentaren 2 zusätzliche Spalten zu machen, eine mit dem Wert zu welcher Kategorie (Produke, Bilder, ...) und eine auf welchen Datensatz der Kommentar sich bezieht ?

So wie könnte man das Ganz am besten lösen ?

Grüße
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2010, 22:40  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.806
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

1. Ja kannst du so machen
2. Kannst du auch so machen, solltest du später noch mehr "Typen" neben Händler und Hersteller haben könntest du auch eine weitere Tabelle machen mit den Typen und beim Produkt dann immer die Typ-ID.

4. ich würd es so machen das ich eine Tabelle habe mit Kommentaren und ein-zwei Spalten die angeben wo drauf es sich bezieht.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline   Mit Zitat antworten
Alt 06.09.2010, 22:43  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 623
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
2. Kannst du auch so machen, solltest du später noch mehr "Typen" neben Händler und Hersteller haben könntest du auch eine weitere Tabelle machen mit den Typen und beim Produkt dann immer die Typ-ID.
Ja, aber in dem Fall sind es wirklich nur 2 Typen, da kam mir eine eigene Tabelle ein bisschen "zu viel des Guten" vor.
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline   Mit Zitat antworten
Alt 06.09.2010, 22:54  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 289
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
3. Wie speichere ich am besten Einstellungen ? Also eine große Anzahl von verschiedenen Werten verknüpft mit einem Benutzerkonto ? Eine Zeile pro Benutzerkonto (gaaaanz viele Spalten). Oder eine Zeile pro Einstellung (gaaanz viele Zeilen) ?
Würde ich als eigenständige Tabelle machen, da du dort flexibel bist und nicht die Struktur der Tabelle ändern musst wenn neue Einstellungen hinzu kommen.

Zitat:
Ja, aber in dem Fall sind es wirklich nur 2 Typen, da kam mir eine eigene Tabelle ein bisschen "zu viel des Guten" vor.
Wird das immer so bleiben? Vielleicht kommt irgendwann nochmal etwas hinzu und dann musst du die Datenbank ändern. Arbeite gerade auch an einem Projekt wo viel statisch ist und ich viel umschreiben muss wenn eine Änderung eingebaut werden soll.
KarlEgon ist offline   Mit Zitat antworten
Alt 06.09.2010, 22:58  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.806
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Naja wenn du es schon per Spalte machst dann ist es nicht so schwer es auf eine Tabelle auszuweiten von daher wenn es eher unwahrscheinlich ist muss man nicht unbedingt von Anfang an eine eigene Tabelle dafür erstellen.
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline   Mit Zitat antworten
Alt 06.09.2010, 23:51  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.672
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Würde dann aber Typ als ENUM('Händler','Hersteller') empfehlen anstelle von istHersteller als BOOL
fab ist offline   Mit Zitat antworten
Alt 07.09.2010, 13:14  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 623
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Ok, soweit mal danke für dir Tipps, aber ich habe nocheinmal eine Frage:
Nehmen wir an es finden Events statt, diese werden natürlich auch in einer Tabelle gespeichert. Nun gibt es zu den Events auch noch Bilder und Berichte (die dazu kommen sobald das Event gelaufen ist [davor macht ja wenig Sinn]), die jeweils eine eigene Tabelle haben, nun will ich die Bilder + Berichte mit dem Event verknüpfen. Wie macht man es am besten: Eine "Verknüpfer"-Tabelle (EventID, BilderID, BerichteID) oder in die Bilder + Berichte Tabelle eine zusätzliche Spalte hinzufügen, wo dann drinnsteht zu welchem Event das Ganze gehört ?

Grüße
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline   Mit Zitat antworten
Alt 07.09.2010, 13:34  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Bericht dürfte doch sowieso schon mit Event verknüpft sein.

Und wenn die Bilder zum Bericht gehören, dann reicht die Zuordnung Bericht-ID - Bildpfad/Name aus. (Ja, ich schreibe hier extra nicht Bild-ID, weil Bilder normalerweise im Filesystem besser aufgehoben sind, als in der Datenbank.)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 07.09.2010, 21:59  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 623
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Bericht dürfte doch sowieso schon mit Event verknüpft sein.

Und wenn die Bilder zum Bericht gehören, dann reicht die Zuordnung Bericht-ID - Bildpfad/Name aus. (Ja, ich schreibe hier extra nicht Bild-ID, weil Bilder normalerweise im Filesystem besser aufgehoben sind, als in der Datenbank.)
Aber in der Datenbank steht, dass es das Bild überhaupt gibt und welchen Namen es hat usw...

Nachtrag:
Noch mal eine Frage, nehmen wir an ich habe eine Tabelle wo 2 Personen in Verbindung mit einem Datum gespeichert werden sollen. Wäre es nun Schlimm wenn ich datum person1, person2 mache ? Was sicher es ist es werden IMMER (!) 2 Personen, oder eine Person sein. Wäre es in dem Fall sinvoller das ganze in 2 Tabellen zu teilen ?
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

Geändert von ByStones (07.09.2010 um 22:54 Uhr).
ByStones ist offline   Mit Zitat antworten
Alt 08.09.2010, 08:35  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Naja, wie sieht denn der Kontext zu dem Problem aus? Erst mal würde ich sagen, dass das so in Ordnung ist.
Wie würdest du das sonst in 2 Tabellen aufteilen wollen?
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Erneuern von Fragen DasBlatt PHP Tipps 2010 8 22.02.2010 15:30
Fragen zu den Rechten eines Programmierers! Nickstar Trash 6 09.02.2010 19:40
ein paar Fragen (wegen eines Loginhistory) Ninos PHP Tipps 2009 5 04.04.2009 14:59
PHP/MySQL Softwareprojekt - grundsätzliche Fragen spacemanspiff Software-Design 1 30.01.2009 14:40
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
2 kleine Fragen :-) Jeffry PHP Tipps 2008 4 28.06.2008 10:23
gettext, einige fragen notyyy PHP Tipps 2008 12 01.05.2008 12:09
[Erledigt] [SQL] Datenbankdesign Datenbanken 5 12.04.2005 08:30
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
Images Fragen PHP Tipps 2004-2 3 13.12.2004 18:51
Fragen über Fragen :) Igäl PHP Tipps 2004 3 26.08.2004 08:59
Logische Fragen suter PHP Tipps 2004 5 19.08.2004 09:48
Grundlegende Fragen zu datenbankgestützten Internetseiten PHP Tipps 2004 1 14.08.2004 16:15
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\tabelle eventid\

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum