Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welche Datenbankprogrammierung ? (https://www.delphipraxis.net/65723-welche-datenbankprogrammierung.html)

Vader 20. Mär 2006 16:12

Datenbank: BDE • Version: 7.0 • Zugriff über: Table&Query

Welche Datenbankprogrammierung ?
 
hallo,

mit welcher art von datenbankprogrammierung sollte ein anfänger anfangen, ich lese da, es gibt auch SQL usw. ?
mfg VADER

mkinzler 20. Mär 2006 16:19

Re: Welche Datenbankprogrammierung ?
 
Wenn du, wie du im Betreff angegeben hast, mit Query arbeitest, verwendest du ja SQL. Ich würde auf den Einsatz eines TTable-Objekt verzichten und nur mit TQuery also SQL arbeiten.

SQL ist viel flexibler und eigentlich leicht zu erlernen. Für den Anfang ist die BDE ok, mittelfristig sollte aber auf was anderes umgestiegen werden.

marlem 20. Mär 2006 16:21

Re: Welche Datenbankprogrammierung ?
 
kommt auch bißchen auf die datenbank drauf an.
aber mein vorredner hat schon recht:
sql ist geil!!!

Vader 20. Mär 2006 16:45

Re: Welche Datenbankprogrammierung ?
 
hallo,

gibts ein gutes tutorial zur SQL bzw. link, oder weiß jemand ein gutes buch im internet ?
mfg vader

mkinzler 20. Mär 2006 17:53

Re: Welche Datenbankprogrammierung ?
 
z. B. hier

ralli 21. Mär 2006 02:44

Empfehlung Absolute Database
 
Hallo,

ich habe mir von der Homepage www.componentace.com/ die freie Version 5.04 von Absolute Database heruntergeladen und gründlich getestet. Mein Fazit :

ich bin begeistert weil

- wirklich übersichtliches, gutes Manual (leider in Englisch)

- eine Fülle an brauchbaren Beispielen für Delphi und C++, die nichts offen lassen

- sofort einsetzbare Tools (mit Sourcecode)

dbmanager als Datenbankfrontend für die Administration

dbimportexport für die Konvertierung BDE - Absolute Database

Alles macht einen rundherum gelungenen Eindruck, meine Testdatenbank Hamburg (fast 800 000 Datensätze) lief schnell und stabil. Es gab sofortige Erfolgserlebnisse, der Umstieg und die Einarbeitung gelang mit minimalem Aufwand.

Die Datenbankengine wird mit in das Hauptprogramm eincompiliert, was die Exe um ca. 800 kb größer macht. Keine Weitergabe von irgendwelchen Bibliotheken, keine umständliche und aufwendige Installation auf dem Zielrechner. Schlank, schnell und stabil. Das Datenbankdesign sehr übersichtlich. Single und Multiuserfähig.

Datenbankgröße bis 32 TB nur begrenzt durch Dateisystem und OS

Pro Datenbank bis zu 2.147.483.647 Tabellen

SQL 92

Keinerlei weitere Kosten und Lizenzgebühren bei Weitergabe.

Also (für mich) der perfekte BDE Ersatz. Für private Zwecke frei und die kommerzielle Lizenz ist jeden Euro
wert. Nach Fastreport ein weiterer Glücksgriff. Testet es selber.

Mein erstes Datenbankfronend war dbmaker für dbase mit der Tdbf Komponente, dann habe ich das gleiche Programm für Mybase (midas.dll) erstellt und jetzt habe ich begonnen, den dbmaker für Absolute Database zu erstellen, was wegen der hervorragenden mitgelieferten Beispiele endlich wieder Freude macht. So macht Programmieren Spaß !

Ralli

Vader 21. Mär 2006 06:19

Re: Welche Datenbankprogrammierung ?
 
der link von mkinzler habe ich mir angeschaut, aber da sind keine beispiele !!!

ralli hat geschrieben:
Zitat:

Hallo,

ich habe mir von der Homepage www.componentace.com/ die freie Version 5.04 von Absolute Database heruntergeladen und gründlich getestet. Mein Fazit :

ich bin begeistert weil

- wirklich übersichtliches, gutes Manual (leider in Englisch)

kann leider nicht englisch !

andere frage: was ist der unterschied zwischen mysql und sql ?

mfg vader

Alien426 21. Mär 2006 06:48

Re: Welche Datenbankprogrammierung ?
 
MySQL ist ein Datenbanksystem, wie auch MSSQL. Beide bedienen sich einer (großteils) gleichen Sprache, der Structured Query Language (SQL).

MySQL ist Open Source und wird deshalb sehr gerne für Webseiten im Verbund mit PHP eingesetzt.

RavenIV 21. Mär 2006 07:07

Re: Welche Datenbankprogrammierung ?
 
Zitat:

Zitat von Alien426
MySQL ist Open Source und wird deshalb sehr gerne für Webseiten im Verbund mit PHP eingesetzt.

MySQL ist nur Freeware, wenn man es privat oder intern einsetzt.
Sobald man kommerzielle Software erstellt oder MySQL weitergeben will, wird es lizenzpflichtig.

gruessle

mkinzler 21. Mär 2006 07:10

Re: Welche Datenbankprogrammierung ?
 
Zitat:

MySQL ist Open Source
Bei OS-Lizenzierung darf man aber nur Programme für den eigene Gebrauch oder halt OpenSource Programme erstellen

Alternativen waören PostGres oder FireBird, welche man auch für kommerzielle/closedsource Programme verwenden darf, ohne Lizenzgebühren zahlen zu müssen.

webcss 21. Mär 2006 07:11

Re: Welche Datenbankprogrammierung ?
 
Ich gebe zu bedenken: AbsoluteDB arbeitet auf FileServer Basis, was bei vielen gleichzeitig zugreifenden Clients die Netzwerklast unnötig erhöht und bis zum Kollaps führen kann. Für kleine Anwendungen mit wenigen Benutzern ist das vertretbar, wer jedoch irgendwann wachsen will kommt an "großen" Lösungen nicht vorbei.
Ich empfehle lieber Firebird, denn: Opensource, kostenlos verfügbar, gute Community, solide, als EmbeddedServer für den Einstieg leicht zu skalieren, einfache Installation und Distribution (Embedded: nur eine DLL mit ins Programmverzeichnis), optimale Trennung von Client und Server (bessere Wartbarkeit von DB und Client-Programm).
Allerdings erfordert dies eine konsequente Anwendungsprogrammierung abseits der liebgewonnenen Pfade.

alzaimar 21. Mär 2006 07:20

Re: Welche Datenbankprogrammierung ?
 
Ich weiss nicht, wie das bei der neuesten Windows-Version ist, aber File- und Recordlocking waren imho bisher nicht 100%ig sicher. Das führ dazu, das Desktop-Datenbanken, wie Access, Paradox und eben auch Absolute Database im Mehrbenutzerbetrieb irgendwann crashen, wenn nämlich wirklich zwei Instanzen parallel auf die Daten zugreifen bzw. reinschreiben.

Trotzdem danke für den 'Testbericht', als Alternative zu Access allemal empfehlenswert. Wobei hier auch die embedded Versionen andere DBMS zu erwähnen wären.

Vader 21. Mär 2006 09:30

Re: Welche Datenbankprogrammierung ?
 
hallo,
ich wollte was anderes wissen,
luckie schreibt in seinen tutorial:
Zitat:

Da ich nur eine Delphi Personal Version zur Verfügung habe, kam es mir natürlich sehr gelegen, dass eine mySQL Datenbank mit den entsprechenden Header-Übersetzungen der C-API es auch ermöglicht eine SQL-Datenbank mit Delphi Personal zu erstellen und damit dann auch zu arbeiten.
ich habe aber delpi6 enterprise,da gibst jede menge sqlkomponenten was ich gesehen habe,
frage: dann brauche ich nicht mysql, und kann mich auf sqldatenbankprogrammierung konzentrieren oder ?
mfg vader

mkinzler 21. Mär 2006 09:51

Re: Welche Datenbankprogrammierung ?
 
Zitat:

Frage: dann brauche ich nicht mysql, und kann mich auf sqldatenbankprogrammierung konzentrieren oder ?
Du brauchst nicht den (nichtvisuellen) Wrapper für MySQL nicht.
Du benötigst aber einen DBServer (darunter fällt auch MySQL, FireBird, MSSQL, ORACLE...) oder halt ein Tool ,welches dir ermöglicht SQL-Befehle für eine nicht SQL-Datenbank auszuführen, wie z.B. ADO/ODBC/BDE.

Vader 21. Mär 2006 09:56

Re: Welche Datenbankprogrammierung ?
 
[quote]welches dir ermöglicht SQL-Befehle für eine nicht SQL-Datenbank auszuführen, wie z.B. ADO/ODBC/BDE. [delphi]

jetzt stehe ich im wald,ich soll sqlbefehle ausführen für eine nicht SQL-Datenbank ???
ich will ja eine sql datenbank programmieren !
mfg vader

mkinzler 21. Mär 2006 09:59

Re: Welche Datenbankprogrammierung ?
 
Die BDE erlaubt dir z.B. SQL-Befehle auf dbase oder Paradox-Tabellen auszuführen (TQuery). Dabei "simuliert" sie Fähigkeiten einer "echten" SQL-Datenbank.

alzaimar 21. Mär 2006 10:07

Re: Welche Datenbankprogrammierung ?
 
SQL ist eine Abfrage- und Datenmanipulationssprache, also eine Programmiersprache (na ja) speziell für Datenbanken. Eine SQL-Datenbank ist nix anderes als ein Programm, das die Sprache SQL versteht.

Die Maschine, also wie die Daten abgelegt und verwaltet werden, ist das Entscheidende.

Du kannst eine CSV-Datei nehmen und die mit SQL bearbeiten, sofern Du so ein Tool hast (TjanSQL wäre sowas).

Meine Tipps:
1. Suche hier im Forum nach Diskussionen 'Welche DB soll ich nehmen'. Die Wahl wird auf MSSQL, Firebird, PostGreSQL fallen. MySQL vielleicht auch (ich find die sch****, weil eigentlich nicht umsonst).
2. Dann lege dich auf eine DB fest. Mein Tipp: MSSQL 2005 Express oder Firebird.
3. Dann besorge dir Literatur über diese DB zusammen mit Tutorials: Mein Tipp: "Inside SQL 2005" von Soukoup & Delaney.
4. Diese Bücher arbeitst Du durch. Du musst ja nicht alles von Anfang an verstehen.
5. [x] Du bist ein SQL-Profi ;-)

Vader 21. Mär 2006 10:21

Re: Welche Datenbankprogrammierung ?
 
hallo alzaimar,
danke, das hat mir jetzt ein bißchen weiter geholfen in meiner entscheidung ?
mfg vader

Vader 21. Mär 2006 10:50

Re: Welche Datenbankprogrammierung ?
 
martin strohal schreibt in seinem tutorial:
Zitat:

Beim Datenbankzugriff über Table- oder Query-Komponenten
muss die Borland Database Engine (BDE) installiert sein, was mit der Delphi-Installaltion
automatisch geschieht.
das ich das jetzt einmal richtig verstehe: die BDE ist die Datenbank und der Datenbankzugriff geschieht
über Table- oder Query-Komponenten, und die Query-Komponenten sind die für SQL- Befehle zuständig ?
mfg vader

alzaimar 21. Mär 2006 10:55

Re: Welche Datenbankprogrammierung ?
 
Nee, auch nicht.

Die BDE ist ein Programm, was Dir ermöglicht, per Delphi mit der einen Komponentensammlung (TTable, TDatabase, TQuery etc.) auf verschiedene Datenbanken (Access, Paradox, MSSQL etc.) zuzugreifen.

Die BDE wird aber von Borland nicht mehr unterstützt. Etwas Gleichwertiges ist ADO, das auf jedem halbwegs neuen Windows-PC bereits installiert ist. Dazu kannst Du die ADO-Komponenten von Delphi verwenden.

ADO und BDE verlangsamen die Abfragen minimal. Das merkt man normalerweise nicht, aber es soll Leute geben, die stört das. Oder es sind Puristen, die Alles selbst erledigen wollen. Die nehmen dann eine API (Application Programming Interface), um direkt mit dem einen bestimmten Datenbankserver zu reden.

Vader 21. Mär 2006 11:22

Re: Welche Datenbankprogrammierung ?
 
so noch ein versuch,

das mit der bde hab ich verstanden, wenn ich in das tool datenbankoberfläche gehe dann kann ich jetzt
dort die datenbank auswählen, wie bei mir in delphi6 enterprise
Delphi-Quellcode:
 QBE - Abfrage oder SQL-Datei oder
Paradox 3.5 bis 7 oder DB2 dBase4
das sind jetzt die verschiedenen Datenbanken die ich wählen kann oder ?
mfg vader

mkinzler 21. Mär 2006 11:50

Re: Welche Datenbankprogrammierung ?
 
Zitat:

Paradox 3.5 bis 7 oder DB2 dBase4
Das sind die Datenbanken, die die BDE nativ unterstützt. Weitere Datenbanken können über ODBC oder SQLLinks angesprochen werden.

Vader 21. Mär 2006 12:32

Re: Welche Datenbankprogrammierung ?
 
ja super, jetzt komme ich schon langsam hinter die sache,
wenn ich jetzt in der datenbankoberfläche neu SQL-Datei wähle, kommt der SQL-Editor
frage: dort kann ich jetzt den sqlcode reinschreiben und kompilieren, aber wo muß ich die
dazugehörige tabelle erstellen, heißt das jetzt das ich dazu einen SQL-Server brauche ?
mfg vader

mkinzler 21. Mär 2006 13:02

Re: Welche Datenbankprogrammierung ?
 
Zitat:

dort kann ich jetzt den sqlcode reinschreiben und kompilieren, aber wo muß ich die
dazugehörige tabelle erstellen,
In der Datenbankoberfläche kann man auch Tabellen erstellen/verändern.
Es gibt aber auch sql-Befehle dafür(die sogennanten DML) dafür CREATE TABLE/VIEW, ALTER TABLE/VIEW, DROP TABLE/VIEW.
Besser ist es aber spezielle Tools für die gewählte Datenbank zu verwenden.

Zitat:

heißt das jetzt das ich dazu einen SQL-Server brauche ?
Es kommt darauf an. Im Falle von dbase, paradox, access kann das die BDE auch direkt.

BTW. Kompilieren tit die Datenbankoberfläche nicht.

Vader 21. Mär 2006 13:21

Re: Welche Datenbankprogrammierung ?
 
Zitat:

In der Datenbankoberfläche kann man auch Tabellen erstellen/verändern.
das heißt das ich eine paradoxtabelle erstelle abspeichere und dann über den sqleditor zugreife ,
oder schreibe ich die sql befehle normal in mein prog. (unit) wo ich die datenbankenkomp.drauf habe ?
mfg vader

mkinzler 21. Mär 2006 13:27

Re: Welche Datenbankprogrammierung ?
 
SQL-Code:
das heißt das ich eine paradoxtabelle erstelle abspeichere
Du kannst die Tabellen in der Datenbankoberfläche erstellen oder per sql-Skript.
Zitat:

und dann über den sqleditor zugreife ,oder schreibe ich die sql befehle normal in mein prog. (unit) wo ich die datenbankenkomp.drauf habe ?
Du kannst in der Datenbankoberfläche auf die Tabelle(n) zugreifen, z.B. zum Testen. Später kannst du dann die SQL-Abfragen in dein Programm einbauen.

Vader 21. Mär 2006 16:57

Re: Welche Datenbankprogrammierung ?
 
hallo,
ich will nicht lästig sein, ich sollte mir lieber ein buch zulegen, aber wie ist das jetzt mit sql,
bei der ersten datenbank von martin strohal, habe ich eine paradoxtabelle erstellt und dann brauchte
ich auf meiner form eine table, datasource und eine navigatorkomponente damit ich mit der datenbank
arbeiten konnte,also alles zusammen geklickt,

ich möchte das gleiche mit sqlbefehle machen, brauche ich da auch diese komponenten ?
was super wäre wenn irgendwer ein beispiel uploaden könnte !
mfg vader

mkinzler 21. Mär 2006 17:26

Re: Welche Datenbankprogrammierung ?
 
Anstatt der TTable nimmst du dann eine TQuery. Mit der Eigenschaft .SQL.Text legst du dann den Abfragestring fest
SQL-Code:
select * from <tabellenname>;
entspricht hierbei in etwa einer Table.

Wenn auch Änderungen der Date oder die Neuanlage der Daten möglich sein sollen, benötigst du noch eine TUpdateSQL Kompoenente welche du mit der Eigenschaft UpdateObject mit der Query-Komp. verbindest.
Im TUpdateSQL werden die jeweiligen Skripte für INSERT, UPDATE, DELETE gesetzt.

Schuster 22. Mär 2006 15:36

Re: Welche Datenbankprogrammierung ?
 
So geb auch mal meinen Senf dazu :-D

Ich hab mit einer MYSQL Datenbank begonnen zu programmieren und bin auch sehr gut damit zurechtgekommen.
Den hier im Forum findest du Unmengen an Beispielen usw.

Ich finde die Datenbank sehr leicht zu Bedinnen (sehr viele Admintools vorhanden) und ist auch sehr leicht
mit den Zeos - Komponenten zu erstellen (Client)

Wenn du weitere Infos haben willst schau mal auf meine Homepage oder hier im Formum mit der Suchfunktion (MySql Zeos)

MagicAndre1981 22. Mär 2006 19:39

Re: Welche Datenbankprogrammierung ?
 
Zitat:

Zitat von Schuster
MYSQL Datenbank ... und bin auch sehr gut damit zurechtgekommen.

:shock: MySQL? :kotz:

Nee, lieber nicht. Für WEB-Anwendungen geht die vllt, aber nicht für eine Anwendung, die 100%ig laufen soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 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-2025 by Thomas Breitkreuz