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
Anfangen mit Datenbanken
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

Anfangen mit Datenbanken

beantworten | zitieren | melden

So, dies ist jetzt mein zweites Thema hier im Forum, was auch einen Einblick darin bringt, was für ein blutiger Anfänger ich bin. Das aber nur bei C#. Programmieren allgemein nicht.

Jetzt zum eigentlichen Thema: Ich möchte also nun mit der Programmierung in C# anfangen, wobei ich Datenbanken brauche. (ein Paar Grundlegende C#-Dinge sind schon vorhanden)
Jetzt habe ich mich gefragt was brauche ich nun dafür. Wenn man im Internet mit PHP + mySQL programmieren will, braucht man ja auch Webspace + Datenbanken. Was brauche ich denn wenn ich auf meinem PC lokal mit Datenbanken hantieren will. Muss ich dafür irgendwas runterladen und installieren oder wie sieht das aus?

Bin für jede Antwort dankbar.

mfg
Söckchen
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Du benötigst eine Datenbank und eine Möglichkeit, auf die Datenbank zuzugreifen. Für beides gibt es viele mögliche Optionen.

Die einfachste und automatisierteste ist die Verwendung des SQL Server 2005, der in .NET 2.0 und Visual Studio 2005 integriert ist. Da lassen sich dann viele Helferlein wie DataTables verwenden und Du kommst mit nativem SQL kaum noch in Berührung.

Wenn Du eher ein bisschen im "Dreck wühlen" willst oder einfach grundsätztlich was gegen den SQL Server hast, dann kannst Du auch andere Datenbanken einsetzen z.B. PostgreSQL, Firebird, mySQL, SQLite usw. Hier gibt es dann in der Regel eigene Treiber, die sich verwenden lassen, um die jeweiligen Features der Datenbanken zu unterstützen.

Hilfreiche Suchbegriffe zum Thema: ADO.NET, C# und Datenbanken
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Erstmal Danke für deine schnelle Antwort und direkt die nächste kurze Frage:

Angenommen ich wolle mit FireBird arbeiten, wäre dieser Link dann richtig?

-> http://www.firebirdsql.org/index.php?op=files&id=netprovider

Frage 2.)
Sehen die Befehle dann gleich aus, die ich beim programmieren nutzen muss oder sind das komplett andere?
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Wenn du anfängst, dann würde ich mir die Umgebung suchen, für die es am meisten Lernmaterial gibt. Da würde ich von Firebird erstmal die Finger lassen.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Zitat
Original von svenson
Wenn du anfängst, dann würde ich mir die Umgebung suchen, für die es am meisten Lernmaterial gibt. Da würde ich von Firebird erstmal die Finger lassen.

Und welche ist die mit dem meisten Lernmaterial? Entschuldigt bitte diese Fragerei, aber ich bin halt was C# + Datenbank angeht ein totaler Neuling.
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Die 0815-MS-Umgebung. VS mit SQL Server (Express). Die ganzen Beispiele von MS laufen da drauf. Auch fast alle Bücher zum Thema ADO.NET nutzen primär den MS SQL Server.

Die Express-Version kostet auch nix.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Ich habe eine Version auf dem PC, nennt sich MS SQL Server 2005. Ist das die, die du meinst?
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Wenn Du nix dafür bezahlt und sie nicht über ne Tauschbörse geladen hast, dann ja.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Die gabs auf der Seite von Microsoft...und da habe ich nichts bezahlt und ich denke auch nicht das Microsoft eine Tauschbörse ist

Na dann wären wir da doch schonmal einen Schritt weiter. Aber nun habe ich noch eine Frage: Wenn man Webspace mit Datenbanken hat, dann kann man ja über ein Webinterface Datenbanken erstellen und löschen usw...

Wie mache ich dass denn jetzt auf dem PC?
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Du kannst den SQL Server über Visual Studio administrieren. Außerdem vermute ich, dass es einen extra Eintrag im Startmenü für SQL Server 2005 gibt.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Da ist ein SQL Server Configuration Manager dabei. Kann mir nun jemand sagen ob das das richtige ist, und wenn ja wie ich da nun eine neue Datenbank erstelle? Ich klicke mich nämlich in diesem Programm gerade dumm und dämlich
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Qwald
myCSharp.de - Member



Dabei seit:
Beiträge: 214

beantworten | zitieren | melden

Hallo,
was du machen kannst: Einen MySQL Server runterladen und installieren.

Sofern du schon eine PHP/MySQL Umgebung lokal auf deinem PC hast, kannst du auch den MySQL Server verwenden.
Wenn du noch keinen lokalen Webserver hast, kann man in ein paar Sekunden mit xampp eine komplette Umgebung installieren, mit MySQL Server.


Als nächstes brauchst du einfach einen SQL Connector, um auf den SQL zuzugreifen, für MySQL gibt es den auf deren Website (mysql.com).
Dort sind auch Beispiele aufgeführt, wie man z.B. eine Verbindung aufbaut, und Daten abfragt.
Hast du die paar grundlegenden Befehle verstanden, um auf den Server zuzugreifen, ist es nicht viel anders in PHP. Einfach die SQL Befehle an den Server senden, und die Antwort verarbeiten, außer das man dann bei C# nicht mysql_query() etc. benutzt, sondern Klassen des MySQL .NET Connectors.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Zitat
Original von Qwald
Hallo,
was du machen kannst: Einen MySQL Server runterladen und installieren.

Sofern du schon eine PHP/MySQL Umgebung lokal auf deinem PC hast, kannst du auch den MySQL Server verwenden.
Wenn du noch keinen lokalen Webserver hast, kann man in ein paar Sekunden mit xampp eine komplette Umgebung installieren, mit MySQL Server.


Als nächstes brauchst du einfach einen SQL Connector, um auf den SQL zuzugreifen, für MySQL gibt es den auf deren Website (mysql.com).
Dort sind auch Beispiele aufgeführt, wie man z.B. eine Verbindung aufbaut, und Daten abfragt.
Hast du die paar grundlegenden Befehle verstanden, um auf den Server zuzugreifen, ist es nicht viel anders in PHP. Einfach die SQL Befehle an den Server senden, und die Antwort verarbeiten, außer das man dann bei C# nicht mysql_query() etc. benutzt, sondern Klassen des MySQL .NET Connectors.

Danke für deine Antwort. Ich glaube das wird jetzt auch das sein, womit ich mich mal beschäftigen werde. Jedoch scheine ich blind zu sein, denn ich finde auf der Seite von mysql.com keinen SQL Constructor. Hättest du einen genauen Link für mich?

EDIT: Meine es gefunden zu haben
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Fabian
myCSharp.de - Member

Avatar #avatar-1590.jpg


Dabei seit:
Beiträge: 1994
Herkunft: Dortmund

beantworten | zitieren | melden

Hallo Söckchen,

eine Möglichkeit, um den MS SQL Server 2005 Express zu administrieren, ist das Programm "SQL Server Management Studio Express". Diese Version des Management-Studios gibt es auch auf der Microsoft-Seite zum kostenlosen Download.

Damit kannst Du wunderbar Deine Datenbank(en) verwalten.


Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Zitat
Original von Fabian
Hallo Söckchen,

eine Möglichkeit, um den MS SQL Server 2005 Express zu administrieren, ist das Programm "SQL Server Management Studio Express". Diese Version des Management-Studios gibt es auch auf der Microsoft-Seite zum kostenlosen Download.

Damit kannst Du wunderbar Deine Datenbank(en) verwalten.


Gruß,
Fabian

Auch das werde ich mir mal angucken!
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Ich verwende VS nicht mehr, aber gab es da nicht eine Maske, mit der man den SQL Server administrieren konnte?
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
Fabian
myCSharp.de - Member

Avatar #avatar-1590.jpg


Dabei seit:
Beiträge: 1994
Herkunft: Dortmund

beantworten | zitieren | melden

Hallo Lord Hessia,

meinst Du die Server-Ansicht? Soweit ich weiß, kann man da aber nur zu vorhandenen Servern bzw. zu den dort vorhandenen Datenbanken verbinden oder? Alles, was darüber liegt, geht glaube ich nicht mit VS.


Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Noch mal eben eine Frage zwischendurch:

Angenommen ich programmiere ein Programm welches auch eine Datenbank nutzt (nehmen wir mal die von MS): muss ich dann davon ausgehen, dass der Nutzer, der mein Programm nutzt, MS SQL Server installiert hat? Und welche Dateien muss ich ihm geben, damit das Programm auch bei ihm funktionstüchtig wäre?
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Zitat
Original von Söckchen
Noch mal eben eine Frage zwischendurch:

Angenommen ich programmiere ein Programm welches auch eine Datenbank nutzt (nehmen wir mal die von MS): muss ich dann davon ausgehen, dass der Nutzer, der mein Programm nutzt, MS SQL Server installiert hat?
Ja klar.
Zitat
Original von Söckchen
Und welche Dateien muss ich ihm geben, damit das Programm auch bei ihm funktionstüchtig wäre?
Das hängt von der DB ab. Mich würde es nicht wundern, wenn man einen (abgespeckten) MS SQL Server irgendwie ins Projekt packen kann. Alternativ kann man auch embedded Firebird oder SQLite verwenden, die nur aus einer Datei bestehen (zumindest letzteres) und deren Installation darain besteht, diese Datei auf die Platte des Benutzers zu kopieren. Wenn Du Dich aber gerade erst mit Datenbanken beschäftigst, so solltest Du diese Frage vielleicht erst einmal etwas nach hinten schieben.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
Söckchen
myCSharp.de - Member



Dabei seit:
Beiträge: 51
Herkunft: Mönchengladbach

Themenstarter:

beantworten | zitieren | melden

Es ist so, dass ich bald ein Programm programmieren will, welches sehr stark darauf angewiesen ist Daten zu speichern und wieder auszulesen und dass nicht nur auf meinem PC!. Also ich möchte an Freunde das Programm weitergeben und die sollen dass dann auch auf ihrem PC nutzen können (die Daten die gespeichert werden sind nicht für alle zugänglich, sondern angenommen ich würde es mit Datenbanken machen hätte jeder seine eigene auf seinem PC).

Aber wäre es dann nicht sinvoller, das alles in Files zu schreiben, anstatt in Datenbanken? Weil Files kann ich ja aus dem Programm hereaus erstellen, dafür braucht der Nutzer nichts installieren oder sonstiges.
Jeder fängt mal klein an!
private Nachricht | Beiträge des Benutzers
Qwald
myCSharp.de - Member



Dabei seit:
Beiträge: 214

beantworten | zitieren | melden

Hallo,
es stellt sich die Frage, welche Komplexilität deine Daten haben. Treten dort viele Beziehungen auf etc.

Wenn du einfach nur Daten nacheinander abspeichern musst, ohne besondere Beziehungen, ohne Updates, Inserts, Deletes etc., kannst du auch Dateien benutzen.
Dort solltest dich evt. etwas mit XML beschäftigen.

Hast du aber viele Beziehungen zwischen den Daten, z.B. eine Lagerverwaltung etc., dann würde es mehr Aufwand machen, eine Klasse zu schreiben, die deine Daten entsprechend speichern und auslesen kann. Dort kannst du lieber eine Datenbank benutzen, denn mit SQL ist der Zugriff auf die Daten sehr leicht.
Und wenn du emb. Firebird verwendest, musst du auch nur ein paar Dateien mit in den Programmordner legen, der Benutzer muss dann später nichts weiter installieren.
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

In (Text-)Dateien würde ich das nicht speichern, wenn es sich um viele strukturierte Daten handelt, diese besonders geschützt werden soll oder schneller Zugriff möglich sein soll.

Wie gesagt, ich meine mal gehört zu haben, dass man den abgespeckten SQL Server mit ins Projekt packen kann bzw. dass er eh im Framwrok integriert ist oder so - da kannst Du aber bestimmt mit einer Suche nach "SQL Server ins Projekt integrieren" oder so einiges hier finden.

Außerdem gibt es ja noch SQLite und evtl. embedded Firebird, die klein und leicht und automatisiert zu installieren sind.

Wenn es wirklich nur Dateien sein sollen, in denen Du Daten ablegst, dann sollte es eher XML sein anstatt einfachen Textdateien.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers