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.
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
Session 4 aus der Kollektion
https://www.youtube.com/playlist?list=PLw8ap9mWnEiJOB8Ib6w93YXUCwiVIa42e
Quellcode ist in der Videobeschreibungen verlinkt.
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.
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.
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