1. A database management system comprising: a processor to execute computer program instructions and process data; a memory to store the computer program instructions executable by the processor and a multi-dimensional data table to store data; and computer program instructions stored in the memory and executable to generate a plurality of data tables from the data stored in the multi-dimensional data table using non-negative matrix factorization, wherein each one of the plurality of data tables is an approximate factor of the multi-dimensional data table; wherein the computer program instructions are further executable to implement: a server application programming interface to provide an interface to client software to construct a specification for a relational database model including non-negative matrix factorization model as the result of a build task performed by a build unit; the build unit to build the relational database model including non-negative matrix factorization from the data in the multi-dimensional data table using the specification and to store metadata representing the built relational database model including non-negative matrix factorization in a database; and an apply unit to apply the relational database model including non-negative matrix factorization stored in the database to the data in the multi-dimensional data table, wherein at least one of the build unit and the apply unit is operable to un-nest nested table columns in the multi-dimensional data table and to explode categorical attributes in the multi-dimensional data table into a series of binary attributes.