Hey Jonathan, and everyone else,
On the subject of large-table databases and representing them in an ORM
environment, could I interest you in expanding on the following issues? These
issues are more at the 'design' level then the typical 'it doesn't work'
issues we deal with here, but with a collection of fairly clued-up people like
this, I'd love to hear what some of you think.
1) How do you manage your interactions with the non-mapped tables?
2) What kind of factors do you take into account in deciding whether to
represent a table within the ORM or not? Obviously there's a strong
"does it make sense" judgement, but if you can be verbose... :)
3) Do you try to create Objects's that spread across multiple tables (ie
against arbitrary selects) or use properties or custom select statements
to access related data?
4) On a schema of this complexity, do stored procedures play a role, and if
so how do they interface with the ORM?
5) How about any other advanced rdbms features such as views, triggers,
etc? A strong ORM as SA is, from my impression, encourages the user to
develop the "logic" in (this case) Python, whereas a less representative
more SQL-ish interface encourages developers to implement within the
RDBMS-side, usually as SP/triggers/etc. There's a religious war at the
heart of this, for sure, but I'm curious for other peoples opinions.
Much appreciate any comments people have :)
-G
On Monday, May 8, 2006, 10:44:32 PM, you wrote:
> On May 7, 2006, at 4:55 PM, Michael Bayer wrote:
>> regardless of if you have a DB with 250 or 1000 tables. is it then
>> appropriate to have 1000 separate classes ?
> no way in hell. that would be a mindfuck.
> in my case, I have 200+ tables and about 50 classes / objects that
> are mapped against them
> would I rather
> a - write 50 class definitions for sqlalchemy
> b - have a script autogenerate 200 table definitions in the
> sqlalchemy syntax , delete 150 of them, and then just extend 50 with
> the inter-table mappngs
> i'm solidly in the b camp
>> I have only seen one database schema that had several hundred
>> tables before. the guy basically represented every single element
>> of a large and complicated DTD as a separate table, i.e. <taga> was
>> one table, <tagb> was another, etc. To him,
> =snip
>> you cant tell me thats the proper way to do something. and even if
>> it was, you dont represent an XML document with a different class
>> for each XML tag, you use a DOM tree, which uses about half a dozen
>> classes.
> sure i can. i might have to practice saying it with a straight face
> for a while, but yeah, i could definitely say that.
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Sqlalchemy-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users