Tabellen - Durcheinander

Hallo,

Ich habe eine bestehende DB (übernommen), in der Artikel (Werkzeug, Kabel, etc.) und die dazugehörigen Eigenschaften (Masse, Gewicht, max. Volt, etc.) gelistet sind.
Z. Zt. sieht es so aus, das eine Tabelle die Artikel beinhaltet (ID, Bezeichnung, Artikelart) und in vielen Tabellen die einzelnen Eigenschaften sind. Dies wurde gemacht, da z.B. Werkzeug ganz andere Eigenschaften hat als Kabel.
Es sieht also so aus:
Artikel
1231 - Kabel 1 - Kabel - …
2313 - Hammer - Werkzeug - …
3532 - Zange - Werkzeug - …

Eigenschaft kabel
1231 - Grün - 220V - …

Eigenschaft Werkzeug
2313 - 30cm - 5 KG - …
3532 - 15cm - 1KG - …

Ich glaube nicht, dass das so ganz richtig ist.
Ich muß z.Zt. immer in Artikel nachgucken, welche Art von Artikel es ist, bevor ich die Eigenschaften ansehen kann.
Da muß es doch was besseres geben.

Es müssen aber nach möglichkeit alle Artikel in einer Tabelle / View / Abfrage … zusammen erreichbar sein.
Und es muß eine relationale, keine objektorientierte Lösung sein.

Wird jemand daraus schlau?

Jan

hi!

welche db? access/mysql/oracle/terradata/…

unter oracle würde das select (unter oracle ev. eine (materialized) view) so aussehen

select a.id, a.name, a.werkzeug, b.eigenschaft1, b.eigenschaft2, …
from artikel a, eigenschaft_kabel b, eigenschaft_werkzeug c
where a.id = b.id (+)
and a.id = c.id (+);

aber du kannst auch das datenmodell auflösen und in eine normalform bringen - aber dazu fehlt mir jetzt die zeit …

grüße,
tomh

Hallo

aber du kannst auch das datenmodell auflösen und in eine
normalform bringen - aber dazu fehlt mir jetzt die zeit …

Genau das will ich.
Weiss nur nicht, wie?

Jan

Ich habe eine bestehende DB (übernommen), in der Artikel
(Werkzeug, Kabel, etc.) und die dazugehörigen Eigenschaften
(Masse, Gewicht, max. Volt, etc.) gelistet sind.

und jetzt magst du sie neuschrieben?

Z. Zt. sieht es so aus, das eine Tabelle die Artikel
beinhaltet (ID, Bezeichnung, Artikelart) und in vielen
Tabellen die einzelnen Eigenschaften sind. Dies wurde gemacht,
da z.B. Werkzeug ganz andere Eigenschaften hat als Kabel.
Es sieht also so aus:
Artikel
1231 - Kabel 1 - Kabel - …
2313 - Hammer - Werkzeug - …
3532 - Zange - Werkzeug - …

Eigenschaft kabel
1231 - Grün - 220V - …

Eigenschaft Werkzeug
2313 - 30cm - 5 KG - …
3532 - 15cm - 1KG - …

Ich glaube nicht, dass das so ganz richtig ist.

wie kommst du darauf?

geht es? hat der db-sever noch luft? dann kann es so falsch cnith sein.

Ich muß z.Zt. immer in Artikel nachgucken, welche Art von
Artikel es ist, bevor ich die Eigenschaften ansehen kann.

ich taete mal sagen, das geht schon in richtung 1. normalform… haetten viele andere menschen bestimmt aehnlich gemacht (ohne details zu kennen)

eher haette man noch weitergehen koennen…

Da muß es doch was besseres geben.

was stellst du dir denn vor?

Es müssen aber nach möglichkeit alle Artikel in einer Tabelle
/ View / Abfrage … zusammen erreichbar sein.

wie das in sql zu notieren sit wurde schon gepostet.

ps: aufpassen, dass beim redesign nicht das original rauskommt…

Begin mal bei:

http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/

Grüße, Robert

1 Like