I have been handed an application to modify and provide updates, however whenever I look through the script, all of the code is being brought directly from SQL DB, and not from QVDs. I was taught that the best practice is to first create an app to pull the data from the SQL DB and convert the tables from the DB to QVDs. Only then you would use the qvds for the data model. However the data model for this app is created from queries and transformations, pulling data directly from the tables in the SQL DB.
Is there a specific use case or scenario where that would be preferable over QVDs? Or are QVDs usually more preferable for scripting?
QLIK can connect directly to SQL via a SQL Server Connection, there is no issue of connecting like that if the architecture permits. QVDs is QLIK file format that allows to store tables from other sources, having a ETL process or not, before storing them. There is no issue with what you showed here.
It depends of various aspects which approach is more suitable for this application and also the entire environment. Essentially is the amount of data and the performance respectively the workload of the database and the network (a generally very powerful hardware may not mandatory be a key advantage if there is a high usage during the rush-hour). Is the data-set rather large it requires often any kind of incremental approaches and here one or even multiple qvd-layer will be needed.
Another thought goes to the environment and the default data-architecture. Of course all kinds of approaches might be mixed up but often it's sensible to define one global method and making exceptions only in certain circumstances.