Fragen zur DB

Für allgemeine Fragen zur Programmierung mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Fragen zur DB

Beitrag von sobi »

Hallo,

hab mir ein Tutorial über DB durchgelesen, habe dennoch ein paar Fragen, die ich gerne loswerden möchte.
1. Sehe ich das richtig, dass ich (als Programm) auf jedem WinRechner eine Datenbank erstellen kann, unabhänig davon, ob er Excel, Access oder der gleichen installiert hat?
2. Wenn ich die Database.pb (aus der Hilfe) aufrufe, öffnet sich ein Dosfenster, sowie ein Dialogfenster. Kann ich sowas im Programm später unterbinden, bzw. manuell ausfüllen lassen?

Meine Befürchtung ist, wenn ich mit einer DB arbeite, dass es nicht userfreundlich ist, kann ich diese Befürchtung ausschließen?

Liebe Grüße,


Simon



PS:
Diese Fragen rufen nach einem Anfängerforum
Wenn jemand ein gutes Tutorial hat (weiß), dann...
das http://www.purearea.net/pb/download/tut ... C_odbc.zip habe ich schon gefunden
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Fragen zur DB

Beitrag von Kiffi »

Hallo sobi,

wie ich Deinem Beitrag entnehmen kann, bist Du noch nicht sehr mit dem
Thema "Datenbanken" vertraut.

Hier ist ein erster Einstieg, der erklärt, was Datenbanken überhaupt sind
und wofür man sie einsetzen kann:

http://de.wikipedia.org/wiki/Datenbank

> 1. Sehe ich das richtig, dass ich (als Programm) auf jedem WinRechner
> eine Datenbank erstellen kann, unabhänig davon, ob er Excel, Access
> oder der gleichen installiert hat?

das kommt auf die Datenbank an. Eine Datenbank kann z.B. auch eine
Textdatei sein. Aus diesem Grund kannst Du auf nahezu jedem
modernern Betriebssystem eine Datenbank erstellen können.

> 2. Wenn ich die Database.pb (aus der Hilfe) aufrufe, öffnet sich ein
> Dosfenster, sowie ein Dialogfenster. Kann ich sowas im Programm
> später unterbinden, bzw. manuell ausfüllen lassen?

das DOS-Fenster dient wahrscheinlich nur zur Ausgabe von Demodaten,
damit man sieht, wie der generelle Umgang mit einer Datenbank
funktioniert. Natürlich kannst Du das später unterbinden.

> Meine Befürchtung ist, wenn ich mit einer DB arbeite, dass es nicht
> userfreundlich ist, kann ich diese Befürchtung ausschließen?

Userfreundlich für Dich oder für den Anwender, der Dein Programm
bedienen soll?

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: Fragen zur DB

Beitrag von sobi »

Danke für den Link.
Kiffi hat geschrieben: Eine Datenbank kann z.B. auch eine
Textdatei sein. Aus diesem Grund kannst Du auf nahezu jedem
modernern Betriebssystem eine Datenbank erstellen können.
Und da bin ich noch nicht ganz schlau geworden. Lege ich die DB fest (ob Excel, Access, txt...), oder legt das Programm automatisch die DB fest? (auf einem Rechner in Excel einer in Access oder txt)
DB kenne ich nur aus PHP mit MySQL. Da war die DB und hier das Script und die zwei mussten einfach verbunden werden. Soweit ich in PB dursteige, ist das ein bisschen anders?
Kiffi hat geschrieben: Userfreundlich für Dich oder für den Anwender, der Dein Programm
bedienen soll?
Ja, ich habe an den Anwender gedacht.


Gut, wie heißt es so schön: "lörning bai duing"

Liebe Grüße,


Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Fragen zur DB

Beitrag von Kiffi »

sobi hat geschrieben:Und da bin ich noch nicht ganz schlau geworden. Lege ich
die DB fest (ob Excel, Access, txt...), oder legt das Programm automatisch
die DB fest? (auf einem Rechner in Excel einer in Access oder txt)
die Art der DB legst Du fest.

Es kommt letztendlich auf die Daten an, die Du speichern möchtest.

* Sind es viele Daten?
* Müssen mehrere Benutzer (gleichzeitig) auf die DB zugreifen können?
* Soll Dein Programm auf Windows und Linux laufen?

Hier mal in aufsteigender Reihenfolge meine DB-Empfehlungen (ohne
Anspruch auf Vollständigkeit)

-- kleine Datenmengen ---
X
| CSV/XML/Ini-Datei
| SQLite
| Access
| mySQL
| SQL-Server
Y
-- grosse Datenmengen ---

Es kommt auch darauf an, ob Du von Deinem Programm aus die DB
erstellen willst oder oder ob Du eine bereits vorhandene DB nutzen
möchtest.

Bei Access-Datenbanken (Endung: MDB) beispielsweise ist es für den
Anfang eine enorme Erleichterung, eine Datenbank mit Access selber zu
erstellen und dann darauf mit PB zuzugreifen. Das Erstellen eine MDB aus
PB heraus ist schon ein wenig kniffliger.

Eine andere DB-Lösung ist SQLite. Das ist ein Datenbanksystem, das
lediglich aus einer DLL besteht. Diese DLL kannst Du mit ganz normalen
Library-Funktionen von PB aus ansteuern und mit nur einem Befehl eine
Datenbank erstellen. In diesem und im englischen Forum gibt es ein paar
Infos zu SQLite.
sobi hat geschrieben:DB kenne ich nur aus PHP mit MySQL. Da war die DB und
hier das Script und die zwei mussten einfach verbunden werden. Soweit ich
in PB dursteige, ist das ein bisschen anders?
nicht unbedingt. Wenn Du bereits mySQL mit einer bestehenden DB auf
Deinem Rechner installiert hast, sollte es keine Problem sein, PB und DB zu
'verknüpfen'. Falls erforderlich musst Du Dich (wie in PHP) an der
Datenbank mit Usernamen und Passwort authentifizieren.
sobi hat geschrieben:
Kiffi hat geschrieben: Userfreundlich für Dich oder für den Anwender, der Dein Programm
bedienen soll?
Ja, ich habe an den Anwender gedacht.
die Tatsache, dass Dein Programm eine DB verwendet, sollte keine
Auswirkung auf die Anwenderfreundlichkeit haben. Das liegt zum Glück in
Deiner Hand :)

Du solltest nur auf eines achten: Wenn Du Dein Programm an andere
Anwender weitergibst, musst Du darauf achten, dass der Rechner, auf dem
es installiert wird, über dieselbe Datenbank verfügt.

Grüße .. Kiffi
a²+b²=mc²
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

wobei bei SQLite halt nur die DLL mitgegeben werden muss während bei MySQL die Datenbank installiert werden muss. Wenn ichs richtig verstanden habe.

Ich komm ja auch von PHP und hab darüber auch gerätselt weil das nat. ein bischen anders ist.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> wobei bei SQLite halt nur die DLL mitgegeben werden muss während bei
> MySQL die Datenbank installiert werden muss. Wenn ichs richtig
> verstanden habe.

jepp! Die Installation von SQLite (wenn man das überhaupt Installation
nennen kann) gestaltet sich äusserst simpel.

Ganz Pfiffige binden die DLL in ihre EXE binär ein und speichern sie bei
Programmstart (und bei Bedarf) auf die Platte. Somit muss man nur die EXE
ausliefern.

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

bluejoke hat geschrieben:wobei bei SQLite halt nur die DLL mitgegeben werden muss während bei MySQL die Datenbank installiert werden muss. Wenn ichs richtig verstanden habe.
Danke Bluejoke, dass war genau die Frage, die mir auch unter den Nägel brannte.
kiffi hat geschrieben:jepp! Die Installation von SQLite (wenn man das überhaupt Installation nennen kann) gestaltet sich äusserst simpel.
Also nehme ich zum "anfangen" SQLite her? - Wenn ich dann irgendwann merke, dass sie zu klein ist, ist es dann ein großes Problem auf Access das umzuschreiben?

Grob überschlagen komme ich auf 16 Tabellen mit je 30 Datensätzen. Was nehme ich am besten her? (lieber vorher überlegen, als nacher alles zu ändern *g*)

Liebe Grüße,


Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

sobi hat geschrieben:Also nehme ich zum "anfangen" SQLite her? - Wenn ich dann
irgendwann merke, dass sie zu klein ist, ist es dann ein großes Problem auf
Access das umzuschreiben?
äähm, beim Thema Datenmengen habe ich mich doch ein wenig geirrt.
SQLite kann Datenmengen von 2 TeraByte verwalten. Das sollte einige
Zeit reichen ;)

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

Kiffi hat geschrieben:äähm, beim Thema Datenmengen habe ich mich doch ein wenig geirrt. SQLite kann Datenmengen von 2 TeraByte verwalten. Das sollte einige Zeit reichen ;)
Oh je, das ist aber gar nicht gut! Da habe ich jetzt ein Problem, denn meine Festplatte ist viel zu klein dafür.
Na ja, dann verwende ich halt SQLite nur zur hälfte... *lol* :mrgreen:



Also das hört sich ganz danach an, dass SQLite mein Freund werden soll, oder? Keine "installation" notwendig, kann viele Daten verarbeiten. Das sieht ganz nach einem 2:0 erfolg aus.
LG


Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Also das hört sich ganz danach an, dass SQLite mein Freund werden soll,
> oder?

also, ich finde die SQLite-DB richtig schick! Einen kleinen Wehrmutstropfen
gibt's allerdings noch. Für SQLite3 ist momentan noch kein wirklich gutes
Frontend (wie beispielsweise bei Access) verfügbar.

Ich habe damit angefangen, einen SQLiteViewer in PB zu basteln, den ich bei
dieser Gelegenheit gerne zum Weiterentwickeln an interessierte
PB-Programmierer weitergeben würde. Bei Interesse -> PN.

Vielleicht können wir daraus ein Open-Source-Projekt machen?

Grüße ... Kiffi
a²+b²=mc²
Antworten