DB design and theory