On 28 Feb 2008, at 09:51, Dermot wrote:
1) I have been using the MySQL workbench tool to try and make a ER diagram of a database. The community edition doesn't allow printing but is excellent in every other way. Could anyone recommend a similar tool? I hear Dia is a good OS tool.

Given a db or DBIC description, there are some tools in SQL::Translator to spit out ER diagrams.

2) I posted a query about the Catalyst tutorials and that fact that the used a join table to show many to many relationships between authors and books. Is this type of table what is termed a view? Or am I still not getting it :-(

Not a view - those are the table like things you can produce with CREATE VIEW ...

The problem is that you can do a many-to-one or one-to-many relationship by having the many item contain a foreign key to the one item. However there is no such neat method to do a many-to-many relationship, so you have to break it down to be a pair of relationships - a many-to-one-to-many combination with the link table in the middle consisting of foreign keys to the other pair of tables.

As an example, for a theatre event (as in show) handling db I have, each show has 0 or more ticket agencies selling tickets. The ticket agencies are re-used for many events (so a place in town will sell tickets for many events).

Hence I have an "event" table
and a "ticket_agent" table
and a "event_ticket_agent" table - this one purely consists of 2 fields - the event id and the ticket_agent id, and links the pair.

I refer to that as a link table, but I am a sysadmin rather than a DB expert :-)

Hope that helps a bit.

        Nigel.


--
[ Nigel Metheringham             [EMAIL PROTECTED] ]
[ - Comments in this message are my own and not ITO opinion/policy - ]




_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to