relational database and functional dependencies

Can one infer the primary key from a group of functional dependencies?

Consider the relation R(A, B, C, D, E, G, H) and the FD set F={AB¿C, AC¿B, AD¿E,
B¿D, BC¿A, E¿G}

the question then asks if R is in 3NF and BCNF.  I can answer the question in regards to a primary key, but one is not given.  so this begs the question, can a primary key be derived from FDs?

jjackson2004Asked:
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.

jjackson2004Author Commented:
Those question marks should be ->  or right arrows.
0
ste5anSenior DeveloperCommented:
hi,

when I understand you and you're problem description is correct, then the answer is simple: the PK contains only the attributes without dependency - which is obviously and easy to spot.

mfG
--> stefan <--

p.s.: I hope it's not a kind of homework question...
0
jjackson2004Author Commented:
I suppose if it was obvious I would not be asking.  They all have dependencies except for H and it would seem hard to accept it is the primary key.
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!

ste5anSenior DeveloperCommented:
So what about G? E depends on G, but G has no dependency. So, (G, H) should be a candidate key.
0
jjackson2004Author Commented:
ok, I see that.   is that the only candidate key?
0
jjackson2004Author Commented:
but I thought e->g meant that g is dependent on e, not e is dependent on g
0
ste5anSenior DeveloperCommented:
btw, not that I read it wrong, does AB->C means C depends on AB or AB depends on C?
0
jjackson2004Author Commented:
AB defines or implies C
0
ste5anSenior DeveloperCommented:
Ah, sorry, I'm completely wrong: You have to evaluate the FD to find all super keys:

http://en.wikipedia.org/wiki/Functional_dependency 

And then the minimal of it.
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
jjackson2004Author Commented:
He deserves points for being only person whom took the time to assist me.
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
Databases

From novice to tech pro — start learning today.