Standart DB?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Standart DB?

Beitrag von Maik81ftl »

Moin Moin.

Hab mal eine allgemeine Frage zu DB.

Welche ist bei den Betriebssystemen von Grund (Installation cd/dvd) auf schon enthalten? und welche vor- nachteile haben unterschiedliche Datenbanken zusammengefast? Frage aus dem grund. würde für meinen AG ein Programm auf DB basierend erstellen, will bzw soll keine Neuen DB's auf die Systeme aufspielen. bzw. kann ich DB auch weglassen, wenn ich die daten in einer Art info-file speichere?
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Standart DB?

Beitrag von af0815 »

Mit einem DB-System in einer Bibliothek, wie zB. SQLite kannst du das DB System in dein Projekt einbinden. Es ist also nur eine zusätzliche Datei die du mitliefern musst bei deiner Applikation. Ist für deinen Zweck sicher gut geeignet. Oder du verwendest xml, dann fehlt dir aber der Komfort von SQL.
Hat alles so seine Vor/Nachteile :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Standart DB?

Beitrag von Socke »

Datenbank heißt für mich ersteinmal, dass Daten strukturiert abgelegt werden. Die einfachste Art, CSV-Tabellen, kannst du ohne zusätzliche Bibliothek verwenden. Für ein komplexeres Datenbankmanagementsystem brauchst du natürlich eine zusätzliche Bibliothek oder gar einen ganzen Server.

Du solltest dir auch mal den Link http://www.lazarus.freepascal.org/index ... 820.0.html" onclick="window.open(this.href);return false; anschauen, da dort irgendein Lazarus-Projekt/-Bibliothek beschrieben wird, mit dem/der du auf CSV-Dateien mit SQL zugreifen kannst; könnte interessant sein.

Für kleine Projekte (maximal fünf Benutzer gleichzeitig) ist SQLite wirklich cool und auf API-Ebene auch nicht sehr kompliziert.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Standart DB?

Beitrag von MmVisual »

> bzw. kann ich DB auch weglassen, wenn ich die Daten in einer Art info-file speichere?

Schreibe doch bitte was du vor hast, dann können wir sicher sinnvolle Tipps geben.

Hier ein paar Standard-Fragen:
- Wie viele Benutzer/PC's?
- Art der Daten (z.B. Adressverwaltung)?
- Umfang der Daten, mehrere Tabellen?
- Werden die oft geändert, erweitert?
- Sollen Benutzer Zugriffsrechte haben?
- Daten auch über Internet abrufbar?
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Standart DB?

Beitrag von Antrepolit »

Falls es sich um WIndows-Clients handelt, so sind die Access-Treiber empfehlenswert (unter eingeschränkten Gesichtspunkten).
Sie sind bei jedem Rechner standardmäßig vorhanden und eignen sich zu Datenhaltung, stellen aber keine Datanbank im Sinne eines DBMS dar.
Um tabellasrische Daten zu speichern ist das ne relativ simple Lösung, die auch SQL unterstützt.

Die Nachteile sind bekannt:
- Lazarus und Access via ODBC hat Probleme mit Blobs / Langen Texten (Typ Memeo in Access)
- Access Datein sind schnell inkonsistent -> mit Redundanzen arbeiten

Gruß
Antrepolit
Grüße, Antrepolit

care only if your os is really burning

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Standart DB?

Beitrag von af0815 »

Antrepolit hat geschrieben:Falls es sich um WIndows-Clients handelt, so sind die Access-Treiber empfehlenswert (unter eingeschränkten Gesichtspunkten).
Die Gesichtspunkte sind so eingeschränkt, das ich es wirklich nicht empfehlen kann (Nur MS als Plattform, Entwicklung seitens MS nur mehr sehr eingeschränkt, Probleme mit Win64 also nur Win32!, keine Wartbarkeit der DB ohne Access - repair, shrink etc. nur sehr eingeschränkt machbar,....).

Durch jahrelange Nutzung auf produktiven Systemen entwickelt man in laufe der Zeit eine Access-Allergie. Bei den Anwendungen die damit jetzt sinnvoll machbar sind, komme ich auch mit xml durch :-) War vor 10 Jahren aber anders und damals sinvoll. Jetzt Access nehmen sollte man sich WIRKLICH gut Überlegen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Standart DB?

Beitrag von Maik81ftl »

Danke erst mal für den Input. ^^ da hab ich am WE was zu lesen :mrgreen:

Die Standard-Fragen kann ich im moment so beantworten.
- Wie viele Benutzer/PC's?
Vorerst 4. inkl. ich als Projektverantwortliche zzgl der Server
- Art der Daten (z.B. Adressverwaltung)?
Reperaturüberblick als GM grundlage
- Umfang der Daten, mehrere Tabellen?
pro Gerät ein Fehlerprotokoll inkl. 2 Seiten Doku. max. 4 Tabellen vorgesehen
- Werden die oft geändert, erweitert?
Servicedaten tgl; Projektzusammenfassung bis zu 10 / Monat
- Sollen Benutzer Zugriffsrechte haben?
ja für jeden der an der QM beteiligt ist.
- Daten auch über Internet abrufbar?
für max. 3 bis 4 User. aber denne schon mit Loginprotokoll. Sonst Ausschließlich vom Server arbeiten.

Grund dieses Datenbank ist die Sicherstellung und Gewährleistung der QM mind. nach ISO 9000

Betriebssysteme im Unternehmen bis aus weiteres WIn7. späterer Umbau auf ggf. Linux in aussicht. :D [und ich soll der Admin werden ^^]
Extern Win7 und meine Rechner (XP, linux)
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Standart DB?

Beitrag von MmVisual »

