I'm about to embark on a project in Python (primarily in order to learn the 
language and equally importantly, to make my life easier at work).

I'm an IBM MVS Operations Analyst by trade by recently I've been spending more 
and more time working on Data Migrations; legacy systems in VSAM files, ADABAS, 
DB2, Oracle, SQL Server, Sybase and most recently we're about to start off on 
Tandem, which should be interesting!

Anyway, nearly all of this work, at some point, involves me reading a Data 
Dictionary for the source system and converting it to an Oracle table 
definition. More often than not this DDL is in text form and I convert it to 
Oracle DDL such as

Create Table wibble
( clientref    NUMBER(10) not null,
  bthdte    NUMBER(5) not null,
  natinr_no VARCHAR2(16) not null,
etc
)

It struck me that if I write a "read in Sybase DDL and spit out Oracle DDL" 
routine and so forth, I'd get a lot of reuse out of it. However, I've not done 
much OOP at all and consequently, my object design skills are somewhat 
non-existent. Whilst I have a rough idea of what my properties my "table" 
object will have I was looking for something to help me design it - something 
which I can say "this is a table object, it has a name and multiple columns. 
Columns have a type, a width (which may be further comprised of scale and 
precision or just an integer depending on the column type) and a "nullable" 
flag.). Oh, and there may be multiple columns... so maybe a column should be an 
object too... etc.

Anyone know if there are any such kinds of programs out there already (freeware 
please - I'll be doing this off my own back so funds are tight for commercial 
software). Failing that, does anyone use something for this kind of thing 
already, Visio maybe or a spreadsheet. Maybe just notepad or a post-it?

Perhaps most people just design their objects on paper and let the code do the 
documentation for them... I don't know as I've never done this before.

It doesn't strike me as being a complicated project at first glance - all it's 
doing is translating structured DDL into structured Oracle DDL, but I'd like to 
get my first principles correct so that I don't end up 3 weeks in and realise 
I've made a fundament design flaw ("Crap - I didn't think of anything to 
describe table indexes" or "Hmm - views.... is a "view" just another "table" or 
should I describe a view in the SQL it'll actually use, so it's just a piece of 
text.... and how does that translate to a materialized view" and so forth...) 
and have to re-do chunks... or maybe I do  want to do that, to make sure I get 
my design nailed before a line of code is ground out.


I'm open to suggestions on what useful tools are out there to make my learning 
experience easier, more pleasant and satisfying - if that involves the back of 
fag packets, so be it. :)


-- 
Steve Flynn
Technical Architect
Tel 01242 670864
 
CLPS Elixir Project Office
Capita Life & Pensions Services
S4, The Grange
Bishops Cleeve
GL52 8XX
 
www.capita-lps.co.uk
Part of the Capita Group plc - www.capita.co.uk
Capita Life & Pensions Services Limited is registered in England No 4359665
Capita Life & Pensions Regulated Services Limited is registered in England No 
2424853
Registered Office: 71 Victoria Street, Westminster, London, SW1H 0XA



This email and any attachment to it are confidential.  Unless you are the 
intended recipient, you may not use, copy or disclose either the message or any 
information contained in the message. If you are not the intended recipient, 
you should delete this email and notify the sender immediately.

Any views or opinions expressed in this email are those of the sender only, 
unless otherwise stated.  All copyright in any Capita material in this email is 
reserved.

All emails, incoming and outgoing, may be recorded by Capita and monitored for 
legitimate business purposes. 

Capita exclude all liability for any loss or damage arising or resulting from 
the receipt, use or transmission of this email to the fullest extent permitted 
by law.
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to