Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie Kommunikation mit Datenbank aufbauen, Daten manipulieren und welche SQL-Version nehmen?
pesabre
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Bremen

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
RED-BARON
myCSharp.de - Member



Dabei seit:
Beiträge: 76

beantworten | zitieren | melden

Session 4 aus der Kollektion
https://www.youtube.com/playlist?list=PLw8ap9mWnEiJOB8Ib6w93YXUCwiVIa42e

Quellcode ist in der Videobeschreibungen verlinkt.
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 355
Herkunft: Kassel

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1820
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
pesabre
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Bremen

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers