The Gateway to Computer Science Excellence

First time here? Checkout the FAQ!

x

+17 votes

0

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}

+36 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."** ?**

+18 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$

+7 votes

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

+5 votes

^{4-1} = 8 The possible superkeys are : E, EH, EG, EF, EGH, EFH, EFG, EFGH

+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.6k
- Engineering Mathematics 7.5k
- Digital Logic 3k
- Programming & DS 4.9k
- Algorithms 4.3k
- Theory of Computation 6k
- Compiler Design 2.1k
- Databases 4.2k
- CO & Architecture 3.5k
- Computer Networks 4.2k
- Non GATE 1.4k
- Others 1.5k
- Admissions 586
- Exam Queries 572
- Tier 1 Placement Questions 23
- Job Queries 72
- Projects 18

50,129 questions

53,252 answers

184,785 comments

70,505 users