Возможно, ваши определения немного запутаны, что понятно из-за большого количества похожих технологий сегодня.
XML не является форматом плоского файла (или базой данных плоского файла), но при чтении вашей цели звучит так, что вам действительно нужна автономная реляционная база данных, а не фактическая квартирафайл.
Как и другие, я настоятельно рекомендую SQLite для этой цели.Существуют привязки для различных платформ, в .NET имеется System.Data.SQLite , который в одном файле является как поставщиком базы данных, так и механизмом.
Два больших преимущества использования SQLite заключаются в том, чтофактическая база данных полностью содержится в одном файле, контролируемом вашим приложением, и поддерживает стандартные команды DDL и DML SQL (например, SELECT, INSERT, UPDATE, DELETE, CREATE DATABASE / TABLE и т. д.).
ДляОднопользовательское приложение SQLite - это отличный (один из лучших) способов хранения данных и настроек приложения.В последнее время обсуждается , что он может даже поддерживать небольшие многопользовательские приложения.
Однако Oracle, MySQL, SQL Server и т. Д. По-прежнему определенно предпочтительнее для многопользовательских приложений (даже небольших приложений), если у вас есть возможность доступа / использования сервера базы данных.
Также, не забывайте, что выбор базы данных не является взаимоисключающим.
На многих компьютерах пользователей может быть установлено многопользовательское приложение с расширенным пользовательским интерфейсом клиента.Центральной базой данных здесь действительно должна быть многопользовательская база данных, такая как MySQL.Но в пользовательском интерфейсе расширенного клиента SQLIte идеально подходит для хранения настроек каждого пользователя или, возможно, для автономной поддержки, когда база данных недоступна.