Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Anfänger will simple Datenbank machen (https://www.delphipraxis.net/11770-anfaenger-will-simple-datenbank-machen.html)

Uncle Cracker 13. Nov 2003 14:37


Anfänger will simple Datenbank machen
 
Ich würde gern für mein Programm eine Datenbank nutzten. Da ich aber überhaupt keine Ahnung davon habe und ich weiß das es hier ein paar extreme Datenbankprofis gibt, würde ich gern wissen wie ich das am einfachsten machen kann.

Es soll eine Musikdatenbank werden, bei der zu einem bestimmten Namen die verschiedenen Titel dastehen.

Kennt vielleicht jemand eine Seite mit Datenbanktutorials die für Anfänger gedacht sind, die keine Datenbankprofis werden wollen?

Oder kann mir jemand Step-By-Step zeigen wie ich diese Datenbank umsetzten kann, so das ich es auch verstehe?


:love: Danke UC

Matt 13. Nov 2003 15:38

Re: Anfänger will simple Datenbank machen
 
Wenn englisch kein Problem ist kann ich diese Seite empfehlen:

http://delphi.about.com/cs/database/

Oder hier in deutsch:

http://www.tutorials.delphi-source.de/index.php?cat=6

Gruß Matt

Alexander 13. Nov 2003 17:39

Re: Anfänger will simple Datenbank machen
 
Ich bin mir nicht sicher, aber bei der Standard-Version sind glaube ich keine Datenbank-Komponenten bei. D.h. du musst entweder hier oder bei Torry mal nach DB-Komponenten suchen oder du kuckst dir mal Chewis Tutorial zu MySQL an, das greift auf keine Komponenten zurück.

HAF4ever 13. Nov 2003 17:55

Re: Anfänger will simple Datenbank machen
 
am anfang ist es leichter mit einer ini anzufangen ...
das ist zwar keine richtige datenbank, reicht aber am anfang aus

und zum lernen auch ganz einfach

r_kerber 13. Nov 2003 18:03

Re: Anfänger will simple Datenbank machen
 
@alexander: ich glaube bei D4 war die DB-Komponenten auch noch in der Standard-Version. Bin mir da aber nicht sicher.

Uncle Cracker 13. Nov 2003 19:09

Re: Anfänger will simple Datenbank machen
 
@HAF4ever

Das mit der INI habe ich probiert, aber doch etwas unübersichtilich bei vielen Daten und deshalb nicht unbedingt die beste Lösung.

@All

Bei Delphi 4 Standard habe ich die Register Datenzugriff, Datensteuerung und QReport und unter Tools Datenbankoberfläche. Also ist es doch irgendwie möglich eine kleine Datenbank mit der 4rer Version zu erstellen, oder?

:love: Danke UC

CalganX 13. Nov 2003 19:11

Re: Anfänger will simple Datenbank machen
 
Hi,
Datenbanken können zwar hilfreich sein, allerdings will ich gleich alle Klarheiten beseitigen, denn es gibt noch was sehr gutes mit 3 Buchstaben, zu dem ich auch ein Tutorial geschrieben habe! ;) XML. :)

Chris

r_kerber 13. Nov 2003 19:22

Re: Anfänger will simple Datenbank machen
 
Hallo Commander Chakotay,

XML ist zwar nicht schlecht, aber auch nicht das Allheilmittel. Wenn es um größere Datenmengen geht, sollte man durchaus über Datenbanken nachdenken. Das betrifft auch Uncle Cracker. Bei D4 ist zwar standardmäßig eine DB-Unterstützung bei aber keine für XML. XML enthält IMHO auch viel Redundanz (für die ganzen Tags). Ich persönlich sehe XML eher in Richtung allgemeiner Datenaustausch bzw. wenig struktierte Daten, die formatiert dargestellt werden müssen, wie z.B Texte, Dokumente etc.
BTW: Es gibt auch XML-Datenbanken!

CalganX 13. Nov 2003 19:28

