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

Reply via email to