Datenbank sollte für Linux und Windows problemlos funktionieren und mehrbenutzertauglich sein:
MySQL oder PostgreSQL
Acces scheidet aus.

Programmierumgebung, ja klar Lazarus. Damit ist der Quellcode sehr leicht portabel.

Ich habe eine Lagerverwaltung geschrieben, die auch eine Projektverwaltung beinhaltet, funktioniert mit SQLite oder MySQL oder PostgreSQL unter Windows und Linux und sogar ohne Setup via USB-Stick.
Als Komponente nutze ich die Zeos V6.6.6
Hier der Link: http://www.mmvisual.de" onclick="window.open(this.href);return false; >> EleLa
Das Programm ist kostenlos, kannst ja mal testen, bzw. als Anregung für deine Umsetzung.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Standart DB?

Beitrag von af0815 »

In die Frage der Auswahl gehört noch die Lizenz der DB als Kriterium hinzu.

Kurzform (ohne Garantie): MySQL Wenn du dein Produkt unter GPL veröffenlichst, kein Problem. Wenn du nicht unter GPL veröffentlichst, musst du eine Lizenz kaufen. MySQL Lizenz und eine kleine deutsche Diskussion dazu
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Zuck
Beiträge: 71
Registriert: Fr 22. Jul 2011, 18:30
Wohnort: Los Angeles

Re: Standart DB?

Beitrag von Zuck »

Ich tüftle privat gerade an einem XML-Ersatz auf JSON-Basis. Vorteil dabei ist die geringere Dateigröße und IMHO die lesbarere Struktur. Mein Ziel ist es, komplette Datenbanken mit Tabellen, etc. damit erstellen zu können. Ohne zusätzliche Dateien, die mitgeliefert werden müssten. Alles kann in eine Executable compiliert werden.

wfg Zuck

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Standart DB?

Beitrag von Maik81ftl »

MmVisual hat geschrieben:Datenbank sollte für Linux und Windows problemlos funktionieren und mehrbenutzertauglich sein:
MySQL oder PostgreSQL
Acces scheidet aus.

Programmierumgebung, ja klar Lazarus. Damit ist der Quellcode sehr leicht portabel.

Ich habe eine Lagerverwaltung geschrieben, die auch eine Projektverwaltung beinhaltet, funktioniert mit SQLite oder MySQL oder PostgreSQL unter Windows und Linux und sogar ohne Setup via USB-Stick.
Als Komponente nutze ich die Zeos V6.6.6
Hier der Link: http://www.mmvisual.de" onclick="window.open(this.href);return false; >> EleLa
Das Programm ist kostenlos, kannst ja mal testen, bzw. als Anregung für deine Umsetzung.
Das hab ich schon durch zufall mal irgendwie gefunden, das kann ich als als Stückliste für Platinen :D

Ich dachte da eher daran, Combo für Kunden, Gerätenummer, Herstellungsdatum und memos für pläne und Weitere Daten (Diese sind in externen files vorhanden und sollen durch die DBverwaltet werden). Da es Firmenintern bleiben soll, dachte ich an eine Kostenlose DB. soll aber auch nix wirklich installiert werden. nur das Programm. erstellt wird's ausschließlich via Lazarus.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Standart DB?

Beitrag von MmVisual »

@Maik81ftl

Ich denke, da könnte EleLa auch behilflich sein.
Um EleLa tauglich für dich zu machen können einfach die Texte umbenannt werden.

z.B. Bauteile >> Reparaturen
Bei der Typauswahl kann dann z.B. das Gerät ausgewählt werden, so kann man dann auch nach Geräte Filtern.
und der Reiter "Lager/Gehäuse" nach "Kundendaten"
unter dem bisherigen "Lager/Gehäuse" gibt es "Hersteller" das zu "Kunden" umbenennen, darin sind die "Adressen" als Combo.
Unter Lager/Gehäuse gibt es viele Felder, die Bezeichnung kann problemlos umbenannt werden.
Die "Übersetzungshilfe" gibt es unter "Extras" > "Info".

Es ist nur ein Gedanke. z.B. nutze ich EleLa auch als Warenlager für die Vorratskammer, dafür habe ich alle Texte umbenannt: "Bauteil" >> "Artikel" und "Gehäuse" >> "Verpackung". Wenn noch eine Kleinigkeit fehlt, können wir das auch gerne per Mail austauschen (siehe Extras >> Info). :)
EleLa - Elektronik Lagerverwaltung - www.elela.de

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Standart DB?

Beitrag von carli »

Zuck hat geschrieben:Ich tüftle privat gerade an einem XML-Ersatz auf JSON-Basis. Vorteil dabei ist die geringere Dateigröße und IMHO die lesbarere Struktur. Mein Ziel ist es, komplette Datenbanken mit Tabellen, etc. damit erstellen zu können. Ohne zusätzliche Dateien, die mitgeliefert werden müssten. Alles kann in eine Executable compiliert werden.

wfg Zuck
Cool :):)

Hat eigentlich schon jemand eine JSON-Library für Freepascal geschrieben oder soll ich mich selber mal ransetzen?

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Standart DB?

Beitrag von knight »

carli hat geschrieben:
Hat eigentlich schon jemand eine JSON-Library für Freepascal geschrieben oder soll ich mich selber mal ransetzen?
/fpc/packages/fcl-json/

knight

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Standart DB?

Beitrag von Maik81ftl »

Sind gute vorschläge schon mal bei. Da bei uns schon mit Access datenbänken gearbeitet wird, wäre es suber, wenn mein Proggi einige daten daraus bit beziehen könnte ^^ist aber kein muß. werd mich mal an meiner ersten sql versuchen.

Was die lizensen angeht nun da muß ich mich mal schlau machen, wie das innerhalb einer Firma laufen muß. Frei oder Kostenpflichtig.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Antworten