Database

I am looking for suggestions on how to structure a “recipe” database. I will have 11 columns of data (name, mL to dispense, number of passes, etc) and I would like the user to be able to create a new recipe or to simply select a previously created recipe. I have a Spider with an SD module. It would also be nice to have the option to allow the user to update a .txt (or similar) file on the SD card to change/add recipes in bulk. Future additions would be ethernet connectivity to a remote server that is pushing out updates of recipes.

I have worked with SQL a small amount before but I’m unsure if I should use SQLite for this, if I should just read and parse data from text, or something else entirely. I’d love to hear suggestions on paths I can take with this.

Thanks,

Jeremy

Sounds like a perfect fit for SQLite especially if you plan to sync up with a larger database over the internet later. The structure might look something like this…

Recipe

  • Id
  • Name
  • Author

Ingredient

  • Id
  • Name
  • Location

RecipeIngredients

  • RecipeId
  • IngredientId
  • mLToDispense

Just a quick guess based on the little info you’ve given about the project but you can see where I’m going. Very curious to see what you’re brewing up!

I was thinking very similarly about the database but wanted some validation from a more experience .NETMF user. Should I create the SQLite database on the SD card or do you think the on board memory will be sufficient. I’d be shocked if they every reached 100 rows of data.

I’ll discuss with my customer about how much I can share in the future, I should be able to post a video once the prototype unit is functioning. I can tell you it’s an automated medical lab machine that reduces the time to test for certain diseases but until I get their approval I’m leaving it top secret.

Thanks for all the help.

I think that depends… If the data never changes after your deploy then either solution would work. However, if they can change the recipe at runtime and especially after you connect to ethernet and sync with another computer then you will have to use something non-volatile (SD or Flash module).

Thanks, I started writing this tonight with SD…the only SD I can find has the Android install for my Pandaboard so I’ll have to pick up another tomorrow. Guess I’ll get to test it then.