Re: Anfänger will simple Datenbank machen
 
Hi Rainer,
bei einer Verwaltung von Musiktiteln dürfte eine XML-Datei ausreichen. Denn mehr als 10000 Titeln werden es wohl kaum werden. ;) Denn nach meinen Erfahrungen ist zwar XML nicht superschnell, aber teils schneller als der Zugriff über die BDE auf eine Paradoxdatenbank oder eine Firebirddb.

Klar ist XML kein Allheilmittel, aber für die meisten Dinge gut geeignet. ;)

Das meinte ich doch: Eine Datenbank mit XML realisieren. ;)

Chris

r_kerber 13. Nov 2003 19:33

Re: Anfänger will simple Datenbank machen
 
Zitat:

Zitat von Chakotay1308
Das meinte ich doch: Eine Datenbank mit XML realisieren.

Ich meinte, es gibt so etwas tatsächlich: Tamino XML Server - Home page. Ist aber nicht gerade billig.

CalganX 13. Nov 2003 19:36

Re: Anfänger will simple Datenbank machen
 
Hi,
:shock: das ist jetzt allerdings suspekt. :|

Naja. Wem es Spaß macht. *tz* Jeder der ein wenig mehr von XML versteht, kann das coden (meiner Meinung nach).

Chris

MrSpock 13. Nov 2003 19:40

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

wenn du D4 und die genannten Datenbankkomponenten hast, dann ist Paradox eine gute Alternative. Für XML benötigst du extra Komponenten und das XML schneller als Paradox ist, halte ich für ein Gerücht.

Also der erste Schritt ist die Planung der Tabellenstrukturen. Du solltest dir also genau überlegen, was du speichern willst. Eine Tabelle ist eine Sammlung von gleichartigen Daten, die in sogenannten Feldern strukturiert wird. Jedes Feld hat eine "Domain" also einen Wertebereich, der durch seinen Typ festgelegt wird. Die wichtigsten Felder sind

Alphanumerische Felder
Zahlen Felder
Blob Felder
Datumsfelder
Zähler

Poste einfach einmal, welche Felder du speichern willst und von welchem Typ sie sein könnten.
Dann geht's weiter.

CalganX 13. Nov 2003 19:43

Re: Anfänger will simple Datenbank machen
 
Hi,
Zitat:

Zitat von MrSpock
Für XML benötigst du extra Komponenten

nicht wenn es mit Hilfe des XML DOM macht. Klar. Du musst dir die TB (Typenbibliothek) runterladen, allerdings halte ich das nicht für ein Problem.
Zitat:

Zitat von MrSpock
und das XML schneller als Paradox ist, halte ich für ein Gerücht.

Kommt vielleicht auch auf die Datenmenge an... *rausred* :duck:

Chris

Uncle Cracker 13. Nov 2003 19:44

Re: Anfänger will simple Datenbank machen
 
Ich brauche wenn ich das richtig sehe nur Alphanumerische Felder, da ich als erstes den Namen des Interpreten speichern möchte und in das zweite Feld die Titel.

Es sollte möglich sein neue Daten hinzuzufügen und Daten zu editieren.

MrSpock 13. Nov 2003 19:55

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

dann pack mal die Datenbankoberfläche aus :mrgreen: (unter Start|Programme|... , im Delphi Programmordner)

Dort klickst du auf Datei|Neu|Tabelle, akzeptierst Paradox als Typ mit OK. Im folgenden Fenster vergibst du die Namen und die Feldtypen (z.B.):

Feldname|Typ|Größe|Schlüssel
ID | +| |* (den Stern erzeugst du mit der Leertaste)
Name | A | 30

Diese Tabelle speicherst du unter dem Namen Interpreten.

MrSpock 13. Nov 2003 20:05

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

anschließend erstellst du auf gleiche Weise eine zweite Tabelle:

Feldname|Typ|Größe|Schlüssel
ID | +| |* (den Stern erzeugst du mit der Leertaste)
Interpret | I |
Titel | A | 50

und speicherst diese Tabelle z.B unter den Namen Songs.

Morgen geht's dann weiter, ich muss jetzt weg (ins Kino: die Matrix ruft :stupid: )

Uncle Cracker 13. Nov 2003 20:19

Re: Anfänger will simple Datenbank machen
 
:love: Danke erstmal.

Viel Spass in der Matrix :wink:

Regionost 13. Nov 2003 21:09

Re: Anfänger will simple Datenbank machen
 
Zitat:

Zitat von Uncle Cracker
Ich würde gern für mein Programm eine Datenbank nutzten. Da ich aber überhaupt keine Ahnung davon habe und ich weiß das es hier ein paar extreme Datenbankprofis gibt, würde ich gern wissen wie ich das am einfachsten machen kann.

Es soll eine Musikdatenbank werden, bei der zu einem bestimmten Namen die verschiedenen Titel dastehen.

Kennt vielleicht jemand eine Seite mit Datenbanktutorials die für Anfänger gedacht sind, die keine Datenbankprofis werden wollen?

Oder kann mir jemand Step-By-Step zeigen wie ich diese Datenbank umsetzten kann, so das ich es auch verstehe?


:love: Danke UC


Hay

Das ist ganz einfach. Ich Arbeite seit 5 Jahren mit Datenbanken.
Also
1. Erstelle ein neues Projekt.
2. Danch füge die Komponente Table1 und datasorce1 ein.
3. In der Objekteingenschaft steht Databasename, dort kannst Du den Pfad angeben, oder vom Programm zuweisen.
4. Verknüpfe die Datasource1 mit Table1.
5. Nun kannst Du DBEdit's einfügen. Die musst Du auch wieder die Tablename und Feldname angeben. Danach Atkiviere die Datenbank in Table1.Active := true, oder im Programm Table1.open/Table1.close.
Ansonsten kannst Du mir auch ne Mail machen. Regionost@bluewin.ch

r_kerber 14. Nov 2003 07:32

Re: Anfänger will simple Datenbank machen
 
Hallo Regionost,

Du hast vergessen als ersten Punkt zu festzuhalten, dass man sich zunächst für ein DBMS entscheiden muß und als nächstes sich ein Datenmodell "ausdenken" muß. Also welche Informationen will ich speichern. Welche Tabellen mit felchen Feldern benötige ich, wie hängen die einzelnen Tabellen voneinander ab, ...
Und dann muß die Datenbank ja auch noch erstellt werden. Das sind alles Vorarbeiten, die Du durchführen solltest, bevor Du die erste Zeile Programmcode schreibst.

Uncle Cracker 14. Nov 2003 07:36

Re: Anfänger will simple Datenbank machen
 
Danke ihr beiden, doch ich kann euch nicht ganz folgen was ihr wollt, deshalb warte ich MrSpocks Live Tutorial, dann werde ich es vielleicht besser begreifen :gruebel:

MrSpock 14. Nov 2003 08:28

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

puuhh, Matrix 3 ist schwere Kost, wenn man versucht den Film zu verstehen, da hätt ich noch ein paar Fragen :stupid: , aber das würde OT führen.

Zurück zum Thema:
Zur Erklärung der Tabellen noch ein paar Worte: Es ist gute Praxis in Tabellen, die nicht bereits eine Art ID als Feld haben, ein solches Feld einzufügen, das erleichtert später die Verknüpfung von verschiedenen Tabellen und verringert den Speicherbedarf von Fremdschlüsseln (das sich Felder in einer Tabelle, die das Schlüsselfeld [bzw. die Schlüsselfelder] referenzieren).

