OpenOffice Base - Datenbanküberlegung

mein_name

Erfahrenes Mitglied
Hallo!

Ich möchte eine einfache Datenbank zur Verwaltung meiner CDs und Schallplatten basteln. Ich hab mir schon alles durchgedacht, doch leider bin ich jetzt an eine Grenze gestoßen.

Hier meine Tabellen:
===================
Tabelle "Platte"
===================
- ID
- Interpret
- Plattenname
- Medium
- Umfang
- Jahr
- Stück
- Titel1
- Titel2
- Titel3
- .....
===================

===================
Tabelle "Medium"
===================
- Medium
===================

===================
Tabelle "Umfang"
===================
- Umfang
===================

In der Tabelle Platte werden alle Daten zu einer Platte gespeichert. In der Tabelle Medium werden "LP", "CD" usw. gespeichert und in der Tabelle Umfang wird gespeichert ob das Medium eine Single, eine Longplay oder Demo ist.
Mein Problem beginnt jetzt mit den Titeln - eine Platte hat x Titel, die aber auf zwei Seiten sein können bzw. wenn mehrere Platten oder CDs in der Packung sind auch auf diesen sein können. Wie bekomm ich die Seiten bzw. die Platte in der Datenbank mitgespeichert?

Vielen Dank!

lg
 
Moin mein_name,

zugegeben, es ist wirklich nicht leicht, sich ein Ergebnis zu ergoogeln, wenn der passende Begriff fehlt. Ich kann die keine direkte Antwort geben, da ich "nur" in Access und anderen DBs zu Hause bin, aber das Prinzip ist auf jeden Fall gleich. Du musst eine weitere Tabelle "Titel" anlegen und über die (eindeutige) ID der Tabelle "Platte" die beiden Tabellen verbinden, verknüpfen.

Gebe mal bei einer Suchmaschine deiner Wahl "Open Office Base join verbinden" (bzw. ... verknüpfen) ein und schau dir die Ergebnisse an. Und las dich nicht durch das viele SQL verwirren, aber es sollte dich schon interessieren, denn auf Dauer gesehen wirst du nicht "ohne" auskommen ;)
 
Hallo!

Anbei seht ihr ein Bild von meiner Datenbankstruktur. Ich will eine Datenbank zur Verwaltung meiner Platten bauen.
Momentan hab ich es so gelöst, dass die Lieder in einer eigenen Tabelle ausgelagert sind, da ich ja auch Sampler habe
und Lieder auf verschiedenen Platten verschiedener Interpreten sein kann.
Was haltet ihr davon?

Vielen Dank für eure Hilfe!

lg

struktur.png
 
Moin,

sieht für mich auf den ersten Blick nicht schlecht aus:p

Wobei ich mich allerdings frage, warum Du Umfang und Medium noch extra raus normalisierst :confused:
Jede Platte wird doch (vermutlich) nur auf einem bestimmten Medium vorkommen und der Umfang (Gesamtspieldauer ?) wird doch auch eindeutig sein!
Ich würde es nicht für hilfreich halten, wenn ich eine Spieldauer von xy Minuten erst über die ID 42 ermitteln muss!

Gruß
Klaus
 
Vielen Dank für die schnelle Antwort.
Sorry war unübersichtlich von mir - Umfang sollte nur "Sampler", "Longplay" bzw. "Single/EP" enthalten - also nicht die Spieldauer!
Medium hab ich deswegen als extrige Tabelle, da ich Alben als Schallplatten sowie als CDs habe.
Wie erstelle ich aus den ganzen Tabellen jetzt ein einfaches Formular zur Eingabe der ebengenannten Daten? Wenn ich zB einen Interpreten eingebe, dann soll er ja checken ob ich diesen schon mal eingegeben habe. Doch er hat ja nur eine Nummer hinterlegt.
Oder mit den einzelnen Titeln - Theoretisch wird ja den Liedern eine Platte zugewiesen und nicht der Platte Titeln - Wie realisiere ich das?
Ich glaub ich denk gerade zu kompliziert :) - Vielen Dank für eure Hilfe!
 
Moin,

Sorry war unübersichtlich von mir - Umfang sollte nur "Sampler", "Longplay" bzw. "Single/EP" enthalten - also nicht die Spieldauer!
Medium hab ich deswegen als extrige Tabelle, da ich Alben als Schallplatten sowie als CDs habe.
Ich halte diese Normalisierung trotzdem überflüssig, da sich in den Tabellen Medium und Umfang ja immer nur EIN Datenfeld befindet. Ob Du also in der Tabelle Platte Medium_ID = 1 (1 sei hier mal CD) schreibst, oder nur "1" (und dies dann als CD interpretierst) oder direkt "CD" ist doch eigentlich egal - außer dass Du im ersten Fall immer einen weiteren DB-Zugriff hast, um die ID aufzulösen...

Wie erstelle ich aus den ganzen Tabellen jetzt ein einfaches Formular zur Eingabe der ebengenannten Daten? Wenn ich zB einen Interpreten eingebe, dann soll er ja checken ob ich diesen schon mal eingegeben habe. Doch er hat ja nur eine Nummer hinterlegt.
Oder mit den einzelnen Titeln - Theoretisch wird ja den Liedern eine Platte zugewiesen und nicht der Platte Titeln - Wie realisiere ich das?
Worauf zielt denn Dein Eingabeformular ab? Lied oder Interpret oder beides ?
Wenn Du bei Lied eine Interpret_ID eingibst, musst Du halt in der entspr. Tabelle prüfen, ob es eine gültige ID ist ...
Wenn Du bei Interpret eine ID angibst, dann prüfe ob sie existiert und zeige ggf. den Datensatz an oder ein Formular zur Neuanlage ...

Gruß
Klaus
 
Zurück