Best database design for small projects in C # application

I have a problem, I have a kind of hobby request for a small program. Will be done on Windows with Visual C #. As far as I know, this will require a database, and I don’t know how to start it, mainly because of the requirements:

  • It will contain small data items, but hell a lot of them. Three tables with lots of rows, but maybe only 2 or 3 columns. Data will be read more often than recorded.

  • Reading should be quick.

  • The most important point: I should be able to easily deploy the system using my application, without requiring any additional actions from the end user. In addition, there should not be any problems with the license, please.

Since I will be working with Linq, I also looked at XML, maybe this is an alternative?

Thank you for reading.

+4
source share
5 answers

Give up on SQLServer Compact Edition . It should be exactly what you need.

+5
source

Well, I don't know if there is a mongodb driver for C #. But if so, go with mongodb or any other schema database. More here

Edit: MongoDB has a C # driver. C # driver

0
source

Personally, I would use SQLite . It might be worth it to denormalize the database into a single table if performance is a problem. This will depend on the data structure, and you will need to check if a performance improvement can be achieved.

0
source

Try the following:

0
source

Check the Valentina database (www.valentina-db.com). You will love it. Especially if you need speed. Valentine is very fast. Yes, I know that most dbs claim they are fast. But Valentine is really special. This is easily the usual dbs x10-x50 times. Because there are several reasons:

  • It is columnar (while others use row format tables)
  • It has special indexes.
  • it gives you at the same time the SQL and NON-SQL APIs (hundreds of methods).
  • it provides at the same time a relational model, but also Object-Relational and Extended Network models.
  • You can use not only foreign keys to bind tables, but also ObjectPtr and BinaryLinks.
  • Combining sitelinks is several times faster than through FK.
  • Very powerful SQL, including views, triggers, stored procedures, wonderful recursive queries, types of enumerations with localization, ...

The next interesting feature of Valentina DB, maybe this is the only database that offers both of you:

  • LOCAL db engine, which can be built into your application, therefore
  • Valentina SERVER + VCLIENT, which can be used in your application.

You can also mix local engine and vclient at the same time.

They also provide their own Valentina Report engine, which is present in all products, and you can use it in your applications.

Also an incredible tool is Valentina Studio to manage it all. And they have many free options for most products.

Just an amazing product!

-1
source

Source: https://habr.com/ru/post/1337475/


All Articles