это типа не базу данных, а базу знаний, и не хранить, а формировать в прогоне. есть много литературы об этом, но в основном для языка Lisp. Вообще слышал об идеях написать программу, которая напишет транслятор, на котором сама напишет себя, которая....