Hallo,
ich mache schon längere Zeit "normale" Datenbanken (Habe aber noch nie Kreuztabellen verwenden und auch NOCH nicht verstanden - hier werde ich mich aber mal einlesen). Ich habe im Internet allerdings Datenbankstrukturen gesehen, bei denen ich nicht weiß, wie die Suche funktioniert.
1. Google Mail
Hier werden die Mails nicht in Ordner einsortiert sondern mit Labels "behaftet".
Den Aufbau kann ich mir gut vorstellen -> n:m-Verknüpfung
Aber wie sucht man jetzt eine Mail die mit Label x und Label y markiert wurde?
2. Noch interessanter finde ich http://www.notebooksbilliger.de/notebooks (oder auch autoscout)
Ich denke da haben wir ähnliches Problem
Wir haben Notebooks mit den Labels "Hersteller" "Prozessor" "Arbeitsspeicher" "Preis" etc.
Aufbau wird wieder gleich sein -> n:m-Verknüpfung
Hier wird jetzt auch noch angezeigt, wieviele label vorhanden sind.
Und wenn ich ein Hersteller auswähle, dann werden auch die Anzahl der Labels aktualisiert
Auch sehr interessant finde ich die Preisanzeige und wie man den Preis einschränkt.
Wie funktioniert das?
Hallo,
ZitatWir haben Notebooks mit den Labels "Hersteller" "Prozessor" "Arbeitsspeicher" "Preis" etc. Aufbau wird wieder gleich sein -> n:m-Verknüpfung
nein, nix n:m. Ein Notebook hat einen Hersteller, einen Prozessor und einen Arbeitsspeicher(größe). Alles einfache 1:n Beziehungen mit jeweils einem Fremdschlüssel in der Tabelle mit den Notebooks.
Hallo,
@MzKlMu
Ich bin mit deiner Aussage nicht ganz einverstanden Klaus.
Es gibt sehr wohl eine Menge Notebooks oder auch PC welche die selbe Produktbezeichnung tragen aber unterschiedliche Prozessoren beinhalten . i3, i5 oder i7 im gleiche Produkt
Gleiches gilt für die RAM-Riegel, 4 - 8 - 16 GB, verbaut im gleiche Produkt, wobei es nicht automatisch sein muss, dass die Riegel alle 4 GB bieten und sich nur die Anzahl selbiger unterscheidet - speziell bei Notebooks, aufgrund der sehr beschränkten Anzahl der Steckplätze.
Bei den Festplatten verhält es sich ähnlich, HDD oder SSD im gleiche Produkt und dieses auch noch in unterschiedlicher Größe des Speichervolumens.
...
Hallo,
ja, Du hast recht. Es sollen ja Notebooks ausgesucht werden. Ich bin davon ausgegangen, dass man Notebooks erfasst. Und da hätte ja ein Notebook nur einen bestimmten Prozessor und nur eine RAM Größe (gesamt).
Also doch n:m.
Hallo Klaus,
ZitatUnd da hätte ja ein Notebook nur einen bestimmten Prozessor
Das ist ja eben die Sauerei, dass das nicht so ist :'(
Die Viecher haben die gleiche Produktbezeichnung aber mit 2 oder mehr unterschiedlichen Prozessoren, RAM-Volumi, etc.
Den Unterschied erkennt man nicht an der Produktbezeichnung sondern nur an der Spezifikation oder am Datenblatt - irre ist das :o
Also m:n ist es schon weil:
Ein Notebook hat einen Prozessor
dieser Prozessor kann aber auch in anderen Notebooks verbaut sein.
ich habe mal mit Kreuzabfragen gespielt. Ich glaube das ist die Lösung:
Ich habe eine Tabelle "Objekte" z.B.
ObjektName
BMW e36
BMW e46
BMW e90
Acer 7750
und eine Tabelle mit Labes:
Name
Farbe
Länge
Hersteller
Modell
ASB
ESP
Farbe Sitz
Preis
Auto
PKW
LKW
Computer
Notebook
Bildschirmdiagonale
Prozessor
Dann habe ich noch eine "Beziehungstabelle"
fs_objekt / fs_Label
Dann habe ich eine Kreuztablle gemacht
Da man da aber keine Filter setzen kann habe ich noch eine Abfrage auf die Kreuztabelle gemacht.
Da kann ich jetzt Filtern z.B. "Gib mir alle Notebooks (mit xy)"
Aber so richtig am Zeil schein ich nicht zu sein vermute ich....
_________________________________
Wie ist das mit der Kreuztabelle die wird ja recht schnell riesig, wenn ich viele Objekte und viele Labels habe. Mit großen Datenmengne kann man die Kreuztabelle nicht mehr verwenden oder?
Ich habe mal die Datenbank angehängt.
Hallo,
ZitatEin Notebook hat einen Prozessor
dieser Prozessor kann aber auch in anderen Notebooks verbaut sein.
mit dieser Begründung ist es aber 1:n und nicht n:m.
Das geht sogar aus Deinem Satz hervor.
Einen Prozessor in anderen Notebooks.
Das seh ich ein bisschen anders:
Der eine Typ Prozessor (Label) kann in n-Notebooks eingebaut sein.
Und das eine Notebook hat m-Labels (Prozessor, Monitor etc.)
Also hätte ich gesagt m:n Beziehung