Wie Beziehung zwischen Tabellen?

Hallo Leute,

habe folgendes Problem. Ich habe eine Tabelle Produkte. In dieser sind Felder wie Name, Preis, Hersteller UND Kategorie.

Jetzt möchte ich der Einfachheit halber die Kategorie in eine Extratabelle packen.

Wie viele Tabellen und mit welchen Feldern erstell ich da?

Danke mfg Sque

Hallo Leute,

habe folgendes Problem. Ich habe eine Tabelle Produkte. In
dieser sind Felder wie Name, Preis, Hersteller UND Kategorie.

Jetzt möchte ich der Einfachheit halber die Kategorie in eine
Extratabelle packen.

Wie viele Tabellen und mit welchen Feldern erstell ich da?

Eine Extra-Tabelle für die Kategorie.
Erstes Feld sollt die Produk-ID sein, zweites Feld eben die Kategorie.

Aber wenn du schon bei so einer einfachen Aufgabe scheiterst, solltest du dich mal mit den Grundlagen beschäftigen:
http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

Moin, Sque,

Beziehungen werden durch Fremdschlüsselattribute abgebildet: Ein Attribut verweist auf ein Schlüsselattribut einer anderen Tabelle.

**Produkt** (<u>ProduktId</u>, Name, Hersteller, FS\_Kategorie, ...)
**Kategorie** (<u>Kategorie</u>, Name, ...)

Datenbanksysteme unterstützen solche Beziehungen, in dem sie für Konsistenz sorgen: Eine foreign key-Klausel sorgt dafür, dass in FS_Kategorie nur Werte eingetragen werden können, die in der Tabelle Kategorie vorhanden sind.

Am einfachsten erzeugst Du Kategorie erstmal aus Produkt:

 Insert into Kategorie (Kategorie) Values (Select distinct Kategorie from Produkt)

und ergänzt anschließend das Feld Kategorie.Name von Hand.

Gruß Ralf

Gruß Ralf

Super, danke an euch beide.

Ja, bin noch am Anfang :smile:

Wusste nur nicht wie die Praxis ist. Ob jetzt eine Tabelle und da die Kategorie direkt rein oder 2 Tabellen und eien davon dann die Beziehungstabelle (sprich Artikel-Nummer und Kategorien-Nummer)

Grüße

Moin, Sque,

Ob jetzt eine Tabelle und da die Kategorie direkt rein
oder 2 Tabellen und eien davon dann die Beziehungstabelle
(sprich Artikel-Nummer und Kategorien-Nummer)

wenn die Kategorie eine nackte Hausnummer ist, braucht’s keine extra Tabelle, nciht einmal, wenn nur bestimmte Werte erlaubt sind, das lässt sich nämlich auch beim Attribut festlegen. Sobald aber die Hausnummer mit einem Text hinterlegt wird, anders gesagt, wenn sie selbst Eigenschaften hat, gehört sie in eine eigene Tabelle.

Gruß Ralf

Hallo Sque,

habe folgendes Problem. Ich habe eine Tabelle Produkte. In
dieser sind Felder wie Name, Preis, Hersteller UND Kategorie.

Hersteller würd ich an deiner Stelle auch in eine eigene Tabelle packen (Stichwort: Redundanz) und einen Fremdschlüssel in die Produkttabelle setzen.

Gruß, Leebo

Guter Hinweis, Danke :smile: