You can create the alias names for the tables/views in SQL statement but not for the database...
How to collect the columns if the table is having joins and added with that if two tables have same column name how could we differentiate which column came from which table.
Expecting early response
In the above question (collect the columns) in the sense column names only(without data in the resultset)
_in a query_ you should give an alias to each table. Then use alias to distinguish between different tables, even if two tables have the same column name, then <alias_name.column_name> will give you exactly what you want.
The use of dbc.columns refers to the table structure itself. It does not refer to individual queries where one table can be used multiple times (with different aliases).