![]() |
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 |
Re: Anfänger will simple Datenbank machen
Wenn englisch kein Problem ist kann ich diese Seite empfehlen:
![]() Oder hier in deutsch: ![]() Gruß Matt |
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.
|
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 |
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.
|
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 |
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 |
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! |
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 |
Re: Anfänger will simple Datenbank machen
Zitat:
![]() |
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 |
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. |
Re: Anfänger will simple Datenbank machen
Hi,
Zitat:
Zitat:
Chris |
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. |
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. |
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: ) |
Re: Anfänger will simple Datenbank machen
:love: Danke erstmal.
Viel Spass in der Matrix :wink: |
Re: Anfänger will simple Datenbank machen
Zitat:
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 |
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. |
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:
|
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. |
Re: Anfänger will simple Datenbank machen
Hallo Uncle Cracker,
nur mal so zur Info:Einfach mal ergooglet. :lol: ![]() |
Re: Anfänger will simple Datenbank machen
Zitat:
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 |
Re: Anfänger will simple Datenbank machen
Zitat:
Für gewartete Indiezes oder Referenzintegrität ist ein Primärindex erforderlich Was heißt das, und was mache ich falsch? :love: Danke UC |
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