ਮਲਟੀ-ਮਲਾਲਾ ਨਿਰਭਰਤਾ ਚੌਥਾ ਆਮ ਫਾਰਮ
ਕਿਸੇ ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਵਿੱਚ, ਇੱਕ ਨਿਰਭਰਤਾ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਇੱਕੋ ਡੇਟਾਬੇਸ ਟੇਬਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਗਈ ਜਾਣਕਾਰੀ ਇੱਕੋ ਸਾਰਣੀ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਗਈ ਦੂਜੀ ਜਾਣਕਾਰੀ ਨੂੰ ਨਿਰਪੱਖਤਾ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਇੱਕ ਮਲਟੀ-ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਕਤਾਰਾਂ ਦੀ ਹਾਜ਼ਰੀ ਦਾ ਅਰਥ ਹੈ ਕਿ ਇੱਕੋ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਹੋਰ ਕਤਾਰ ਮੌਜੂਦ ਹੈ. ਇਕ ਹੋਰ ਤਰੀਕਾ ਰੱਖੋ, ਇਕ ਸਾਰਣੀ ਵਿੱਚ ਦੋ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (ਜਾਂ ਕਾਲਮਾਂ) ਇਕ ਦੂਜੇ ਤੋਂ ਅਲੱਗ ਹਨ, ਪਰ ਦੋਵੇਂ ਇੱਕ ਤੀਜੇ ਗੁਣ 'ਤੇ ਨਿਰਭਰ ਹਨ.
ਇਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਸਧਾਰਣ ਸਤਰ ਚੌਥੇ ਆਮ ਫਾਰਮ (4 ਐਨ ਐੱਫ) ਨੂੰ ਰੋਕਦੀ ਹੈ. ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਪੰਜ ਆਮ ਰੂਪਾਂ ਦਾ ਅਨੁਸਰਣ ਕਰਦਾ ਹੈ ਜੋ ਰਿਕਾਰਡ ਡਿਜ਼ਾਈਨ ਲਈ ਦਿਸ਼ਾ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ ਉਹ ਡਾਟਾ ਵਿੱਚ ਅਸੰਗਤ ਅਤੇ ਅਸੰਗਤਾ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਤੋਂ ਰੋਕਦੇ ਹਨ. ਚੌਥਾ ਆਮ ਰੂਪ ਇੱਕ ਡਾਟਾਬੇਸ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ-ਨਾਲ-ਇੱਕ ਸਬੰਧਾਂ ਨਾਲ ਨਜਿੱਠਦਾ ਹੈ .
ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਬਨਾਮ ਬਹੁਵਚਨ ਨਿਰਭਰਤਾ
ਇਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਨੂੰ ਸਮਝਣ ਲਈ, ਮੁੜ ਵਿਚਾਰ ਕਰਨਾ ਲਾਭਦਾਇਕ ਹੈ ਕਿ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਕੀ ਹੈ.
ਜੇ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਐਕਸ ਵਿਸ਼ੇਸ਼ ਤੌਰ ਤੇ ਵੈਲਯੂ Y ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ, ਤਾਂ Y ਕਾਰਜਸ਼ੀਲ ਤੌਰ ਤੇ X ਤੇ ਨਿਰਭਰ ਹੈ. ਇਸ ਨੂੰ X -> Y ਦੇ ਤੌਰ ਤੇ ਲਿਖਿਆ ਗਿਆ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਦਿਆਰਥੀ ਦੀ ਸਾਰਣੀ ਵਿੱਚ, Student_Name ਮੇਜਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ:
Student_Name | ਮੇਜਰ |
---|---|
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ |
ਬੈਤ | ਰਸਾਇਣ ਵਿਗਿਆਨ |
ਇਹ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਲਿਖੇ ਜਾ ਸਕਦੇ ਹਨ: Student_Name -> ਮੇਜਰ ਹਰ ਇੱਕ ਵਿਦਿਆਰਥੀ ਦਾ ਨਾਮ ਬਿਲਕੁਲ ਇਕ ਮੇਜਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਹੋਰ ਨਹੀਂ.
ਜੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇਹਨਾਂ ਵਿਦਿਆਰਥੀਆਂ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਖੇਡਾਂ ਦਾ ਪਤਾ ਕਰਨ ਲਈ ਡਾਟਾਬੇਸ ਵੀ ਹੋਵੇ, ਤਾਂ ਤੁਸੀਂ ਸ਼ਾਇਦ ਸੋਚੋ ਕਿ ਅਜਿਹਾ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸੌਖਾ ਤਰੀਕਾ ਹੈ ਕਿ ਖੇਡਾਂ ਦਾ ਇਕ ਹੋਰ ਕਾਲਮ ਵੀ ਸ਼ਾਮਲ ਕਰੋ:
Student_Name | ਮੇਜਰ | ਖੇਡ |
---|---|---|
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ | ਫੁਟਬਾਲ |
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ | ਵਾਲੀਬਾਲ |
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ | ਟੈਨਿਸ |
ਬੈਤ | ਰਸਾਇਣ ਵਿਗਿਆਨ | ਟੈਨਿਸ |
ਬੈਤ | ਰਸਾਇਣ ਵਿਗਿਆਨ | ਫੁਟਬਾਲ |
ਇੱਥੇ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਰਵੀ ਅਤੇ ਬੈਥ ਦੋਨੋ ਕਈ ਖੇਡਾਂ ਖੇਡਦੇ ਹਨ. ਹਰ ਵਾਧੂ ਖੇਡ ਲਈ ਨਵੀਂ ਰੋਅ ਸ਼ਾਮਿਲ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ.
ਇਸ ਸਾਰਣੀ ਵਿਚ ਮਲਟੀ-ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ ਦੀ ਸ਼ੁਰੂਆਤ ਕੀਤੀ ਗਈ ਹੈ ਕਿਉਂਕਿ ਮੁੱਖ ਅਤੇ ਖੇਡ ਇਕ ਦੂਜੇ ਤੋਂ ਸੁਤੰਤਰ ਹਨ ਪਰ ਦੋਵੇਂ ਵਿਦਿਆਰਥੀ ਤੇ ਨਿਰਭਰ ਹਨ.
ਇਹ ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਨ ਹੈ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣੇ ਜਾ ਸਕਦੇ ਹਨ, ਲੇਕਿਨ ਇੱਕ ਮਲਟੀਵਲੂ ਡਿਪੈਂਡੈਂਸੀ ਇੱਕ ਵੱਡੇ, ਗੁੰਝਲਦਾਰ ਡਾਟਾਬੇਸ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਬਣ ਸਕਦੀ ਹੈ.
ਇੱਕ ਮਲਟੀ - ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ X -> -> Y. ਲਿਖਿਆ ਗਿਆ ਹੈ: ਇਸ ਕੇਸ ਵਿੱਚ:
ਵਿਦਿਆਰਥੀ_ਨਾਮ -> -> ਮੇਜਰ
ਵਿਦਿਆਰਥੀ_ਨਾਮ -> -> ਸਪੋਰਟ
ਇਸ ਨੂੰ "ਵਿਦਿਆਰਥੀ_ਨਮ ਮਲਟੀਡੀਡੇਮਾਈਨਜ਼ ਮੇਜਰ" ਅਤੇ "ਸਟੂਡੈਂਟ_ਨਾਮ ਬਹੁ-ਮੰਚ ਖੇਡਾਂ" ਵਜੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ.
ਇੱਕ ਮਲਟੀ-ਮਲਟੀਪਲ ਨਿਰਭਰਤਾ ਨੂੰ ਘੱਟੋ ਘੱਟ ਤਿੰਨ ਗੁਣਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਘੱਟੋ ਘੱਟ ਦੋ ਗੁਣ ਹਨ ਜੋ ਇੱਕ ਤੀਜੇ ਤੇ ਨਿਰਭਰ ਹਨ.
ਮਲਟੀਵਲਰਾਇਡ ਡਿਪੈਂਡੈਂਸੀ ਅਤੇ ਸਧਾਰਨਤਾ
ਇੱਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਵਾਲਾ ਟੇਬਲ ਚੌਥੇ ਨਾਰਮਲ ਫਾਰਮ (4 ਐਨ ਕੇ) ਦੇ ਸਧਾਰਣ ਮੁਲਾਂਕਣ ਦੀ ਉਲੰਘਣਾ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਬੇਲੋੜੀ ਰੈਡੀਂਡੇਂਸੀ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਅਸੰਗਤ ਡੇਟਾ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾ ਸਕਦਾ ਹੈ. ਇਸ ਨੂੰ 4NF ਤਕ ਲਿਆਉਣ ਲਈ, ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਦੋ ਟੇਬਲ ਵਿੱਚ ਤੋੜਨਾ ਜ਼ਰੂਰੀ ਹੈ.
ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਵਿਦਿਆਰਥੀ-ਨਾਂ-> ਮੇਜਰ, ਅਤੇ ਬਹੁ-ਗਿਣਤੀ ਦੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਦੀ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਨਹੀਂ ਹੈ:
Student_Name | ਮੇਜਰ |
---|---|
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ |
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ |
ਰਵੀ | ਕਲਾ ਇਤਿਹਾਸ |
ਬੈਤ | ਰਸਾਇਣ ਵਿਗਿਆਨ |
ਬੈਤ | ਰਸਾਇਣ ਵਿਗਿਆਨ |
ਹਾਲਾਂਕਿ ਇਸ ਸਾਰਣੀ ਵਿੱਚ ਵਿਦਿਆਰਥੀ-ਨਾਂ-> ਖੇਡਾਂ ਦੀ ਇੱਕ ਸਿੰਗਲ ਫੰਕਸ਼ਨਲ ਨਿਰਭਰਤਾ ਵੀ ਹੈ:
Student_Name | ਖੇਡ |
---|---|
ਰਵੀ | ਫੁਟਬਾਲ |
ਰਵੀ | ਵਾਲੀਬਾਲ |
ਰਵੀ | ਟੈਨਿਸ |
ਬੈਤ | ਟੈਨਿਸ |
ਬੈਤ | ਫੁਟਬਾਲ |
ਇਹ ਸਪੱਸ਼ਟ ਹੈ ਕਿ ਸਧਾਰਨਕਰਨ ਨੂੰ ਅਕਸਰ ਗੁੰਝਲਦਾਰ ਟੇਬਲਜ਼ ਨੂੰ ਆਸਾਨ ਬਣਾਉਣ ਲਈ ਸੰਬੋਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕਿ ਇੱਕ ਸਿੰਗਲ ਸਾਰਣੀ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀ ਬਜਾਏ ਉਸ ਕੋਲ ਇੱਕ ਹੀ ਵਿਚਾਰ ਜਾਂ ਥੀਮ ਨਾਲ ਸਬੰਧਤ ਜਾਣਕਾਰੀ ਹੋਵੇ ਜਿਸ ਵਿੱਚ ਬਹੁਤ ਖਤਰਨਾਕ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ.