ottscho
Goto Top

Suche Datenbank Strukturtipps

Hallo,

ich suche nach einer guten Lösung für eine Datenbankstruktur.
Das Problem hat wahrscheinlich jede Firma, aber ich finde die Lösung nicht.

- Man hat mehrer Einzelprodukte A, B, C, D, E
- Zusammen gesetzt oder auch einzelm geben sie ein Endprodukt (ACD, AE, CE, E, ADE ..)

Wie stelle ich sowas in einer Datenbank dar?
Ich mache eine Tabelle in der der Artikelstamm steht. Nun brauche ich ja irgendwie eine Tabelle, ich welcher ich festhalte, welche Artikel zu einander passen und was es alles für variaten gibt. So eine Art variantengenerator. Hat jmd von euch erfahrung mit solch einer geschichte?

danke

mfg
ottscho

Content-ID: 24632

Url: https://administrator.de/contentid/24632

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

CouchCoach
CouchCoach 27.01.2006 um 09:29:48 Uhr
Goto Top
Hi ottscho,

also du solltest dich mit dem Thema Relationelle Datenbanken ausseinander setzen. Wenn du das Prinzip von Relationellen Datenbanken verstanden hast, wirst du sehen das du sofort verstehst wie du deine Tabellen strukturieren mußt.
Wenn du über das Forum eine Lösung suchst mußt du sehr genau deine Ziele und die Gegebenheiten aufführen, damit ein Lösungsansatz möglich ist.

Grüße
ottscho
ottscho 27.01.2006 um 09:44:08 Uhr
Goto Top
@CouchCoach
hallo, also Relationelle Datenbanken sind mir schon bekannt. Aber wie genau setzt du die Artikel in Relation?

z.b.
ein Firmenausweis besteht aus einem Chip oder mehreren Chips.
nun gibt es die möglichkeit, ein chip, zwei chips, kontakthchip, magnetstreifen, barcode etc.
wähle ich z.B. chip 1 und 2, dann geht magnetstreifen nicht mehr, aber dafür kontaktchip etc.

das muss doch irgendwie vernüftig dargestellt werden könnten?
Esa
Esa 27.01.2006 um 09:55:36 Uhr
Goto Top
Hi,

So in etwa würde ich das Ganze aufbauen. Allerdings muss ich CouchCoach Recht geben, dass du dich etwas mit Datenbankmodellierung einarbeiten solltest, bzw. musst....

Entitäten:
Tabelle Artikel (alle Einzelartikel mit gewünschten Attributen)
Tabelle Variante (alle möglichen Varianten z. B. mit Name, Preis...)
Tabelle Artikel_Variante (hier wird die Kombination deiner einzelnen Artikel mit der Variante festgelegt)

Beziehungen:
Artikel 1:n Artikel_Variante (ein Artikel kann in mehreren Varianten vorkommen)
Variante 1:n Artikel_Variante (eine Variante kann mehrere Artikel haben)

Beziehungen werden mit Hilfe von Fremdschlüsseln realisiert.
Die Artikel_Variante Tabelle hätte folgende Felder: Artikel_ID und Varianten_ID.

Gruß
Esa
CouchCoach
CouchCoach 27.01.2006 um 10:02:39 Uhr
Goto Top
Hi ottscho,

mit der Info wird es schon etwas klarer was du machen möchtest.

Also du machst dir eine Tabelle mit allen Code Variantien die es gibt (Magnetstreifen, Chip, Barcode, Name, etc.)
Als nächste machst du dir eine Tabelle für alle Objekte die nachher z.B. eine solche Codekarte besitzen (ob es nun eine Tür ist, ein Mensch, ein Autoradio, egal).
In der dritten Tabelle legst du nun pro 3 Spalten an

ID (Datensatznummer)
ID_Objekt (Nummer des Objektes zu dem die dritte Spalte gehört)
ID_Code(Nummer der Code Variante)

jetzt kannst du pro Objekt beliebig viele Code Varianten benennen und bist nicht auf eine bestimmet Anzahl an Feldern begrenzt.
Beim Abfragen brauchst du lediglich select * from DritteTabelle where ID_Objekt="FrauMustermann"

und schon bekommst du alle Code Varianten die auf Frau Mustermann zugelassen sind.

Grüße
ottscho
ottscho 27.01.2006 um 10:18:30 Uhr
Goto Top
@Esa
hört sich gut an, aber irgendwie hab ich ein denkfehler oder ich verstehe was nicht. ich mach mal ein Beispiel.

Tabelle Artikel
ID / Produkt / Lieferant / Standard / Antenne / Material .. etc
1 / MIM256 / blabla / JA / JA / PVC
2 /Mifare1K / blabla / NEIN / JA / PVC
3 /INDUK65k/ blabla / JA / NEIN / PVC

soweit ist alles klar.
nun wie stelle ich jetzt in einer tabelle dar, welche Varainten es gibt?
Nehmen wir mal an ID1 geht mit ID2, ID1 geht mit ID3, ID2 geht mit ID3,ID4, und da gibt es nun zick möglichkeiten. Wie mache ich das, und halte er relativ variable was die artikel betrifft. Es kann ja jeder Zeit ein neuer Artikel dazu kommen und ein alter wird gestrichen -

Ich müsste es ja so zusagen in einer Matrix darstellen, z.B. so:

ID1 / ID2 / ID3 / ID4 / ID5 / ID6 etc.....
JA JA NEIN NEIN JA NEIN
JA NEIN JA NEIN JA JA
JA NEIN NEIN JA NEIN NEIN
etc...

Und so müsste ich jede Möglichkeit festlegen.
Aber was mache ich nun, wenn ein Artikel dazu kommt? dann müsste ich ja eine Splate in der Tabelle Varianten hinzufügen ?
Esa
Esa 27.01.2006 um 13:21:49 Uhr
Goto Top
So,

du müsstest bei jeder Variante sagen, aus welchen Einzelartikeln sie besteht.
Das funktioniert folgendermaßen:
Tabelle Varianten
ID / Bezeichnung
1 / Erste Variante
2 / Nächste Variante
3 / Noch eine Variante

Tabelle Artikel (wie von dir oben beschrieben)

Tabelle Artikel_Variante
Artikel_ID / Variante_ID
1 / 1
2 / 1
3 / 1 Diese 3 Datensätze geben an, dass "Erste Variante" aus Artikel 1,2,3 besteht
2 / 2 Varinate 2 "Nächste Variante" besteht lediglich aus Artikel 2
1 / 3
3 / 3 Variante 3 beinhaltet Artikel 1 und 3

So kann man die Varianten erfassen. Man kann so Varianten um beliebig viele Artikel erweitern.
Auch wenn mal ein Artikel ersetzt wird, kann mit Hilfe von SQL die Aktualisierung automatisch geschehen....
ottscho
ottscho 27.01.2006 um 13:46:41 Uhr
Goto Top
danke, ich werd mal schauen, ob das für unsere ausweisartikel passt.
melde mich dann ;)