Erstellung einer Datenbank - was sollte ich nutzen?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Hallo Forum,

ich möchte mich mal etwas mit Datenbanken und Python befassen und habe dazu einige Beiträge gelesen, jedoch würde ich gern mal eure Meinung erfahren.

Folgendes Problem:
Ich möchte zu bestimmten Artikeln bestimmte Kenndaten und Besonderheiten in eine Datenbank einpflegen. Die Datenbank wird stück für Stück von mehreren Benutzern erweitert.
Ich würde dazu eine Qt-GUI programmieren, welche die Datenbankeinträge erstellen und auch die vorhandenen Datenbankeinträge kategorisiert anzeigen soll.
Denkbar wäre auch ein Einpflegen von Daten via MS Office (falls man dort eine Verbindung schaffen kann), sodass nicht jeder Nutzer Python auf seinem Rechner haben muss.

Mit den Daten möchte ich dann später weiter arbeiten und statistische Auswertungen durchführen bzw. dazwischen interpolieren usw. Das hat jedoch sicher nicht mehr viel mit der Datenbank an sich zu tun.


Was würdet ihr empfehlen? Wie kann ich mich Schritt für Schritt herantasten?
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Grundsätzlich musst du dich entscheiden, welche Datenbank du verwendest und wie du diese ansprichst.
Python selbst kommt mit sqlite. Wenn mehrere Benutzer von verschiedenen Rechnern auf die Datenbank zugreifenn können sollen, möchtst du vielleicht einen Datenbankserver mit einer Datenbank wie PosgreSQL oder MariaDB/MySQL einrichten.

Dann musst du dich entscheiden, wie du mit der Datenbank sprichst. Entweder, indem du sie direkt mit SQL-Befehlen fütterst, oder mit einem Mapper wie SQLAlchemy. Dann kannst du direkt mit Python-Klassen arbeiten, die der Mapper auf der Datenbank arbeitet. Das macht das Ganze von der Arbeitsweise schön homogen.
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Von MySQL habe ich schon des Öfteren gehört.
Wo jetzt die Unterschiede zwischen PosgreSQL, MariaDB und MySQL sind weiß ich nun nicht, bzw. welches besser für meine Zwecke geeignet ist.

Der Mapper SQLAlchemy klingt schon super, das würde es sicher vereinfachen und für meine Zwecke genügen.
Das würde ich mir mal anschauen.
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Und wenn 3. keinen Zugriff via Python oder ähnliches nehmen sollen, dann wäre auch folgendes denkbar. Die 3. erstellen eine CSV mit einem vorgegeben Format zb in Excel und senden dir die Daten, Du kannst sie dann auslesen und via Sql in die Datenbank bringen.

Ich persönlich nutze MariaDB.
Hab hier aber ne nette Tabelle gefunden, welche ein paar Unterschiede aufzeigt. Im Grunde macht das glaub ich für den LowLvlUser kein Unterschied oder?
https://www.ionos.at/digitalguide/hosti ... -vs-mysql/

Müssen die 3. auch Zugriff auf die DB haben? Dann wiederum reicht ja SqLite
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Ja die 3. sollten auch Zugriff auf die Inhalte der Datenbank haben.

Ich entwickle ein Programm, welches in der Datenbank hinterlegte Werte für weitere Berechnungen nutzt. Dieses Programm soll nicht nur von mir verwendet werden, sondern auch von Dritten. Irgendwie müsste ich dann bestenfalls noch den Speicherort der Datenbank auf einen Server legen - zum Entwickeln und Testen jedoch erstmal lokal auf meinem PC.
Antworten