horizontal and vertical partitioning in dbms