Why is the build() phase in UVM executed in a Top - Down fashion and the other phases in Bottom - Up fashion?

In reply to srbeeram:

Hi Dave,

If I have a uvm_config_db #(abc)::set in the build_phase in the env, and later on, I have another uvm_config_db #(abc)::set with different values in the build phase in the test case, would the latter(test case) override the one in the env?

Thanks!