Nun ist es ja so, dass ein Interpret in der Regel viele Lieder singt. Der Interpret ist ein klar abzugrenzendes Objekt, genau wie die Lieder, die er singt (außer vielleicht bei Bohlen, da sind alle Lieder gleich, haben nur unterschiedliche Titel :mrgreen: ). Solche klar abzugrenzenden Einheiten nennt man Entities. Die Beziehung zwischen verschiedenen Entities nennt man Relations. Man kann die gesammte Datenbank so als ER - Diagramm darstellen. Zwischen dem Interpreten und seinen Liedern besteht eine sogenannte 1:n Beziehung (1 Intepret kann n [beliebig viele] Lieder singen). All das spricht dafür hier 2 Tabellen anzulegen. In der zweiten Tabelle muss es jedoch eine Möglichkeit geben, auf die erste zu referenzieren, dazu dient das Feld Interpret, was immer auf einen gültigen Eintrag in der Tabelle Interpreten zeigen soll. Mann kann solche Abhängigkeiten gleich auf Tabellenebene festhalten. Das soll der nächste Schritt sein.

Starte dazu noch einmal die Datenbankoberfläche. Wähle Tools|Tabellenoperationen|Umstrukturieren... und dort die Tabelle Songs. In der Dropdown Liste Tabelleneigenschaften wählst du Referenzintegrität und klickst auf "definieren". Links wählst du das Feld Interpret aus und verschiebst es mit dem Pfeil in die Mitte, rechts machst du einen Doppelklick auf "Interpreten". Dadurch wird eine Verbindung zwischen Interpret und ID hergestellt. Als Aktualisierungsregel ist "weitergeben" angeklickt. Was das heißt könnte ich auch noch erklären, falls du das wissen willst. Als Name wählst du z.B. refGesungenVon, und speichern nicht vergessen.

Dann geht's weiter.

r_kerber 14. Nov 2003 09:00

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

nur mal so zur Info:Einfach mal ergooglet. :lol: Google Suche: tutorial datenbank delphi

Regionost 14. Nov 2003 12:51

Re: Anfänger will simple Datenbank machen
 
Zitat:

Zitat von r_kerber
Hallo Regionost,

Du hast vergessen als ersten Punkt zu festzuhalten, dass man sich zunächst für ein DBMS entscheiden muß und als nächstes sich ein Datenmodell "ausdenken" muß. Also welche Informationen will ich speichern. Welche Tabellen mit felchen Feldern benötige ich, wie hängen die einzelnen Tabellen voneinander ab, ...
Und dann muß die Datenbank ja auch noch erstellt werden. Das sind alles Vorarbeiten, die Du durchführen solltest, bevor Du die erste Zeile Programmcode schreibst.


Hallo

Diese Punkte sollten selbstverständlich gemacht werden. Ich nehme an Er hat such dies schon überlegt, sonnst hätte Er ja nicht gefragt. Er fragte auch nach einer einfachen Datenbank einbindung. Ein Konzept ist natürlich Pflicht sache bei einem Projekt.
Gruss Dani

Uncle Cracker 14. Nov 2003 18:14

Re: Anfänger will simple Datenbank machen
 
Zitat:

Zitat von MrSpock
In der Dropdown Liste Tabelleneigenschaften wählst du Referenzintegrität und klickst auf "definieren".

Wenn ich das mache kommt die Meldung:

Für gewartete Indiezes oder Referenzintegrität ist ein Primärindex erforderlich


Was heißt das, und was mache ich falsch?


:love: Danke UC

MrSpock 14. Nov 2003 18:28

Re: Anfänger will simple Datenbank machen
 
Hallo Uncle Cracker,

wie ich oben geschrieben habe, muss der Fremdschlüssel auf den Primärindex einer anderen Tabelle zeigen. Bei dir muss als das Feld ID der Tabelle Interpreten der Primärindex sein. (Auch das Feld ID von Songs soll der Primärindex dieser Tabelle sein.) Du erreichst das, indem du in das Feld Schlüssel in der Zeile ID gehst und dort die Leertaste drückst. Damit erscheint in dem Feld ein *, der aussagt, dass dieses Feld zum Primärindex gehört.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz