WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 22.10.2003, 13:09   #1
Deftones
Master
 
Registriert seit: 26.11.2002
Alter: 47
Beiträge: 572


Frage Cd Datenbank in Access programmieren

Hallo Forummitglieder!!

Hätte da eine frage (Bitte) da ich eine sehr sehr grosse (für mich) Music cd bestand habe (5 000stk ca) will ich mir einen datenbank anlegen damit ich mal ein klein wenig Ordnung in das caos bringe (doppelt gekaufte usw..) naja da meine kenntnisse was access angeht ned gut sind wollt ich euch fragen ob ihr mir nicht ein paar tipps geben könnt wie ich sowas anfange !!
(will es selber programmieren ich weis es gibt fertige db auch !!)

also danke mal für eure hilfe !!!

mfg
deftones
____________________________________
Es gibt nix gutes außer man tut es
nur die Toten wissen wie der Krieg war !

Fatal error: Maximum execution time exceeded in mod_glaskugel at line 23
Deftones ist offline   Mit Zitat antworten
Alt 22.10.2003, 13:49   #2
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Überleg dir als 1. was deine Anwendung können soll. Daraus ergibt sich, welche Daten du dafür speichern mußt.
Für den Funktionsumfang kannst du dir fertige Anwendungen als Tipgeber nehmen. (Was brauche/möchte ich, was nicht und was hätte ich gerne besser)

Im nächsten Schritt die Daten auf die Tabellen aufteilen. Das ist ein wichtiger Schritt. Such nach "Normalisierung von Datenbanktabellen" oder nur nach "Normalisierung". Da solltest du Informationen zu diesem Punkt finden.

Wenn du das geschafft hast, gehts an die Entwicklung der Oberfläche, also ans eigentliche programmieren.
Ab da kannst du konkrete Fragen ans Forum stellen, die hoffentlich auch beantwortet werden.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 22.10.2003, 20:23   #3
Deftones
Master
 
Registriert seit: 26.11.2002
Alter: 47
Beiträge: 572


Standard danke

danke für die antwort
was ich will und was die access datenbank machen soll weis ich ja schon !

man soll eingeben/suchen nach

Name der Band
Name der CD
EAN nummer
ob es eine maxi doppel oder einfache cd ist
vieviele lieder oben sind und wie sie heißen (+ zeit)
und das jahr wo die cd herrauskam
und welche art von music (Metal, Pop, usw....)

nur weis ich leider ned wie ich jetzt anfangen soll ??
soll ich alles in eine tabelle schreiben oder alles extra ??
wo soll ich primärschlüssel vergeben..?

mfg
deftones
____________________________________
Es gibt nix gutes außer man tut es
nur die Toten wissen wie der Krieg war !

Fatal error: Maximum execution time exceeded in mod_glaskugel at line 23
Deftones ist offline   Mit Zitat antworten
Alt 22.10.2003, 20:52   #4
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Da sind wir wieder beim Stichwort Normalisierung. Da geht es darum, wie die Daten auf die Tabellen verteilt werden.

Beispiel:

tblSaenger (Daten zum Sänger: Name, ....)
tblCDs (Daten zur gesamten CD: ID de Sängers, ID der Kategorie, Titelzahl, EAN, ...)
tblKategorien (Liste der Kategorien)
tblSongs (Die einzelnen Lieder auf den CDs, ID der CD)

Jede Tabelle hat einen Pimärschlüssel (Autowert)

Die Verbindung zu einer anderen Tabelle erfolgt über die ID.

Falls möglich, würde ich dir empfehlen, die Oberfläche nicht mit Access, sondern mit VB zu programmieren. (Aber das ist eine andere Geschichte)

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 22.10.2003, 22:33   #5
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Standard

Also mit den geforderten zu speichernden Infos, ist eine Tabelle für die CDs und eine für die Songs wahrscheinlich ausreichend. Bei der Auswahl der Tabellen ist es zwar für grössere Projekte immer ein Problem, den goldenen Mittelweg zwischen Atomisierung auf x-Tabellen oder im Extremfall der einen, gigantischen HoldsItAll-Tabelle zu finden, aber bei ca. 5000 Datensätzen stellt das auf heutigen Rechnern kaum ein Problem dar das viel Denkaufwand lohnt.
Höchstens könnte man sich über passende Schlüssel Gedanken machen. Die sind aber bei 5000 Datensätzen auch noch nicht wirklich von Belang. Da greift einem immer die Rechenleistung unter die Arme und sorgt für niedrige Antwortzeiten.
Natürlich ist das nur eine persönliche Meinung und soll weder andere Aussagen herabstellen, noch die ultimativ richtige Lösung für sich beanspruchen.

Mein Vorschlag:

Felder für tblCDs:
- Name der Band
- Name der CD
- EAN nummer
- ob es eine maxi- doppel- oder einfach-cd ist
- wieviele lieder die CD enthält
- das jahr in dem die cd erschienen ist
- welche art von music (Metal, Pop, usw....)

Felder für tblSongs:
- SongTitle
- ...

@wbendl: VB wäre sicher eine gute Idee wenn es sich um eine Anwendung handeln würde, die auch User ohne Access verwenden sollen. Da es sich aber anscheinend um eine private Anwendung handeln wird, würde VB doch den Schwierigkeitsgrad beträchtlich erhöhen, ohne für den Programmierer einen eigentlichen Vorteil zu bringen. (Es sei denn, du hast kein Access und willst die Anwendung später auch benutzen )

PS: Sowas liesse sich unter Notes sehr einfach, schnell und effizient erledigen. Die Programmiersprache unterscheidet sich nicht wesentlich von VB. Nur die Objekte sind natürlich anders. Wäre aber IMHO trotzdem eine Überlegung wert.
Seidl ist offline   Mit Zitat antworten
Alt 22.10.2003, 23:13   #6
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

@Seidl
Ich hab schon sowas. Ursprünglich mit Access 95 gemacht. Inzwischen sind aber fast alle Funktionen über eine VB-Oberfläche verfügbar.
Grund für die Portierung sind Probleme beim Umstieg auf neuere Versionen von Access. Nebenbei gibt mit VB mehr Möglichkeiten.

Für eine eigene Tabelle mit den Interpreten hab ich einen Grund:
Wenn der Interpret auch jedem Song zugeordnet ist, hat man bessere Möglichkeiten, Daten abzufragen. Z. B. alle Lieder eines Sängers.
Bei Sampler-CDs gibt es keinen gemeinsamen Interpreten für alle Titel.
Man müßte also zu jedem Lied den Interpreten eingeben. Ich glaube da lohnt sich die eigene Tabelle.

Bei der Kategorie ist das vielleicht nicht so tragisch. Eine eigene Tabelle verhinder allerding nicht nur Redundanz, sondern erleichtert auch eventuelle Änderungen.

Das einzige Problem sind die komplizierteren SQL-Statements. Aber die erstelle ich mit Hilfe Access. (Schäm)

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 23.10.2003, 08:26   #7
Deftones
Master
 
Registriert seit: 26.11.2002
Alter: 47
Beiträge: 572


Standard danke mal für die hilfe

nur eine frage hab ich trozdem noch :
wenn ich es so mache wie es wbendl sagt

tblSaenger (Daten zum Sänger: Name, ....)
tblCDs (Daten zur gesamten CD: ID de Sängers, ID der Kategorie, Titelzahl, EAN, ...)
tblKategorien (Liste der Kategorien)
tblSongs (Die einzelnen Lieder auf den CDs, ID der CD)

verstehe ich nicht wie ich die lieder mit den sängern unter einem hut bringe ?? wie bei einem sampler ??

mfg
deftones

ps danke für eure hilfe noch mal !!!!
____________________________________
Es gibt nix gutes außer man tut es
nur die Toten wissen wie der Krieg war !

Fatal error: Maximum execution time exceeded in mod_glaskugel at line 23
Deftones ist offline   Mit Zitat antworten
Alt 23.10.2003, 09:06   #8
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Also bei mir ist es so gelöst:

In jeder Tabelle ein Feld mit Autowert als Primärschlüssel.

tblCDs enhält ein Feld mit der ID des Interpreten und ein Feld mit der ID der Kategorie. (Für Sampler verwende ich "Diverse" als Interpret)

tblSongs enhält ebenfalls ein Feld mit der ID des Interpreten und ein Feld mit der ID der CD.

Damit ist jedem Lied auch ein Sänger zugeordnet, und die CD, auf der es sich befindet.

In der Oberfläche verwende ich zur Auswahl des Sängers ein Dropdown. Mit Auto-Vervollständigen geht das recht gut. Wenn kein passender Eintrag gefunden wird, öffnet sich ein Fenster zur Eingabe eines neuen Sängers.

Ich empfehle dir eine gute Planung. Bei 5000 CDs sind ca. 70 - 100000 Einzeltitel zu erfassen. Da rentieren sich ein paar Stunden nachdenken. Ich weiß aus eigener Erfahrung wie es ist, wenn man erst während der Dateneingabe die Schwächen des Programmes erkennt.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 23.10.2003, 11:28   #9
Deftones
Master
 
Registriert seit: 26.11.2002
Alter: 47
Beiträge: 572


Standard alles klar

danke wbendl
ok werd am besten alles mal auf einen zettel kritzeln und dort mal die ganze sache durch denken !!

eine andere frage wegen mehr Möglichkeiten durch VB!?
Sollte ich das nochmal durch denken mit mit der datenbank unter Access ? gibts eine andere alternative zu access ?? was ICH leicht erlernen kann ??



mfg deftones
____________________________________
Es gibt nix gutes außer man tut es
nur die Toten wissen wie der Krieg war !

Fatal error: Maximum execution time exceeded in mod_glaskugel at line 23
Deftones ist offline   Mit Zitat antworten
Alt 23.10.2003, 11:39   #10
gaelic
nugent
 
Registriert seit: 28.08.2001
Beiträge: 2.500


Standard

also da gibts im netzt sicher eigene programme für sowas (auch als quelltext)

ich würd auch eine sql-datenbank empfehlen (z.b. mysql), 1. ists einfach besser als access (da hast keine probleme nach einem update,...) 2. ist sql ein quasi standard bei datenbanken.

und es gibt sicher auch solch eine anwendung als php. somit kannst dus z.b. online stellen (mit passwortschutz) und von überall aus darauf zugreifen. unabhängig vom betriebssystem,...


ein ansatz, nur mit filmen, aber sicher leicht zu adaptieren:

http://www.powermovielist.com/
____________________________________
kill it & grill it
gaelic ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag