In my opnion, you can't let the end user change the database, NEVER EVER. Any and every change in the database should be done by the software, or only, in very specific cases, by the database administrator.
In your example, you want to let the user change the description in directly in the database. But what it the user add a description contaning &"'^~><-+{]\|%$#@!*&¨?°¬¢£³²¹, would the software accept it?
What it the user remove the description field?
There's many ways that the user can mess up a software by editing the database himself, in my opnion this should never happen.
About the database itself, if every copy of your software will have an exclusive database, I can't suggest anything... lol... I never made an client application with a exclusive database. But I'd guess MSAccess, MySQL or FireBird.
I would never make an application based on a excel database.
However, if your software will connect to a central database, I recommend SQL Server or Oracle. Both have very easy .NET interfaces and are great handling large number of records, large number of connections, and have a lot of nice features that help development and maintanace.