devJens
Benutzer
- Beiträge
- 5
Hallo alle zusammen,
derzeit stecke ich in den Anfängen von einem privaten Projekt. Dabei will ich versuchen eine Produktdatenbank für Hardware aufzubauen, später soll dann ein Spring Boot REST Backend folgen und sofern ich das schaffen sollte so möchte ich mich an ein Angular Front End wagen welches als Preisvergleich umgesetzt werden soll. Wichtig ist mit dabei zu erlernen wie mit extrem vielen Produkteigenschaften umzugehen ist.
Grundkenntnisse sind da, bin Student der Informatik, ca. 2/3 der Scheine sind gemacht.
Warum das ganze: Besseres Verständnis für Datenbanken entwickeln, persönliches Interesse.
Mein aktueller Stand ist der Versuch ein Datenbank Schema für das Produkt "CPU" zu gestalten. Mein Ziel ist es das meiste an Hardware abzudecken was auch bei Geizhals zu finden ist, also auch z.B.: Mainboards, GPUs, RAM, usw.
Hier ist die CPU Übersicht Seite:
AMD mit CPU-Serie AMD: Ryzen 3000, Sockel: AM4 Preisvergleich Geizhals Deutschland
Hier ist eine CPU Detail Seite:
AMD Ryzen 3 3200G, 4C/4T, 3.60-4.00GHz, boxed ab € 89,00 (2020) | Preisvergleich Geizhals Deutschland
Dabei sind folgende Produktinfos ersichtlich:
Segment:
Chipsatzeignung:
Architektur:
Codename:
CPU-Familie AMD:
CPU-Serie AMD:
CPU-Suffix AMD:
Sockel:
Kerne:
Threads:
Basistakt:
Turbotakt:
SMT:
Freier Multiplikator:
Fertigungsprozess:
TDP:
L2-Cache:
L2-Cache-Detail:
L3-Cache:
L3-Cache-Detial:
Chipsatz-Interface:
PCIe 3.0 Lanes:
PCIe 3.0 Lanes Details:
Systemeignung:
Speicher max.:
Speicherbandbreite:
Speichercontroller:
ECC-Unterstützung:
Speichertakt:
Grafik (iGPU vorhanden):
iGPU-Einheiten:
iGPU-Shader:
iGPU-Takt:
iGPU-Interface:
iGPU-Rechenleistung:
iGPU-Funktionen:
CPU-Funktionen:
Heatspreader-Kontaktmittel:
Temperatur max.:
Verpackung:
Kühler:
Stepping:
CPU-Funktionen:
Fernwartung:
Systemeignung (Anzahl Sockel):
Einführung:
Herstellergarantie:
Hersteller-Link:
Letztes Preisupdate:
Veröffentlichung:
Gelistet seit:
Bei der Recherche im Internet auf folgende interessanten Infos gestoßen (falls es andere Interessiert sind)...
Database Schema for Multiple Types of Products
Database schema
What is an efficient design to store variables for different product lines in ER database?
Entity–attribute–value model - Wikipedia
How are product attributes and attribute options stored in Magento database?
So und nun zur eigentlichen Frage. In Anbetracht das Geizhals viele tausende Produkte in ihrer Datenbank haben, stellt sich die Frage nach einem möglichen Design welches dort wahrscheinlich verwendet wird, bzw. andere eCommerce Plattformen für etwas größere Produktdatenbanken verwenden.
Konkret wäre mein Ansatz nicht EAV zu verwenden, aus Performance gründen sowie der Komplexität, wie gesagt ich habe davon nicht wirklich viel Ahnung, daher gründet die Entscheidung wahrscheinlich eher auf Unkenntnis
Beispiel Schema:
Hier ist der Versuch spezifischen Daten für eine Entität in Form einer Komponentenart über Untertabellen zu repräsentieren. Wie der vorherigen Liste zu entnehmen sind wären dies wahrscheinlich einige, am Beispiel oben mit "manufactor" und "cpu_functions" zu sehen. "gpu" und "mainboard" hätten eigene Untertabellen für ihre spez. Eigenschaften. Mögliche gleiche Tabellen für die Komponenten wären evtl. eine Tabelle in der Bilder gespeichert werden.
Bei "manufactor" gibt es nur eine Möglichkeit, bei "cpu_functions" dagegen können mehrere oder keine vorhanden sein, z.B. "AVX", "AVX2" oder "AES (2x FMA)". In der Tabelle "cpu_functions" wären alle Möglichkeiten vorhanden und die Tabelle wäre auch erweiterbar falls später mal neue CPU Funktionen dazu kommen.
Macht das so grundlegend Sinn oder sind große Produktdatenbanken vom Grundschema deutlich anders aufgebaut ? Wenn jemand Literatur, Threads oder sonstige Quellen kennt welche auf solche Fragen abzielt kann er die gerne posten, bin auch dafür Dankbar
derzeit stecke ich in den Anfängen von einem privaten Projekt. Dabei will ich versuchen eine Produktdatenbank für Hardware aufzubauen, später soll dann ein Spring Boot REST Backend folgen und sofern ich das schaffen sollte so möchte ich mich an ein Angular Front End wagen welches als Preisvergleich umgesetzt werden soll. Wichtig ist mit dabei zu erlernen wie mit extrem vielen Produkteigenschaften umzugehen ist.
Grundkenntnisse sind da, bin Student der Informatik, ca. 2/3 der Scheine sind gemacht.
Warum das ganze: Besseres Verständnis für Datenbanken entwickeln, persönliches Interesse.
Mein aktueller Stand ist der Versuch ein Datenbank Schema für das Produkt "CPU" zu gestalten. Mein Ziel ist es das meiste an Hardware abzudecken was auch bei Geizhals zu finden ist, also auch z.B.: Mainboards, GPUs, RAM, usw.
Hier ist die CPU Übersicht Seite:
AMD mit CPU-Serie AMD: Ryzen 3000, Sockel: AM4 Preisvergleich Geizhals Deutschland
Hier ist eine CPU Detail Seite:
AMD Ryzen 3 3200G, 4C/4T, 3.60-4.00GHz, boxed ab € 89,00 (2020) | Preisvergleich Geizhals Deutschland
Dabei sind folgende Produktinfos ersichtlich:
Segment:
Chipsatzeignung:
Architektur:
Codename:
CPU-Familie AMD:
CPU-Serie AMD:
CPU-Suffix AMD:
Sockel:
Kerne:
Threads:
Basistakt:
Turbotakt:
SMT:
Freier Multiplikator:
Fertigungsprozess:
TDP:
L2-Cache:
L2-Cache-Detail:
L3-Cache:
L3-Cache-Detial:
Chipsatz-Interface:
PCIe 3.0 Lanes:
PCIe 3.0 Lanes Details:
Systemeignung:
Speicher max.:
Speicherbandbreite:
Speichercontroller:
ECC-Unterstützung:
Speichertakt:
Grafik (iGPU vorhanden):
iGPU-Einheiten:
iGPU-Shader:
iGPU-Takt:
iGPU-Interface:
iGPU-Rechenleistung:
iGPU-Funktionen:
CPU-Funktionen:
Heatspreader-Kontaktmittel:
Temperatur max.:
Verpackung:
Kühler:
Stepping:
CPU-Funktionen:
Fernwartung:
Systemeignung (Anzahl Sockel):
Einführung:
Herstellergarantie:
Hersteller-Link:
Letztes Preisupdate:
Veröffentlichung:
Gelistet seit:
Bei der Recherche im Internet auf folgende interessanten Infos gestoßen (falls es andere Interessiert sind)...
Database Schema for Multiple Types of Products
Database schema
What is an efficient design to store variables for different product lines in ER database?
Entity–attribute–value model - Wikipedia
How are product attributes and attribute options stored in Magento database?
So und nun zur eigentlichen Frage. In Anbetracht das Geizhals viele tausende Produkte in ihrer Datenbank haben, stellt sich die Frage nach einem möglichen Design welches dort wahrscheinlich verwendet wird, bzw. andere eCommerce Plattformen für etwas größere Produktdatenbanken verwenden.
Konkret wäre mein Ansatz nicht EAV zu verwenden, aus Performance gründen sowie der Komplexität, wie gesagt ich habe davon nicht wirklich viel Ahnung, daher gründet die Entscheidung wahrscheinlich eher auf Unkenntnis
Beispiel Schema:
Hier ist der Versuch spezifischen Daten für eine Entität in Form einer Komponentenart über Untertabellen zu repräsentieren. Wie der vorherigen Liste zu entnehmen sind wären dies wahrscheinlich einige, am Beispiel oben mit "manufactor" und "cpu_functions" zu sehen. "gpu" und "mainboard" hätten eigene Untertabellen für ihre spez. Eigenschaften. Mögliche gleiche Tabellen für die Komponenten wären evtl. eine Tabelle in der Bilder gespeichert werden.
Bei "manufactor" gibt es nur eine Möglichkeit, bei "cpu_functions" dagegen können mehrere oder keine vorhanden sein, z.B. "AVX", "AVX2" oder "AES (2x FMA)". In der Tabelle "cpu_functions" wären alle Möglichkeiten vorhanden und die Tabelle wäre auch erweiterbar falls später mal neue CPU Funktionen dazu kommen.
Macht das so grundlegend Sinn oder sind große Produktdatenbanken vom Grundschema deutlich anders aufgebaut ? Wenn jemand Literatur, Threads oder sonstige Quellen kennt welche auf solche Fragen abzielt kann er die gerne posten, bin auch dafür Dankbar