Історично локальні та файл-серверні СКБД надавали скриптову мову, якою користувач міг писати прикладну програму. Так влаштовані Microsoft Access, FoxPro, Clipper, 1С: Бухгалтерія. Недоліком цього підходу була бідність результуючих програм, обмежені засоби налагодження. І найчастіше не існувало компактного середовища виконання, яке можна розповсюджувати разом із програмою; потрібна програма — встановлюй весь пакунок. З поширенням динамічного зв'язування та ідеології opensource маятник хитнувся в інший бік: нехай програміст пише свою програму тією мовою високого рівня, якою зручно. СКБД приєднається до програми і стане з нею єдиним цілим.
Особливості
Немає окремої програми-сервера.
Фізично вбудовувана СКБД є бібліотекою, яка статично або динамічно приєднується до основної програми. Програма та СКБД спілкуються не через мережеві сокети, а через спеціалізований програмний інтерфейс[4][5]. У цьому, щоправда, є й недолік: найчастіше програміст сам повинен не допускати багатопотокової гонитви.
Висока швидкість і мала витрата пам'яті, особливо на довгих рядках та BLOBах.
Завдяки спеціалізованому API кількість операцій читання-запису є мінімальною.
Найчастіше невеликий за мірками БД максимальний розмір бази.
Як правило, спеціалізована мова запитів або неповна сумісність із SQL-92.
Часто для продуктивності розробники реалізують або неповний SQL (SQLite),[7] або спеціалізовану мову запитів (BerkeleyDB). До того ж вбудовувані СУБД можуть діяти зовсім за іншим принципом, ніж клієнт-серверні: пінг до БД нульовий, і запит можна виконувати частинами, декількома зверненнями до СУБД.
Більшого однокористувацькій БД і не потрібно. Як правило, транзакції ізолюються за принципом «записуємо по одному» за допомогою стандартних механізмів ОС на кшталт блокування файлів. Доступ до одного файлу з кількох програм можна налагодити: так, SQLite успішно працює в малонавантажених сайтах[6]. Але високе навантаження йому не під силу.
Вбудована БД надійна настільки, наскільки надійна бібліотека СКБД і файлова система, де розташовано базу даних. Відомі вбудовувані СКБД, як правило, добре відтестовані,[8] а сучасні файлові системи дуже надійні. Разом з тим, є безліч способів втратити дані,[9] тому такі рішення щодо надійності поступаються серверним СКБД.
Як правило, немає мовних засобів, які спрощують доступ до БД.
Спеціалізовані СКБД-мови на зразок xBase зазвичай є симбіозом мови запитів і мови прикладного програмування. У мовах програмування загального призначення правильність запиту буде перевірено не під час компіляції, а лише тоді, коли запит буде надіслано в СКБД. І, звичайно ж, мовою програмування загального призначення конструкції доступу до БД (як вбудованої, так і клієнт-серверної) будуть «важкими».
Втім, у C# є мова запитів LINQ, яка компілюється в комбінацію викликів методів, а ті, як правило, готують звичайний SQL.