Einfache Datenbank in C anlegen

skier007

Newbie
Registriert
Nov. 2015
Beiträge
5
Hallo zusammen,

Vorneweg:
Ich programmiere in der Sprache C und benutze CodeLite. Ich programmiere erst seit ein paar Wochen und bin blutiger Anfänger. Schleifen, Arrays und solche ganz grundlegende Sachen kenne ich. Struct, Dateioperationen und solche Sachen noch nicht.

Nun zu meiner Frage:
Ich würde gerne eine Datenbank für meinen Kegelclub anlegen die wie folgt bearbeitet werden kann:

Nutzer gibt Vorname, Nachname aller Mitglieder ein uns "speichert" das ganz ab.
Nach einem Spieltag soll der Nutzer die Möglichkeit haben zu jedem Spieler die erzielte Punktzahl einzutragen und das ganze wieder speichern zu können.
Am ende der Saison sieht man dann wer die meisten Punkte erzielt hat.

Mein Problem:
Ich würde gerne wissen wie ich so etwas möglichst einfach realisieren kann. Was muss ich mir dazu für ein Thema aneigenen? Oder wie würdet ihr an die Sache ran gehen?

Gruß Tobi
 
sqlite ist eine einfache Datenbank, sofern du minimale Kenntnisse in SQL hast.
Dann solltest du dir noch ne GUI Bibliothek suchen, weil das einfacher ist als Win32 direkt zu programmieren. Aber die sind fast alle für C++
 
C ist dafür ziemlich umständlich denke ich, das geht einfacher als damit...

Setz dich mal damit auseinander: http://www.openoffice.org/product/base.html

Das bietet Datenbanken sowie Bedieninterfaces in grafischer Oberfläche. Man muss sich ein bisschen mit dem Thema auseinandersetzen um die Formulare hinzubekommen, aber sollte in ~4 Stunden gut machbar sein...

Oder hast du Lust das zu programmieren, das ist ja dann was anderes :)
 
Ja also auf SQL bin ich beim googeln auch gestoßen und mit excel und co kenne ich mich auch etwas aus.
Da ich allerdings im nächsten Semester C programmieren bekomme würde ich das ganze gerne komplett mit Codelite ohne GUI (also nur in der Konsole) realisieren. Ist zwar umständlicher und nicht so schick aber so hätte ich auch den Lerneffekt dabei.
 
Verstehe ich das richtig.

Ich kann mein Programm in Codelite schreiben und über eine Headerdatei auf SQL zugreifen?
 
Also SQL ist die Abfragesprache, mit dessen Hilfe du auf die Datenbank zugreifst.
Dabei ist es (fast) egal, um welche Datenbank es sich handelt (also Oracle, MySql, Sqlite...).
Ich habe fast geschrieben, weil es auch noch herstellerspezifische Erweiterungen gibt, aber dass ist eine andere Geschichte.

Zu deiner Frage: Ja, du kannst mit C SQL Datenbankabfragen verschicken.
Fragt sich noch, welche Datenbank. Am einfachsten für den Einstieg ist sicher Sqlite, allerdings kannst du mit Sqlite keinen Netzwerkzugriff
mit mehreren gleichzeitigen Nutzern realisieren, also nur geeignet als lokale Datenbank auf deinem Rechner.
Firefox verwendet z.B. auch Sqlite, um seine Einstellungen zu speichern.
 
allerdings kannst du mit Sqlite keinen Netzwerkzugriff mit mehreren gleichzeitigen Nutzern realisieren, also nur geeignet als lokale Datenbank auf deinem Rechner.
Realisiert er das nicht, indem er die Anfragen durch sein Programm durchschleußt und (wie mit einem std::mutex in C++) sicher stellt, dass immer nur eine Operation zur Zeit auf der DB stattfindet?
Welches Betriebssystem überhaupt? Unter Linux ginge das so: http://www.thegeekstuff.com/2012/05/c-mutex-examples/
Hier ist noch ein Link: http://stackoverflow.com/questions/704454/is-there-a-way-to-make-a-function-atomic-in-c

Generell ist es natürlich sehr löblich, dass du dich so intensiv vorbereiten willst aber Datenbanken und C ist sicher eine eher seltene Kombination... und nicht ohne Grund ;)
 
Ein Mutex funktioniert nicht netzwerkübergreifend, in der Datenbankentwicklung verwendet man Transaktionen, um atomare Operationen
durchzuführen.

Sqlite benötigt auch keinen Mutex, da Sqlite intern ein Dateilock auf die Datenbankdatei verwendet.
 
Zuletzt bearbeitet:
Eigne dir zuerst mal Grundlagen von Datenbanken an, bevor du sagst:"Ich will eine Datenbank aufstellen". Das geht SEHR schnell in die Hose wenn du die Basics nicht drauf hast.
 
Genau dafür gibt es doch grafische Administrationsoberflächen, wie MySql Workbench oder DB Browser for SQLite.
Man muss noch nicht einmal SQL können, sondern kann sich auch alles zusammenklicken.
Auf jeden Fall ist es für den TE sinnvoll, sich mit Datenbanken zu beschäftigen,
diese werden früher oder später in seinem Studium Thema sein.
 
Zurück
Oben