На вики-сайте c2.com была исследована идея «Динамического реляционного взаимодействия». Вам не нужен администратор базы данных: столбцы и таблицы создаются Create-On-Write, если только вы не начнете добавлять ограничения, чтобы заставить его работать более как традиционная СУБД: по мере развития проекта вы можете постепенно «заблокировать его».
Концептуально вы можете думать о каждой строке как о выражении XML. Например, запись сотрудника может быть представлена как:
<employee lastname="Li" firstname="Joe" salary="120000" id="318"/>
Это не подразумевает, что он должен быть реализован как XML, это просто удобная концептуализация. Если вы запрашиваете несуществующий столбец, такой как «SELECT madeUpColumn ...», он считается пустым или пустым (если только добавленные ограничения не запрещают это). И можно использовать SQL , хотя нужно соблюдать осторожность при сравнении из-за модели подразумеваемого типа. Но помимо обработки типов пользователи динамической реляционной системы чувствовали бы себя как дома, потому что они могут использовать большую часть своих существующих знаний о РСУБД. Теперь, если кто-то просто построит это ...