The Gateway to Computer Science Excellence

+24 votes

+2

There is no need to cram any formula. The thing is if we take EF as the candidate key then any superset of other attributes(G, H) will also come under super key.with 2 attributes total 4 possibilities are there.First is either both of them should be present, or one of them is present or none of them should be present.

So total EF as candidate key, the total number of superkeys possible = 4 {EF, EFG, EFH, EFGH}

So total EF as candidate key, the total number of superkeys possible = 4 {EF, EFG, EFH, EFGH}

+41 votes

Best answer

Super Key is any set of attributes that uniquely determines a tuple in a relation.

Since $E$ is **the only key**, $E$ should be present in any super key.

Excluding $E$, there are three attributes in the relation, namely $F, G , H$. Hence, if we add $E$ to any subset of those three attributes, then the resulting set is a super key. Number of subsets of $\{F, G, H\}$ is $8$. **Hence the answer is $8$.**

The following are Super Keys: $$\left \{ \substack{E\\EF\\EG\\EH\\EFG\\EFH\\EGH\\EFGH} \right \}$$

0

@Sankaranarayanan P.N @amarVashishth

It is possible to have super key without including primary key, We have such examples too-

Then how u assumed here that no other attributes can make super key. Is there any standard/rule for that ?

Example of student table having **S.id as primary key**:

S.id S.name S.age S.sem

1 A 18 I

2 B 19 II

3 A 20 III

4 C 21 II

**So, here (S.name,S.age) can act as a super key. **

**Means we have super key without including primary key also. Isn't it?**

Then there may exist more than 8 super keys.

Please explain if i went wrong.

0

A superkey is defined to be the set of attributes in a relation which can uniquely identify every tuple in the relation.

A candidate key( primary key or alternate keys) is a minimal super key.

If a set of attributes can uniquely identify every tuple in a relation, then it becomes a super key. But if there exists a subset of attributes in super key then that forms the candidate key.

if there exists no subset in superkey, then that superkey itself becomes minimal superkey and hence a candidate key.

in your table, S.name and S.age becomes super key but it includes a candidate key S.age. Here S.age can also uniquely identify every tuple.

S.age is candidate key and (S.name , S.age) is super key.

On the other hand, if neither S.name nor S.age can uniquely identify every tuple, then (S.name,S.age) is candidate key as well as super key.

CONCLUSION:

Super key always includes candidate keys, may be primary key or alternate keys.

0

@SuvasishDutta you are taking about s.age is candidate key, it is in this table. Suppose age of "C" is 18 then what ?

Then (S.name, S.age) is super key without including either primary or candidate key, can uniquely identify every tuple.

**Now, what about your last line as conclusion**"Super key always includes candidate keys, may be primary key or alternate keys."** ?**

+21 votes

total number of super keys = $E$ has to be included it is must $\times$ for each attribute we have $2$ choices include it or don't

$\text{Total number of Super keys } = 1 \times 2 \times 2 \times 2 = 8$

$\text{Total number of Super keys } = 1 \times 2 \times 2 \times 2 = 8$

+10 votes

** 3C0+3C1+3C2+3C3=1+3+3+1=8**

+6 votes

Maximum no. of possible superkeys for a table with n attributes = 2^(n-1) Here, n = 4. So, the possible superkeys = 2^{4-1} = 8 The possible superkeys are : E, EH, EG, EF, EGH, EFH, EFG, EFGH

0

Sir,

what this formula says i didn't get it:

Maximum no. of possible superkeys for a table with n attributes = 2^(n-1)

what i know or i can drive ,let say there are 4 attribute for a relation R is

{E, F, G, H} (note that i do not give any restriction here)

the possible number of super keys

include only one attribute -> 4C1 = 4. => {E, F, G, H}

including two attribute 4C2 = 6. => {EF, EG, EH, FG, FH, GH}

including three and four 4C3 = 4 and 4C4 = 1. => { EFG, EGH, EFH, FGH} and {EFGH}

total possible SK's turns out to be = 15 so we can say ( 2^n) -1 where n-> #of attributes in the Relation R,

since they said clearly all super keys those includes E (E already a key in R)

then we takes all super keys those includes E isn't it ?

and it is also possible that without including key attribute we can also form super keys

eventually $\LARGE keys\subseteq candidate_keys \subseteq super_keys$

Correct me sir if i'm wrong, for correctness of my approach !

+3 votes

**THE BEST METHOD FOR CALCULATING NO OF SK's:**

**total no of sk's= (# sk's over prime attributes) * (2^#no of non-prime)**

**total no of sk's= 1*(2^3)**

**total no of sk's=8**

- All categories
- General Aptitude 1.9k
- Engineering Mathematics 7.6k
- Digital Logic 2.9k
- Programming and DS 4.9k
- Algorithms 4.4k
- Theory of Computation 6.2k
- Compiler Design 2.1k
- Databases 4.1k
- CO and Architecture 3.4k
- Computer Networks 4.2k
- Non GATE 1.4k
- Others 1.5k
- Admissions 595
- Exam Queries 573
- Tier 1 Placement Questions 23
- Job Queries 72
- Projects 18

50,832 questions

57,686 answers

199,273 comments

107,204 users