Well, I know I have a long way ahead.
2010/10/2 mdipierro <mdipie...@cs.depaul.edu> > I do not see an easy solution. > > On Oct 2, 9:48 am, Alexandre Andrade <alexandrema...@gmail.com> wrote: > > The case is the databases and tables are not similar. > > > > Sample case: > > > > database1: city_population_data > > database2:city_financial_data > > database3: city_sports_data > > > > while the 3 databases have SOME common information (cities), the other > data > > are not common. > > > > so, in my application, I need to get cities data from diferent sources. > > > > What I think to do is create a interface like phpmyadmin, that discover > and > > show the data from databases. > > But, unlike phpmyadmin, is database neutral, so it can be conected to > > postgresql and others databases. > > > > >The last 4 operations are performed at the web2py level, not the db > > >level so they may use lots memory and IO. > > > > I think to improve performance, it can use temporary tables, kind of a > > ad-hoc datawarehouse. > > > > 2010/10/2 mdipierro <mdipie...@cs.depaul.edu> > > > > > > > > > say you have two databases > > > > > db1=DAL(...) > > > db2=DAL(...) > > > > > and they contains a similar table > > > > > table1=db1.define_table('person',Field('name')) > > > table2=db2.define_table('person',table1) # same fields a table1 > > > > > and you want all records from both > > > > > rows=db(table1.id>0).select()&db(table2.id>0).select() > > > > > now you can sort them by name > > > > > rows=rows.sort(lambda row: row.name) > > > > > or you can get all records without duplicates > > > > > rows=db(table1.id>0).select()|db(table2.id>0).select() > > > > > and filter those that start with 'a' > > > > > rows=rows.find(lambda row: row.name.startswith('a')) > > > > > etc. > > > > > The last 4 operations are performed at the web2py level, not the db > > > level so they may use lots memory and IO. > > > > > Massimo > > > > > On Oct 2, 3:59 am, Alexandre Andrade <alexandrema...@gmail.com> wrote: > > > > (this text was translated by google) > > > > > > Hi folks, > > > > > > I'll have to develop an application on my service that uses data from > > > > several databases. > > > > > > I'm the one time looking for a way to solve this problem within the > > > web2py > > > > and the solution is pictured below. > > > > > > I wonder if anyone has a similar situation and considerations that > would > > > > have the following possible solution: > > > > > > -------------------------------------------------- > > > > -------------------------------------------------- > > > > ------------------ > > > > > > A Universal Interface for Databases is a webservice that centralizes > > > access > > > > to all databases of a company. > > > > > > Although in most cases applications use only one database, on the > whole, > > > a > > > > company has multiple databases. > > > > > > In many cases they are redundant and have duplicate information in > > > several > > > > ways. > > > > > > This means that in practice, developers or duplicate the information > have > > > to > > > > create ad hoc solutions to integrate systems. > > > > > > This also requires that to generate management information, there is > a > > > need > > > > to create "data warehouses" to gather all the information and extract > > > > reports. > > > > > > The purpose of the UDI is to serve as sole access to all information > from > > > > all databases of the company. > > > > > > Thus, the developer connects your application to a single point, and > > > calls > > > > through the UDI all the information your application needs, as well > as > > > > forward all information necessary for the UDI provide storage. > > > > > > The functions of the IDU are: > > > > > > 0. Manage the connection and communication with all legacy > databases. > > > > 1. List all databases, tables and data fields available, with > metadata, > > > if > > > > any > > > > 2. Allow queries that retrieve information from different > databases, as > > > if > > > > they were one (least of records) > > > > 3. Let me set the mapping between the data required by the > application > > > > with the various databases in a visual interface, even to the > programmer. > > > > 4. Store information received as a single record distributing it in > > > > different fields of databases and tables if needed. > > > > 5. Setting a standard database application, which will store the > > > mappings > > > > of the data with all other existing databases, and to store the > > > application > > > > specific data, not available elsewhere. > > > > 6.Possuir a tool for generating reports and dashboards for > nontechnical > > > > users. > > > > > > In web2py, it would be a standalone application as well as the admin, > and > > > > would be used in applications as a substitute for DAL, yet remains > easy > > > to > > > > generate the forms. > > > > > > The big difference, and allows using data from several sources, is > that > > > the > > > > data (tables and fields) present in other banks would not need to be > > > > defined, but only mapped, and both the mapping and the possible > creation > > > of > > > > tables and fields would be in a graphical interface. > > > > > > -- > > > > Atenciosamente > > > > > > -- > > > > ========================= > > > > Alexandre Andrade > > > > Hipercenter.com > > > > -- > > Atenciosamente > > > > -- > > ========================= > > Alexandre Andrade > > Hipercenter.com > -- Atenciosamente -- ========================= Alexandre Andrade Hipercenter.com