Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datenbank aufbau - für Fortgeschrittene?

Begonnen von Torsten2000, Februar 01, 2015, 10:34:53

⏪ vorheriges - nächstes ⏩

Torsten2000

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?

MzKlMu

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.

Gruß Klaus

database

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.

...

MzKlMu

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.
Gruß Klaus

database

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

Torsten2000

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.

MzKlMu

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.
Gruß Klaus

Torsten2000

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