Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Es gibt eine ganze Menge Objekte auf der Welt, die sich abseits der üblichen Adress- und Kundendaten in einer Datenbank verwalten lassen. Auf der Suche nach weniger trivialen Inhalten stießen wir auf die Daten von Lebensmitteln und deren Nährwerten – in Zeiten zunehmender Verunsicherung in Sachen Ernährung möglicherweise ein interessantes Thema. Herausgekommen ist eine Anwendung mit einer zusätzlichen Rezepteverwaltung und einem Kalorienrechner.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1609_Naehrwerte.accdb
Lebensmittel und Nährwerte
Im Netz lassen sich zahlreiche Datensammlungen zu Lebensmitteln und deren Nährwerten finden. Die Qualität dieser Daten ist allerdings sehr inhomogen. Im einen Fall ist der Umfang zu gering, im anderen stimmen die Inhalte teilweise nicht. Größer ist allerdings das Problem mit den Datenformaten. Man findet die Tabellen im Text- oder CSV-Format, als Excel-Files oder gar als SQL-Postgres-Dump. Derlei zieht eine Konvertierung zu Access nach sich, die meist mit Nachbearbeitungen verbunden ist. Doch selbst dann, wenn Sie eine originäre Access-Datenbank zum Download finden, stehen Sie häufig vor Problemen.
Ein gutes Beispiel ist die regelmäßig aktualisierte Datenbank des US-Landwirtschaftsministeriums (Link), die unter anderem auch im ACCDB-Format vorliegt. An Vollständigkeit lässt diese Datenbank mit ihren etwa 9.000 Datensätzen nichts zu wünschen übrig. Indessen ist ihre Nomenklatur komplett englisch und weiter das Datenmodell mit den 13 Tabellen so verzweigt, dass sich ihre Verwendung für eine simple Nährwertdatenbank praktisch ausschließt.
Lange Rede, kurzer Sinn: Unsere Nährwerttabelle leitet sich aus mehreren Quellen ab, die schließlich über Konvertierungen und Anfüge- wie Aktualisierungsabfragen erhalten wurde. Wir sehen davon ab, hier das erfolgte Procedere zu beschreiben. Ergebnis ist ein Datenpool mit circa 12.000 Datensätzen, die jeweils 48 Kennzahlen enthalten. Die hohe Zahl ist dem Umstand geschuldet, dass nicht nur elementare Lebensmittel verzeichnet sind, sondern auch zusammengesetzte Produkte, wie etwa der Allgäuer Käsesuppentopf oder die Schweinezunge mit Weißweinsoße, also Imgrunde fertige Rezepturen.
Datenmodell
Einfacher geht’s nicht: Die Nährwertdaten befinden sich alle in nur einer Tabelle tblNaehrwerte, die sich rechts in Bild 1 findet. Die ID als Autowert stellt den Primärschlüssel der Tabelle, das Feld Nahrungsmittel seine Bezeichnung. Es ist ebenfalls mit einem eindeutigen Index versehen, um Doppelungen auszuschließen. Darauf folgen 48 Felder zu allen möglichen Kennzahlen, wie der Gehalt an Calcium, Fett, oder Aminosäuren. Diese Zahlenfelder sind allesamt als Double definiert. Den Entwurf der Tabelle zeigt Bild 2. Verbunden mit der Nährwerttabelle sind tblRezepte und tblRezepteZutaten. In der ersten werden die angelegten Rezepte namentlich verzeichnet, wobei im Rezept zusätzlich die gedachte Portionen-Menge spezifiziert ist. Die zweite verknüpft Rezepte und Nahrungsmittel n:m. Ein Rezept kann demnach mehrere Nahrungsmittel enthalten, deren Menge in der Verknüpfungstabelle als Double-Zahl für das Gewicht in Gramm aufgeführt ist.
Bild 1: tblNaehrwerte im Entwurf
Bild 2: Das ziemlich überschaubare Datenmodell der Nährwertdatenbank
Zur Laufzeit sieht die Nährwerttabelle als Datenblatt aus, wie in Bild 3. Sie können sie schon hier über die Filterpfeile der Spaltenköpfe gemäß Ihrer Kriterien filtern und sortieren. Sortieren Sie etwa absteigend nach Eiweiß, um die Lebensmittel mit dem höchsten Eiweißgehalt zu ermitteln.
Bild 3: So präsentiert sich ein Teil der 50 Felder der Haupttabelle tblNaehrwerte in der Datenblattansicht
Sehr unpraktisch sind indessen die vielen Felder, die ein horizontales Scrollen erfordern, sodass die Daten eines Lebensmittels auch auf einem großen Monitor nie auf einen Blick zu sehen sind. Hier muss ein Formular mit Detailfeldern her!
Nährwerteformular
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo