Autor Beitrag
Ccenter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

Win7
C#
BeitragVerfasst: So 22.07.12 11:56 
Hallo,

ich habe mich noch nicht sonderlich in Datenbanken eingelesen und möchte dies von anfangan in die Richtige tun, damit ich mir direkt das Richtige aneigne.
Idee ist folgende: Ich möchte in C# eine Anwendung schreiben, mit der man seinen Kalorienverbrauch berechnen kann. Zusätzlich möchte ich eine Datenbank mitliefern, in der bereits die Nährwertangaben (Eiweiß, Kohlenhydrahte, Fett, KCal) zu den häufigsten Nahrungsmitteln enthalten sind.

Diese Datenbank soll dann allerdings auch für Android-Apps tauglich sein, da ich vorhabe, irgendwann wenn ich in Android weit genug bin, das Programm auf Android zu portieren und die Datenbank weiter nutzen will.

Ich habe gelesen, dass Android mit Sqlite klarkommt. Gilt das auch für C# oder sollte ich ein anderes Datenbankensystem bevorzugen?
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: So 22.07.12 12:35 
Ich denke mit SQLite bist du schon richtig bedient - für C# gibt es auch SQLite Komponenten.

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
Ccenter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

Win7
C#
BeitragVerfasst: So 22.07.12 20:11 
Habe mir SQLite Expert runtergeladen aber stoße gerade auf ein Problem.
Ich möchte jedem Eintrag (z.B. Reis) 4 Werte zuweisen, also Eiweiß, Kohlenhydrahte, Fett und Kcal.

Ich habe allerdings nur die Möglichkeit "Name", "Typ" und "Value" zu definieren.
Geht mein Vorhaben mit SQlite bzw. Datenbanken nicht?
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: So 22.07.12 21:01 
Hmmm ... lies mal ein wenig in Richtugn relationale Datenbank.
z.B.: de.wikipedia.org/wik...rundlegende_Konzepte

Ich weiß nicht genau was du da vor dir hast, aber bei einer Datenbank kannst du die Struktur deiner Daten in Form von Tabellen abbilden.
Eine Tabelle besteht aus mehreren Spalten und jede Spalte hat einen Namen und einen Typ (und ggf. einen Defaultwert).
Vielleicht ist das die Maske, die du meinst.

Die Daten werden dann als Zeilen in einer Tabelle gespeichert. (Ein Datensatz besteht dann meist aus einer Zeile in einer Tabelle.)

Wann (und warum) du mehr als eine Tabelle benutzen solltest, wird hier erklärt: de.wikipedia.org/wik...Normalform_.281NF.29

Wenn du am Anfang nicht alles in der Artikeln verstehst ist das ganz normal. Versuche aber mal die Beispiele zu verstehen; und wie man deine Daten in Tabellen quetscht.
Ccenter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

Win7
C#
BeitragVerfasst: So 22.07.12 22:01 
Ok Danke, werde ich mir gleich durchlesen.

Nur schonmal zum Verständnis, so vom Prinzip her soll das aussehen:
Einloggen, um Attachments anzusehen!
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: So 22.07.12 22:30 
Okay, also ich glaube du bist in dem "neue Spalte"-Dialog.

Dann könntest du einmal eintragen:
Name: Lebensmittel; Type:Text; Not NULL anhaken.
Name: Kohlenhydrate; Type:Integer; Not NULL anhaken.
Name: Fett; Type:Integer; Not NULL anhaken.
Name: Protein; Type:Integer; Not NULL anhaken.

So ungefähr. Um auf dein "Beispiel" zurückzukommen: Du musst erst die Tabellenkopfzeile definieren und jeder Spalte einen Typen geben :wink:
Oder auch: Du musst erstmal die Art deiner Daten definieren, bevor du tatsächlich Daten eingeben kannst.