Erstellen einer DB für Atoteile. Anleitung für Anfänger?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bild
datenbank
datum
ersatzteil
erstellen
fahrzeug
forum
grundlage
hersteller
info
lichtmaschine
nehmen
preis
projekt
redundanten daten
rolle
speichern
tabelle
teil
url
-
Hallo
ich habe bisher recht wenig mit Datenbanken gemacht und immer vorgefertigte Sachen gehabt. Nun möchte ich eine kleine Datenbank bauen in der man der Hobbyschrauber gemeinde eine übersicht bieten kann.
Darin soll die Auswahl des Fahrzeugs als grundlage stehen, und dann die durchsuchbaren und von den Usern erweiterbaren einträge für die Ersatzteile erscheinen.
Ich stelle mir da Spalten vor für die offizielle Bezeichnung, Synonyme wie das Teil noch so umgangssprachlich genannt wird, die Herstellerteilenummer, die OEM Nummer, die Zulieferer Teilenummer. den vom user gefundenen preis und den link zu dem händler der den preis anbietet.
Dazu möchte ich die möglichkeit rein haben das zwei evtl drei bilder dazu hochgeladen werden können die automatisch komprimiert und auf den bildschirm skaliert werden. das komprimieren einfach um platz zu sparen.
im excel isses recht einfach das zu bauen aber ich hab bei der suche hier als auch bei der google suche entweder nix sinniges oder eine flut an infos bekommen bei der ich monate zum lesen und auswerten brauche.
daher hier die bitte nach einem link oder einer informationsquelle die aus eurer erfahrenen sicht für mein vorhaben eine gute quelle darstellt.
Danke schonmal
Chris -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Am einfachsten ist das wenn du auf https://mysql.lima-city.de/ gehst.
Da gibt es dann eine graphische Oberfläche auf der du deine Tabelle erstellen kannst.
int = Zahl (kannst du auch für den Preis nehmen: 60,00€ => 6000)
varchar(länge) = Zeichenkette
und blob kannst du für Bilder nehmen wenn du sie nicht auf dem Webspace speichern möchtest. -
w3j schrieb:
Am einfachsten ist das wenn du auf https://mysql.lima-city.de/ gehst.
Da gibt es dann eine graphische Oberfläche auf der du deine Tabelle erstellen kannst.
int = Zahl (kannst du auch für den Preis nehmen: 60,00? => 6000)
varchar(länge) = Zeichenkette
und blob kannst du für Bilder nehmen wenn du sie nicht auf dem Webspace speichern möchtest.
Ich denke, wenn du so anfängst ist das schon einmal ein guter Start, was das Back-end (Das auf dem Server) betrifft. Die Frage ist, wie dann das Front-End (Was der Benutzer sieht) aussehen soll. Prinzipiell könntest du für die Datenbank Benutzer mit diversen Rechten erstellen, die die Daten dann über phpMyAdmin beziehen (ich weiß aber nicht einmal, ob das bei Lima funktioniert, Benutzer zu erstellen...). Bilder könnten dann aber nicht angezeigt werden; die in der Datenbank per Blob zu speichern hat auch mehr Nach- als Vorteile.
Also müsstest du noch irgendetwas mit PHP etc. programmieren. Dieses Skript könnte dann die Bilder auch auf dem Server speichern und entsprechend anzeigen lassen. Wenn du also HTML und eine serverseitige Skriptsprache kannst, ist das kein Problem. Ansonsten solltest du dich nach einem Softwarepaket umschauen!
mfg
Jonas -
jonas-bayer schrieb:
w3j schrieb:
Am einfachsten ist das wenn du auf https://mysql.lima-city.de/ gehst.
Da gibt es dann eine graphische Oberfläche auf der du deine Tabelle erstellen kannst.
....
Ich denke, wenn du so anfängst ist das schon einmal ein guter Start,
Das ist es wohl eher nicht!
Sinn einer Datenbank ist es doch, Daten sinnvoll zu verwalten. Packt man jetzt diesen ganzen Haufen an Merkmalen in eine Tabelle, ist sie kaum sinnvoll zu nutzen und enthält zudem Massen an redundanten Daten.
Ok, es macht anfänglich mehr Arbeit, sich ein ordentliches Konzept für die Struktur der Daten einfallen zu lassen, dafür ist die Datensammlung später auch nutzbar und es iist deutlich einfacher, die Datensammlung zu pflegen.
Das setzt voraus, daß man das Prinzip verstanden hat. Ein brauchbares Einsteigertutorial, das auch Erklärungen zu Schlüsseln und Normalisierung beinhaltet, ist hier zu finden: http://www.php-kurs.com/mysql---datenbank-unter-php.htm
Hat rheinmainer diese Grundlagen verstanden, kann man hier zielführend helfen.
Beitrag zuletzt geändert: 6.8.2015 15:11:33 von fatfreddy -
Danke erstmal für die infos. es ist schonmal ein anfang an dem ich mich hocharbeiten kann.
bei den bildern hatte ich vor diese auf einem webspace zu speichern und per click für den nutzer dann in einem pop up zu öffnen damit er dann die teile auch sieht falls er sich nicht sicher ist wie das dinges heisst.
ansonsten soll der user am bildschirm nach der auswahl des kfz suchen können
sei es namen synonyme teilenummern um evtl auch die alternativ teile hersteller oder lieferanten zu finden.
die user sind allesamt schrauber und haben derzeit in mehreren foren sammelthreads wo jeder seine infos einfach reinwirft. das geht mir immer so dermaßen auf die nüsse da stundenlang rum zu suchen, wie anderen auch, und so denk ich das uns das weiter bringen wird.
von den rechten her muss sich jeder anmelden mit dem selben namen wie im forum und dann gibts im forum ne pn mit dem freischaltcode. erstmal manuell bis ich nen weg gefunden hab wie das dann automatisiert geht.
zu der bemerkung wegen der redundanten daten.
ja die gibts definitiv eine lichtmaschine wird z.b. bei limousine und turnier verbaut bei allen benziner motoren ist das das gleiche teil. da reicht es dann wenn bei der zeile dieser lichtmaschine als fahrzeug einfach alle drin stehen und wenn der user sein kfz auswählt bekommt er die ja auch angezeigt .
so ob ich die grundlagen verstehe werde ich dann beantworten wenn ich mich da belesen habe :)
auf jedenfall dank für die starthilfe
grüße
Chris -
fatfreddy schrieb:
jonas-bayer schrieb:
Ich denke, wenn du so anfängst ist das schon einmal ein guter Start,
Das ist es wohl eher nicht!
Sinn einer Datenbank ist es doch, Daten sinnvoll zu verwalten. Packt man jetzt diesen ganzen Haufen an Merkmalen in eine Tabelle, ist sie kaum sinnvoll zu nutzen und enthält zudem Massen an redundanten Daten.
Klar, eine riesige Tabelle mit allen Informationen zu erstellen, wird in diesem Fall nicht viel helfen und sehr Performance-schwach sein. Wenn man sich jetzt aber die Vorschläge genau anschaut, fällt mir folgendes auf: Die meisten seiner Punkte liesen sich wirklich in einer Tabelle unterbringen. Problem wären nur Ersatzteile und vielleicht Synonyme (kommt darauf an, wie viele das so sind), die man dann jeweils wieder in einer anderen Tabelle speichern müsste. Übrig bleiben die Nummern und der Preis (int braucht fast nichts an Speicher) und noch zwei Strings: Bezeichnung und Link zum Händler.
Warum sollte man diese (zuletzt genannten) Merkmale nicht in einer Tabelle speichern, bzw. wie sollte man das denn ansonsten lösen? (Ersatzteile in zusätzlicher Tabelle rausgenommen; Ich gehe davon aus, dass Bilder nicht per blob gespeichert werden).
mfg
Jonas -
rheinmainer schrieb:
bei den bildern hatte ich vor diese auf einem webspace zu speichern
Das ist der bessere Weg. Allein schon deshalb, weil Du ein Bild, selbst wenn Du es mehrfach verwenden willst, nur ein mal speichern mußt. In der Datenbank reicht ein Link zum Speicherort.
ansonsten soll der user am bildschirm nach der auswahl des kfz suchen können
sei es namen synonyme teilenummern um evtl auch die alternativ teile hersteller oder lieferanten zu finden.
Gerade dann, wenn vielfältige ond/oder komplexere Suchen zu erwarten siond, ist eine ordentliche Planung der Datenstruktur wichtig.
von den rechten her muss sich jeder anmelden mit dem selben namen wie im forum und dann gibts im forum ne pn mit dem freischaltcode. erstmal manuell bis ich nen weg gefunden hab wie das dann automatisiert geht.
Programmiertechnisch zwar eine zusätzliche Herausforderung, betrifft die Teile-Datenbank aber erst mal nicht.
zu der bemerkung wegen der redundanten daten.
ja die gibts definitiv eine lichtmaschine wird z.b. bei limousine und turnier verbaut bei allen benziner motoren ist das das gleiche teil. da reicht es dann wenn bei der zeile dieser lichtmaschine als fahrzeug einfach alle drin stehen und wenn der user sein kfz auswählt bekommt er die ja auch angezeigt .
Das Teile austauschbar verwendbar sind, ist ein zusätzlicher Aspekt. Mit der Redundanz inder DB war aber anderes gemeint. Siehe dazu die Erläuterungen im verlinkten Tutorial.
Beispiel:
Ein Händler bietet mehrere Teile an. Dann wäre es redundant, bei jedem Teil Name, Anschrift Telefon, etc. des Händlers einzutragen.
Sinnvoll wäre es, die Händler mit ihren Daten in einer eigenen Tabelle abzulegen und bei den Teilen eben nur auf die jeweilige ID des entsprechenden Händlers zu verweisen.
Vorteil: Ändern sich Daten des Händlers, muß man nur einen Eintrag pflegen.
so ob ich die grundlagen verstehe ...
Da bin ich recht zuversichtlich.
Frage zum Projekt: Geht es nur um eine Marke, oder ist das ein markenübergreifendes Projekt?
Wenn markenübergreifend, gilt für die Hersteller natürlich gleiches, wie für die Händler.
Wenn viel Adressdaten zu erwarten sind, empfiehlt sich allein schon eine eigene Tabelle mit den Feldern PLZ und Ort. deren Inhalt kann man sogar schon komplett im Web beziehen und in die DB einpflegen.
Das Feld "Ort" gibt es dann in keiner weiteren Tabelle mehr. Bei Händlern ist z.B. nur die PLZ hinterlegt und das System sucht sich selbst den passenden Ort.
jonas-bayer schrieb:
Die meisten seiner Punkte liesen sich wirklich in einer Tabelle unterbringen. Problem wären nur Ersatzteile
Natürlich kann man ALLES in einer Tabelle unterbringen. Die Frage ist nur, ob das auf Dauer sinnvoll, nutzbar und performant ist.
Wer nach vorne denkt, hält sich besser an erprobte Standards, denn nur dann ist das System handhabbar und erweiterungsfähig. Es wäre wenig sinnvoll, ihm jetzt eine simpellösung zu zeigen, die beim Erfolg des Projektes ein mehrfaches an Arbeit bringt, um nutz- und pflegbar zu bleiben.
Der einfachste Weg wäre eh eine HTML-Seite, bei der die User die Suchfunktion ihres Browsers zur Selektion einzelner Teile nutzen. Sinnvoll. und vorausschauend wäre das aber nicht
"Nur Ersatzteile" ist lustig. Die sind schließlich der Kern seiner geplanten Datenbank. Da er schon die Möglichkeit synonymer Bezeichnungen erwähnt, deutet das doch darauf hin, daß mit komplexeren Abfragen zu rechnen ist. Ein Grund mehr für eine normalisierte Datenstruktur.
-
Guten morgen ihr zusammen :)
@jonas
also so wie ich die anfänge des tutorials verstanden habe wird die basisitabelle echt nicht viel enthalten.
nach meiner erkentniss die ich bis jetzt erlangt habe werden die daten sich so aufteilen
Die ID wird einmalig sein, und dann hört es schon fast wieder auf. Da ein Ersatzteil zu mehreren Modellen gehört, mehrere Teilenummer, OEM Nummern, lieferanten, Preise etc haben kann.
Aber da kann ich die Struktur erst hier vorstellen wenn ich mir etwas genauer gedanken gemacht habe.
Ich weiss auch das der Preis in Beziehung steht zu dem Entsprechenden Lieferanten.
Bei den Teilenummern hat es schon wieder bis zu 10 verschiedene Nummern die alle exakt das selbe teil betreffen, also in eine, wenn ich das Tut verstanden habe, extra tabelle kommen.
Zum glück kommt es bei dem projekt nicht auf die zeit an, da es "nur" ums hobby geht :)
@freddy
ja mit der planung, ich hab gestern so nach 10 zetteln die zerknüllt in die ecke geflogen sind erstmal pause gemacht xP ständig neue punkte die mir dann am end doch net gepasst haben, naja gut ding will weile haben.
nachrichten versand stelle ich dann vorerst zurück, aber bedenke bei der abteilung benutzer, das da ja auch ne datenbank aufgebaut wird mit den infos id name aus welchem forum er kommt kontakt daten etc .
mit der redundanz ah ich glaub mir geht ein lichtlein auf. das beispiel mit dem ändern von infos, war doch sehr hilfreich vom verständnis.
zum projekt
Es Handelt sich in erster Linie um die Marke Ford und im Speziellen um das Modell Mondeo
zu dem "nur" ersatzteile
ja es wird komplex, weil jeder nen Ersatzteil bei nem anderen namen nennt, und kaum einer den vom hersteller festgelegten namen nutztn, da der wiederum nichts sagend ist. Der Hersteller nennt z.b. Ne Spannrolle, ne Umlenkrolle einfach Rolle. nutzt aber die bezeichnung Rolle auch in ner anderen ecke des fahrzeugs. und somit kommt es immer zu rückfragen wenn es um ne Rolle geht um welche es sich handelt. Daher auch die Synonyme, bei der die Masse dann genau weiß welche Rolle gemeint ist.
Sodele ich werd ma en bissi was schaffen gehen und vllt bei leerlauf noch ein paar Blätter mit meinen Ideen misshandeln xP
Grüße
Chris -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage