ER Diagram - Which is the better design?

See Diagram Attached,

which is the better design and why?
ER Diagram 1 or 2 or 3

Entity-Relationship-Diagram123.jpg
KhouAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Steve HoggITCommented:
Please explain, what are you trying to accomplish? The best model for ____?
0
Daniel WilsonCommented:
I would say that #2 is superior to #1 b/c #1 needlessly includes AccountID in a couple of tables.

It appears that #3 eliminates the Profile table.  I don't know ... Does what you're modeling really have a "profile" entity?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
KhouAuthor Commented:
@DanielWilson

Thanks

In regards to your comment, If you choose #2, then you would have to find the "AccountID" then match it with the "ProfileID" - thats ok But would it not be better to just use AccountID for everything per user, instead of having an additional ProfileID? (See Diagram attached)

Reason why there is a profile table in the first place: is.............The Profile table keeps all the user's information. There might be another table called "Transaction" under this would be all transactions performed by the user.

But Is there a real need for "Profile" table to have its own "Primary" Key? I would say no, just use AccountID, There would only be a need for ProfileID if the user is to have multiple profiles, if this is not the case, there should be no need to make profileid a primary key, is this correct? or there's an advantage of having a seperate primarykey for each table such as the Profile Table.
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

KhouAuthor Commented:
Attached, ProfileID removed, replaced with AccountID,

is this better than #2? for the situtation above.

erdmod.gif
0
KhouAuthor Commented:
REF: Comment - 11.19.2008 at 11:49AM EST, ID: 22990580
   

There seems to be a few words cut off


Correction: Is there a real need for the "Profile" table to have its own "Primary" Key?
I would say no, just use a single AccountID per user. There would only be a need for ProfileID if the user is to have multiple profiles, if this is not the case, there should be no need to make profileid a primary key, is this correct? or there's an advantage of having a seperate primarykey for each table such as the Profile Table.


0
KhouAuthor Commented:
Good answer! You got it! 100 points. Thanks
0
Daniel WilsonCommented:
Is teh Profile - Account relationship 1-1? If so, merge the tables into 1.  If not, each table needs its own PK.
0
KhouAuthor Commented:
Unable to merge profile with account, its rather too complicated right now.

Profile has its own key.
Account has its own key.

In the system Tables that do not have its own key are the joining tables for "many to many" relationships. Other than that every table has its own key.


Went with option #2.

0
KhouAuthor Commented:
Not that it can not be merged, its better if it was not merged.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server

From novice to tech pro — start learning today.