FAQ
Hi,

I'm currently planning to port an old application that was used to register
participants for events to Django.

The old app did not have any real database system, but was based on dBase
files.

There was one global table where the basic information about each event was
stored (like event name, begin and end date and lots of other details).

The actual data tables for each event where stored in a sub-folder of the
main directory like this:

main
     E001
     E002
     E003

This was quite convenient because creating a new event was just adding a
record to the main database and doing a copy of a directory. It was also
very easy to do a backup of the data.

Since there is no way to create a new database for each new event directly
from the Django application, i'm wondering how this could be structured in
the most efficient way.

I was thinking about creating an "events" table that holds the settings for
each event.

All other tables, like "participants", "hotels", "packages", "payments"
etc. would then be linked to the event table via the events primary key.

I plan to use Postgresql, so database performance should be no big issue,
as this is a low traffic site (only a few thousand request / day).

What do you think?

thanks for any input
Thomas

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/8a1f8019-0963-4af6-a71e-7b21b290c243%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

  • Gerald Klein at Apr 11, 2014 at 1:57 pm
    it sounds like you are on the right track, only thing is that you may want
    to take a look at data normalization in relational databases, this will
    give you some clues as to how best link the tables that you are describing

    On Fri, Apr 11, 2014 at 8:50 AM, DJ-Tom wrote:

    Hi,

    I'm currently planning to port an old application that was used to
    register participants for events to Django.

    The old app did not have any real database system, but was based on dBase
    files.

    There was one global table where the basic information about each event
    was stored (like event name, begin and end date and lots of other details).

    The actual data tables for each event where stored in a sub-folder of the
    main directory like this:

    main
    E001
    E002
    E003

    This was quite convenient because creating a new event was just adding a
    record to the main database and doing a copy of a directory. It was also
    very easy to do a backup of the data.

    Since there is no way to create a new database for each new event directly
    from the Django application, i'm wondering how this could be structured in
    the most efficient way.

    I was thinking about creating an "events" table that holds the settings
    for each event.

    All other tables, like "participants", "hotels", "packages", "payments"
    etc. would then be linked to the event table via the events primary key.

    I plan to use Postgresql, so database performance should be no big issue,
    as this is a low traffic site (only a few thousand request / day).

    What do you think?

    thanks for any input
    Thomas

    --
    You received this message because you are subscribed to the Google Groups
    "Django users" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to django-users+unsubscribe@googlegroups.com.
    To post to this group, send email to django-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/django-users.
    To view this discussion on the web visit
    https://groups.google.com/d/msgid/django-users/8a1f8019-0963-4af6-a71e-7b21b290c243%40googlegroups.com<https://groups.google.com/d/msgid/django-users/8a1f8019-0963-4af6-a71e-7b21b290c243%40googlegroups.com?utm_medium=email&utm_source=footer>
    .
    For more options, visit https://groups.google.com/d/optout.


    --

    Gerald Klein DBA

    contactme@geraldklein.com

    www.geraldklein.com <http://geraldklein.com/>

    geraldklein.wordpress.com

    jk@zognet.com

    708-599-0352


    Arch Awesome, Ranger & Vim the coding triple threat.

    Linux registered user #548580

    Brought to you by the Amish Mafia

    --
    You received this message because you are subscribed to the Google Groups "Django users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
    To post to this group, send email to django-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/django-users.
    To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAP8NtCw1Ar3W8aHu6g9dP%3D-f7%2BhF%2BHd9sUwy6gZz2bRfGDJVMA%40mail.gmail.com.
    For more options, visit https://groups.google.com/d/optout.
  • DJ-Tom at Apr 11, 2014 at 2:32 pm
    The only thing that might be a problem is that participants from all kind
    of events are mixed in one huge table.

    When there is a need to do some kind of manual maintenance there is a
    bigger potential of changing data that belongs to a different event,
    compared to the old solution where each event had its own isolated tables.

    Thomas

    Am Freitag, 11. April 2014 15:57:43 UTC+2 schrieb Gerald Klein:
    it sounds like you are on the right track, only thing is that you may want
    to take a look at data normalization in relational databases, this will
    give you some clues as to how best link the tables that you are describing
    --
    You received this message because you are subscribed to the Google Groups "Django users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
    To post to this group, send email to django-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/django-users.
    To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d44fe23d-ed2f-459f-badd-52c18cfe9c85%40googlegroups.com.
    For more options, visit https://groups.google.com/d/optout.
  • Gerald Klein at Apr 11, 2014 at 3:06 pm
    That is where is the magic of relational data comes into play like I said
    look into the normalization of relational data tables this will give you
    clues as to exactly how to link the tables as to be able to isolate your
    data correctly

    Gerald Klein DBA
    geraldklein.com
    contactme@geraldklein.com
    geraldklein.wordpress.com
    jk@zognet.com
    708-599-0352

    Arch\Gentoo Awesome, Ranger & Vim the coding triple threat.
    Linux registered user #548580
    Brought to you by the Amish Mafia
    On Apr 11, 2014 10:32 AM, "DJ-Tom" wrote:


    The only thing that might be a problem is that participants from all kind
    of events are mixed in one huge table.

    When there is a need to do some kind of manual maintenance there is a
    bigger potential of changing data that belongs to a different event,
    compared to the old solution where each event had its own isolated tables.

    Thomas

    Am Freitag, 11. April 2014 15:57:43 UTC+2 schrieb Gerald Klein:
    it sounds like you are on the right track, only thing is that you may
    want to take a look at data normalization in relational databases, this
    will give you some clues as to how best link the tables that you are
    describing

    --
    You received this message because you are subscribed to the Google Groups
    "Django users" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to django-users+unsubscribe@googlegroups.com.
    To post to this group, send email to django-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/django-users.
    To view this discussion on the web visit
    https://groups.google.com/d/msgid/django-users/d44fe23d-ed2f-459f-badd-52c18cfe9c85%40googlegroups.com<https://groups.google.com/d/msgid/django-users/d44fe23d-ed2f-459f-badd-52c18cfe9c85%40googlegroups.com?utm_medium=email&utm_source=footer>
    .
    For more options, visit https://groups.google.com/d/optout.
    --
    You received this message because you are subscribed to the Google Groups "Django users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
    To post to this group, send email to django-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/django-users.
    To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAP8NtCyRiP89JWwjbD7uEvp7JAG2y7AEJQtvXHSohSf4dgMiLg%40mail.gmail.com.
    For more options, visit https://groups.google.com/d/optout.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdjango-users @
categoriesdjango, python
postedApr 11, '14 at 1:50p
activeApr 11, '14 at 3:06p
posts4
users2
websitedjangoproject.com

2 users in discussion

Gerald Klein: 2 posts DJ-Tom: 2 posts

People

Translate

site design / logo © 2022 Grokbase