User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the Database Design section within the Web Development category of DaniWeb, a massive community of 391,137 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,100 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Database Design advertiser:
Views: 1330 | Replies: 1
Reply
Join Date: Mar 2007
Posts: 1
Reputation: regan.a is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
regan.a regan.a is offline Offline
Newbie Poster

Help Please Review My Database Design

  #1  
Mar 22nd, 2007
Hi Everyone,

I volunteered to design a database for a church and would like some feedback on the design. This will be a MySQL database used by PHP to fetch information. The database is for tracking projects at different sites and assigning voluteers to those projects (very simple description). If you need any more information please let me know, I am happy to provide. I just don't want to write a book in my first post

Here is an image of the database. I can provide SQL if that is better. Thanks!

http://img114.imageshack.us/img114/5...atabaseig2.png
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jan 2007
Location: Austin, TX
Posts: 30
Reputation: Memento is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 0
Memento Memento is offline Offline
Light Poster

Re: Please Review My Database Design

  #2  
Mar 22nd, 2007
That schema shows more planning and thought then many corporate systems I have inherited.
  • Merge sd_leaders, sd_volunteers, sd_contacts, and sd_pastors together.
    • If needed, you can add one or more columns to this table to designate some special status, however,
    • You can determine their role(s) by whether sd_church_has_sd_pastors, sd_contacts_has_sd_worksite, sd_volunteers_has_sd_project, and/or sd_leaders_has_sd_project link to them
  • Possibly add another table between sd_church and sd_volunteers so that the member can volunteer on projects not directly managed by his church (this is similar to what you did with the pastors). I think this would come in handy if a volunteer is referred by one church to another church's project.
  • Adding start and end dates to the tables that maintain your people relationships (sd_church_has_sd_pastors, sd_contacts_has_sd_worksite, sd_volunteers_has_sd_project, and sd_leaders_has_sd_project) because people and pastors switch churches, leaders step down or get replaced, and contacts change. To maintain historical integrity, you cannot just change the relationship, you must end date it and then add a new one.
  • Allow room for the full address on sd_worksite, sd_leaders, sd_volunteers, sd_contacts, and sd_pastors. I have seen systems where they store address on another table so that you can keep a history. This can also be used to store multiple addresses for someone.
  • On sd_worksite, perhaps include room for notes (like driving directions)
Good luck!
Dan Moore
www.danmoore.org
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb Database Design Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the Database Design Forum

All times are GMT -4. The time now is 6:38 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC