Anfängerproblem Datenbank in C++

Gast #1714542
Lesenswert?

Hi,

Ich habe vor ein Programm zu schreiben, das lokal auf einem PC läuft und 
eine Datenbank im Hintergrund hat, in der verschiedene Personen mit 
ihren Eigenschaften gespeichert sind.
In dem Programm will ich dann Größe (mit größer als) Haarfarbe etc. 
angeben und das Programm soll mir die Person nennen die gesucht ist.
Wie leg ich die Datenbank am besten an?
Excel, Access, SQL und welche Klassen brauch ich da dazu damit ich 
programmieren kann und wo krieg ich diese her?
Achja ich will in C++ programmieren.

Danke schonmal im Vorraus für eure Hilfe
Grüße Buck
#1714555
Lesenswert?

Ich weiß jetzt nicht welche Ausgabe von VC++ du hast (Express,
Professional etc.) und ob da MS-SQL Express dabei ist.
Falls ja, findet sich die Doku dazu unter www.msdn.com bzw. in
der installierten Hilfe.

Eine Alternative ist z.B. mysql. Das ist nicht dabei, ist aber freie
Software und über eine C-API ansprechbar.

Eine weitere Möglichkeit ist natürlich, gar keine fertige DB zu
nehmen, sondern die Datenverwaltung komplett selbst im eigenen
Programm zu erschlagen. Macht mehr Arbeit, aber die schändet ja nicht
und man lernt etwas Neues.
#1714557
Lesenswert?

Muss es eine echte relationale Datenbank sein oder ist das Ziel der 
Übung einfach nur das arbeiten mit Datenstrukturen?
Hintergrund: Für dein Beispiel ist echte Datenbank ein wenig oversized. 
Auf der anderen Seite benennen Lehrer solche Beispiele gerne mit 
'Datenbank' um die Aufgabenstellung ein wenig aufzupeppen. Gemeint ist 
aber oft das arbeiten mit Datenstrukturen, also Einfügen, Löschen, 
Suchen, Abspeichern, Lesen von linearen Listen, Arrays oder dergleichen.

Deine Aufgabenstellung klingt nach letzterem, dein Lösungsansatz ist 
aber ersteres.

Ansonsten: Es gibt ein paar freie Datenbanksysteme, die man auch gut von 
C++ aus programmieren kann.
SQLite ist zb ein gutes System, weil du dazu keinen Datenbankserver 
benötigst, der erst aufgesetzt und administriert werden muss
http://www.sqlite.org/
Gast #1715220
Lesenswert?

MySQL wurde ja schon genannt. Eine weitere Alternative wäre PostgreSQL 
(http://www.postgresql.org/), ebenfalls Opensource und ebenfalls über 
eine C-API ansprechbar.
Falls das Ganze nur als Übung gedacht ist ginge auch Access. Ist zwar 
eher eine Krankheit, läßt sich aber von MSVS aus fast genauso ansprechen 
wie MSSQL-Server.
#1715629
Lesenswert?

Hallo.

Ich würde auch sqlite empfehlen, da kommst Du schnell zu Deiner 
Programmierung und musst nicht noch einen Datenbankserver einrichten. 
Erste Gehversuche kannst Du mit der Browser machen:

http://sqlitebrowser.sourceforge.net/

Tip: Wenn Du Befehle auf dem Browser absetzt tust, wird die Datenbank 
auf Grund des Schreibbefehles blockiert und Du kommst mit Deinem 
Programm nicht mehr drauf. Also die Programme immer unabhängig testen 
:-)
Gast #4583041
Lesenswert?

Ich möchte mein Programm abwandeln, so dass die Matrix mit den Daten 
besteht, wenn das Programm beendet wurde. also, dass dieses Programm im 
Aufgabensteller-Modus eine Matrix beschreibt und im 
Aufgabenbearbeitermodus eine bestehende Matrix ausliest und beschreibt. 
Das Ziel soll es sein, dass eine Lehrerperson eine Tabelle auf einen 
Rechner speichern kann, und das Programm auf diese Tabelle zugreift. 
Damit wäre die Lösung des "Schülers" nach Beendigung des Programmes noch 
abgreifbar, da die Matrix/Tabelle extern, also außerhalb des Programmes, 
ersetzt, kopiert, verschoben,... werden könnte.

Damit muss zum Erstellen der Aufgabenmatrix nicht alles über das 
Programm eingegeben werden, sondern könnte einfach eine vorgefertigte 
Tabelle in ein zielverzeichnis gespeichert werden, auf das mein Programm 
zugreift. Die Frage ist nur, wie bringe ich das C++-Programm dazu, aus 
dem Arrey eine Datei zu machen, die ich sehen kann, bzw. in welchem 
Datenformat müsste eine Tabelle geschrieben sein, damit mein 
C++-Programm darin arbeiten kann?

Also ich will auch Datenbanken im Sinne von SQL verzichten und 
einfachste Lösungen bevorzugen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren