To o co pytasz to nazywa się ORM. Tzn prawie o to pytasz ponieważ jak nazwa wskazuje object-relational-mapping musisz mieć obiekt a nie tablicę jednowymiarową. Odnośnie ORM-ów to jest kilka różnych bibliotek obsługujących takie funkcjonalności. Ponieważ jak to napisałeś
wymaga dość skomplikowanych operacji (które zostały napisane w bibliotece) i często dodatkowej konfiguracji a potem można już używać w bardzo przyjemny sposób.