Which database to use for a Windows application?

I am developing a small windows application in .net. Which database should I use?

DB structure

Table 1: No more than three fields: 50+ records (Add, Delete)

Table 2: No more than 10 fields: 10-20 records (Add, Delete)

I thought about using XMLDatabase, but some say that it is not practical to use it. What are the reasons for this? If it's OK to use XML files as a database, can you offer some guides or best practices? I used to work with XML files. Is there anything else when it comes to using it as a database?

I also plan to later distribute the application to my friends, and these guys are not programmers, and they are less tech.

So, if I use a SQL server, how to deploy it on other machines? How to add it to the installation file?

Update: Thanks for the answers. I am going to use SQLite, and here is a tutorial about SQLite and .net if anyone is interested.

+3
source share
10 answers

SQLite is a great way for small applications. He is fast, competent and has a small footprint.

There is a large SQLite managed library for .Net that I used in previous projects:

http://sqlite.phxsoftware.com/

Edit:

Given the choice between SQLite and SQL Server Compact Edition, you'll almost always want to go with SQLite if you don't need some advanced features that SQLite does not support.

[ SQL Server Compact Edition. , , . .]

+12

, , SQLite, SQL Server Compact Edition.

Compact Edition , SQL Server . .

Update

, SQLite 1 . SQL Server Compact - 1,8 (. MS Document ).

+4

.. , ( , IMHO) XML ( / XML) LINQ. , . DB .

: , IFF ( , ). , , , - , , , , . =)

+3

- , SQLite, SQLServer Express .

+2

SQL Server, , script . script , , .NET Sql (SqlConnection ..).

SQL Server . DB, SQLite.

+2

SQL Server Express. , Oracle Express DB2 Express. . , , .

+2

, XML , , , , XML - .NET .

, 100 10 . XML- . NoCarrier LINQ .

, , .

+1

SQL Server Express SQL Server Compact Edition.

0

XML . XML-: Nonsense XML PHP. PHP ASP.NET. XML ASP.NET.

, XML, - , , .

0

1: 3 : 50+ (, )

2: 10 : 10-20 (, )

If your records are of a decent size (you don’t want to store movies or something like that in your application, right?) I would suggest reading from flat text or xml files at startup and saving everything to Memory. From time to time, you may flush your buffers to disk.

I don't know your other requirements (what about concurrency?), But imho, a real DBMS might be redundant for your problem, and sqlite (which I am a big fan of) may not have been a solution (again concurrency, this is not one of sqlites strengths )

0
source

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


All Articles