Results 1 to 2 of 2
  1. #1
    Join Date
    Dec 2015

    ***solved*** ERD Help! I'm not sure if this is remotely correct. Thoughts?

    Each society has a name (such as IEEE, ACM) and headquarters location (city, state/province/region, and country). We have many societies as customers.
    Each society is broken down into technical specialties called special interest groups (SIGs). A society may have many such groups. Each group has a name (SIGDB, SIGART) and specialty (databases, artificial intelligence). Different societies do not share SIGs.
    Each society is also (and independently) broken down into geographic divisions called regions (SW, NE, Europe). Each region is further divided into local chapters (Tucson, Boston, Berlin). Regions and chapters have names. Regions cover a group of states/provinces/regions (the SW region covers California, Nevada, and Arizona) or countries (England, France, and so on). Local chapters are each located in a city. Different societies do not share regions or chapters. For example, several societies can have a region named SW, but they need to be recorded independently so that one society can change the contents of their SW region without impacting other societies that happen to have a region with the same name.
    Each society has members (people). Each member has a name and address (state and city).
    A member may belong to more than one of the societies for whom we provide services.
    A member always belongs to at least one society.
    The member must join a society through a local chapter (there are no "national" or "at large" memberships), and may belong to only one local chapter for each society.
    A member may join any number of SIGs for each society to which he or she belongs.
    Last edited by Pooperscooper; 12-18-15 at 15:52.

  2. #2
    Join Date
    Dec 2015
    I would say for a start that it looks very very confusing because you keep repeating things in all tables. I would keep things like society_name in the correct table and not repeat it everywhere. In the ERD you keep things within each specific block. You can put foreign keys but only the ones directly linking to it.

    Once you have cleaned that up it may be easier to see what you are trying to do but it is too confusing at the moment. As far as your ERD is concerned the member is not actually directly joined to the society - they are linked to the chapter. This means you do not write society_name in the member table block.

    You also have something very odd going on with the countries and regions! A state is in a country so the country is a foreign key of state.

    It needs a lot of work. I am not sure if I will come back here but I hope that little bit of advice gives you some direction that helps. Good luck.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts