Laden...

Wie Kommunikation mit Datenbank aufbauen, Daten manipulieren und welche SQL-Version nehmen?

Erstellt von pesabre vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.076 Views
P
pesabre Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren
Wie Kommunikation mit Datenbank aufbauen, Daten manipulieren und welche SQL-Version nehmen?

Hallo an alle,

Für den Fall, das meine Frage schonmal in diesem Forum gestellt wurde (ich gehe davon aus), entschuldige ich mich im Vorfeld.
Ich bringe mir derzeit selber das Programmieren bei und habe mir als erstes "großes" Übungsprojekt folgendes überlegt.

Ich möchte ein Programm (WPF) schreiben, welches ich mit einer Datenbank koppel.

Zum Ablauf:
In meiner Anwendung möchte ich eine Datenbank mit diversen Tabellen einbinden. Bei den Daten (Tabellen) handelt es sich um Produkte, Einnahmen, Ausgaben und evtl noch einer Kundenliste je nachdem ob diese dann auch sicher gespeichert werden kann (Datenschutz etc.)
Jede Tabelle in der DB soll aus Ihrem Programmbereich nutzbar sein, d.h.

  • Daten aus den Tabellen sollen angezeigt werden
  • ich möchte Daten zu den Tabellen hinzufügen
  • ich möchte Daten in den Tabellen bearbeiten können
  • ich möchte Daten aus den Tabellen entfernen können
  • (optional) die Daten aus der Tabelle Ausgaben sollen der Tabelle Einnahme abgezogen und das Ergebnis soll im Programm angezeigt werden
  • standard prozedere also. Klingt wie ein handelsübliches Büroprogramm... 😁

Hier nun endlich zu meiner Frage:
wie bekomme ich die Kommunikation (Anwendung/Datenbank) und das Bearbeiten (hinzufügen, bearbeiten, löschen) von Daten am Besten hin und welche Version (MySQL oder Microsoft SQL Server Management) soll ich dafür nutzen? Im Netz (Foren/YouTube) finde ich leider keine aktuellen und funktionsfähigen Tutorials/Anleitungen für Codebeispiele und die Nutzung der SQL Programme für meine Projektidee.
Soll ich die Datenbank direkt in das Projekt speichern damit jede zukünftigen Benutzer darauf zugreifen können, wenn ja wie bekomme ich die DB in das Projekt?
Habt oder kennt Ihr verständliche "Anleitungen"
Typische Anfängerfragen eben 😁

Eine Schritt für Schritt Anleitung zum Verstehen der Codebefehle gibt es wahrscheinlich nicht.
Wenn ich Codes sehe kann ich sie besser verstehen als wenn ich nur Begriffe davon lese 🤔

Ich hoffe Ihr könnt mir helfen

pesabre

verwendetes Datenbanksystem: <noch keines>

pesabre
Peter - Sander - Bremen

R
74 Beiträge seit 2006
vor 3 Jahren

Session 4 aus der Kollektion

https://www.youtube.com/playlist?list=PLw8ap9mWnEiJOB8Ib6w93YXUCwiVIa42e

Quellcode ist in der Videobeschreibungen verlinkt.

P
441 Beiträge seit 2014
vor 3 Jahren

Ich habe jetzt das Video nur überflogen, aber wie es aussieht wird da vom WPF Client direkt auf die datenbank zugegriffen, was durchaus als Bad Practise bezeichnet werden muss.

Ziel sollte es sein, niemals direkt mit einer Applikation die im Dunstkreis eines Endusers läuft auf eine Datenbank zuzugreifen.

--> Abstraktion über eine API (das kann HTTP mit REST sein, gRPC, ....) das erlaubt dann eine granulare Kontrolle über das, was in der Datenbank ausgeführt wird und benötigt nachher keine Datenbankcredentials auf dem Client PC.

T
2.219 Beiträge seit 2008
vor 3 Jahren

Nach dem ersten post solltest du dir vermutlih erst einmal die Grundlagen aneigenen.
Auch scheinen dir einige Technische Grundlagen zu fehlen.
MySQL und Microsoft SQL Server sind keine Versionen sondern jeweils eigentständige relationatle Datenbank Engines.
Mit welcher du arbeiten willst, hängt von deinen Anforderungen an.
Auch PostgreSQL wäre eine mögliche Alternative.

Die Verbindung sollte, wie von Papst schon geschrieben, nicht direkt sondern über eine Api als Zwischenschicht dienen.
Auch sollten die Benutzer sich an der Api anmelden müssen um umbefigte Zugriffe komplett zu unterbinden.
Ebenfalls sicherst du mit der Api und einem sauberen Netzwerk, Datenbank und Webserver sollten in einem internen Netz kommunizieren, auch die Daten vom offnen Netz ab!

Hier solltest du dich aber in die technischen Grundlagen einarbeiten, bevor du eine solche Software schreiben willst.
Auf lange Sicht würde es nicht gut gehen, wenn du ohne viel technischen Hintergrund eine Finanzsoftware bauen willst, die dann noch Datenchutz und co. berücksichtigen muss!

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

P
pesabre Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren

Danke für eure Antworten.

@RED-BARON
das Video konnte ich mir noch nicht in Ruhe anschauen. Werde ich aber noch. Sieht sehr umfangreich aus. Danke für den Link 👍

@Papst
ich muss mir dann wohl nochmal das Thema API verinnerlichen. Danke für den Hinweis

@T-Virus
wie schon gesagt: blutiger Anfänger 😁
Hab zwar schon Grundlagenkenntnisse (Grundkurs C# und Grundkurs WPF) aber natürlich noch nicht die praktische Erfahrung. Hatte im Bereich SQL auf learning-by-doing gehofft 😁
Das Thema SQL ist auch leider nicht so wirklich vorgekommen deswegen versuche ich es mir selbst beizubringen

wegen der Verbindung (API/Sicherheit)
wichtig ist mir erst einmal, das es funktioniert und das ich die Funktionen in meine Anwendung einbinden kann, damit ich mir dann meinen fertigen Code verinnerlichen und optimieren kann. Ich hab jetzt auch kein Multi Millionen Euro Unternehmen hinter mir stehen, sodass die Sicherheit zur Erlernen erst nur zweitrangig ist. Sollte ich meine ersten Programme veröffentlichen, dann eh nur im engen Bekannten/Familien Kreis zum Testen...

Danke für eure Hilfe 👍

pesabre

pesabre
Peter - Sander - Bremen