Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Generic database dictionary access

Reply
Thread Tools

Generic database dictionary access

 
 
Edward Diener
Guest
Posts: n/a
 
      06-13-2004
Version 2.0 of the Python database API was written over 5 years ago, in
1999. While it has been used successfully by many implementations, there is
no generic access into the data dictionary of relational databases except at
the table column level. I am working on some Python which would hopefully
give me a form of generic access to more common data dictionary
functionality such as indices, constraints etc. but no such functionality
currently exists in the official Python distribution. Has there been any
movement in the 5 year time span since the 2.0 API was published to add
richer generic functionality for relational databases as regards data
dictionary access ? I fully realize that each major RDBMS has its own
methods for programatically querying its data dictionary, and I suspect that
there is no common SQL specification for doing so, but I would think that
richer functionality along these lines might be welcome to Python database
programmers other than myself.


 
Reply With Quote
 
 
 
 
Michael Fuhr
Guest
Posts: n/a
 
      06-14-2004
"Edward Diener" <(E-Mail Removed)> writes:

> Has there been any movement in the 5 year time span since the 2.0 API
> was published to add richer generic functionality for relational
> databases as regards data dictionary access ? I fully realize that each
> major RDBMS has its own methods for programatically querying its data
> dictionary, and I suspect that there is no common SQL specification for
> doing so, but I would think that richer functionality along these lines
> might be welcome to Python database programmers other than myself.


SQL defines INFORMATION_SCHEMA as a standard way to query metadata,
although not all databases implement it. Google for more info.

Recent versions of PostgreSQL support INFORMATION_SCHEMA -- here's
the doc:

http://www.postgresql.org/docs/7.4/s...on-schema.html

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
 
Reply With Quote
 
 
 
 
Edward Diener
Guest
Posts: n/a
 
      06-14-2004
Michael Fuhr wrote:
> "Edward Diener" <(E-Mail Removed)> writes:
>
>> Has there been any movement in the 5 year time span since the 2.0 API
>> was published to add richer generic functionality for relational
>> databases as regards data dictionary access ? I fully realize that
>> each major RDBMS has its own methods for programatically querying
>> its data dictionary, and I suspect that there is no common SQL
>> specification for doing so, but I would think that richer
>> functionality along these lines might be welcome to Python database
>> programmers other than myself.

>
> SQL defines INFORMATION_SCHEMA as a standard way to query metadata,
> although not all databases implement it. Google for more info.


Yes, I see it but it seems as if even some of the large databases don't
support it ( unless I am mistaken, Oracle for instance ). Nonetheless it
would be great if the Python database API were able to use it to create
richer data dictionary information than what it provides. In particular
constraints and unque key/foreign key links in tables if this could be
discovered generically through the INFORMATION_SCHEMA standard methods.


 
Reply With Quote
 
David Fraser
Guest
Posts: n/a
 
      06-14-2004
Edward Diener wrote:
> Version 2.0 of the Python database API was written over 5 years ago, in
> 1999. While it has been used successfully by many implementations, there is
> no generic access into the data dictionary of relational databases except at
> the table column level. I am working on some Python which would hopefully
> give me a form of generic access to more common data dictionary
> functionality such as indices, constraints etc. but no such functionality
> currently exists in the official Python distribution. Has there been any
> movement in the 5 year time span since the 2.0 API was published to add
> richer generic functionality for relational databases as regards data
> dictionary access ? I fully realize that each major RDBMS has its own
> methods for programatically querying its data dictionary, and I suspect that
> there is no common SQL specification for doing so, but I would think that
> richer functionality along these lines might be welcome to Python database
> programmers other than myself.
>
>

Hear Hear. This would be a welcome improvement. Note that you could
create it as a library that runs on top of DB-API drivers and knows
various flavours of database, and then work towards standardizing the
interface... I for one would be interested in the library

David
 
Reply With Quote
 
Edward Diener
Guest
Posts: n/a
 
      06-14-2004
David Fraser wrote:
> Edward Diener wrote:
>> Version 2.0 of the Python database API was written over 5 years ago,
>> in 1999. While it has been used successfully by many
>> implementations, there is no generic access into the data dictionary
>> of relational databases except at the table column level. I am
>> working on some Python which would hopefully give me a form of
>> generic access to more common data dictionary functionality such as
>> indices, constraints etc. but no such functionality currently exists
>> in the official Python distribution. Has there been any movement in
>> the 5 year time span since the 2.0 API was published to add richer
>> generic functionality for relational databases as regards data
>> dictionary access ? I fully realize that each major RDBMS has its
>> own methods for programatically querying its data dictionary, and I
>> suspect that there is no common SQL specification for doing so, but
>> I would think that richer functionality along these lines might be
>> welcome to Python database programmers other than myself.
>>
>>

> Hear Hear. This would be a welcome improvement. Note that you could
> create it as a library that runs on top of DB-API drivers and knows
> various flavours of database, and then work towards standardizing the
> interface... I for one would be interested in the library


As Mr. Fuhr has pointed out, there is an SQL standard for it in
INFORMATION_SCHEMA. One could attempt to build a base class for it using
this and a set of functions which exposed the data dictionary through it,
and then derive from that class and override its functionality for databases
which don't support it but provide different methods to access the data
dictionary data.

Finding out which databases do support it, and to what extent, would be the
first hurdle. Then deciding what the class functionality desired would be
the next. Of course writing the correct SQL to get what one wants would be
the final challenge.


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Database Database Database Database scott93727@gmail.com Computer Information 0 09-27-2012 02:43 AM
DataBase DataBase DataBase DataBase scott93727@gmail.com Computer Information 0 09-26-2012 09:40 AM
Performance ordered dictionary vs normal dictionary Navkirat Singh Python 6 07-29-2010 10:18 AM
creating a dictionary from a dictionary with regex james_027 Python 1 08-22-2007 07:39 AM
[DICTIONARY] - Copy dictionary entries to attributes Ilias Lazaridis Python 6 02-21-2006 11:27 AM



Advertisments