I've recently started learning C# for a project in vocational school. My project is programming a vocabulary-trainer in C#.
Since I don't have any background in creating or working with databases I am not sure if I'm also going to learn MySQL or another database-language. Also I don't know whether or not writing from a c#-programm into databases is as easy, as writing from a c#-programm into a *.txt.
In structuring my database for vocabularies I have come to the following conclusions:
Since some words have more than one meaning I seem to have three possibilities for structuring my database:
1) Set own entry for each translation(put – setzen, put – stellen,…) pro: easy, keys might be reusable(eg for spanish-english) con: takes longer to write database; raises propability for words with more translations to be chosen by my random-word-chooser
2) Create own database for each learning-direction(just like in a real dictionary. You know, these heavy books from school) pro: easy, propability is correct con: unsure about how to handle the fact, that the number of translations isn't equal in each vocabulary entry(class design). database takes long to write.
3) Learn MySQL. From what I heard from a colleague, it is possible, to create a MySQL-database, that is able to use one single string as both, a key and a value. pro: max functionality, I learn something about databases, which might also be useful for my future con: propably takes long time to learn and is complex to implement
I hope you can follow my thought-process and that I didn't use any words in a wrong context, because I'm not a native.
Also I am looking forward to hearing about your thoughts and maybe even new ideas for implementing my database. Please tell me, what you think makes most sense and why.
Thank you very much and keep C#ing .^
by Sanyo_Neezy via /r/csharp