the check for existence of a table can be performed by executing a SQL query. The query depends on your DBMS. For e.g. Oracle, this might be:
select count(*) from all_tables where owner = 'ME' and table_name = 'MY_TABLE';
The table could be created by executing a simple "create table" statement. But I think you have to provide more details on your use case: why does a bean have to create a table for another bean?
Also keep in mind that in a production environment, the app should not have the rights to do DDL.
Hope this helps