ਡਾਟਾਬੇਸ ਡਿਜ਼ਾਇਨ ਵਿੱਚ ਮਲਟੀਵਲੁਅਲ ਡਿਪੈਂਡੈਂਸੀ

ਮਲਟੀ-ਮਲਾਲਾ ਨਿਰਭਰਤਾ ਚੌਥਾ ਆਮ ਫਾਰਮ

ਕਿਸੇ ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਵਿੱਚ, ਇੱਕ ਨਿਰਭਰਤਾ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਇੱਕੋ ਡੇਟਾਬੇਸ ਟੇਬਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਗਈ ਜਾਣਕਾਰੀ ਇੱਕੋ ਸਾਰਣੀ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਗਈ ਦੂਜੀ ਜਾਣਕਾਰੀ ਨੂੰ ਨਿਰਪੱਖਤਾ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਇੱਕ ਮਲਟੀ-ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਕਤਾਰਾਂ ਦੀ ਹਾਜ਼ਰੀ ਦਾ ਅਰਥ ਹੈ ਕਿ ਇੱਕੋ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਹੋਰ ਕਤਾਰ ਮੌਜੂਦ ਹੈ. ਇਕ ਹੋਰ ਤਰੀਕਾ ਰੱਖੋ, ਇਕ ਸਾਰਣੀ ਵਿੱਚ ਦੋ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (ਜਾਂ ਕਾਲਮਾਂ) ਇਕ ਦੂਜੇ ਤੋਂ ਅਲੱਗ ਹਨ, ਪਰ ਦੋਵੇਂ ਇੱਕ ਤੀਜੇ ਗੁਣ 'ਤੇ ਨਿਰਭਰ ਹਨ.

ਇਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਸਧਾਰਣ ਸਤਰ ਚੌਥੇ ਆਮ ਫਾਰਮ (4 ਐਨ ਐੱਫ) ਨੂੰ ਰੋਕਦੀ ਹੈ. ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਪੰਜ ਆਮ ਰੂਪਾਂ ਦਾ ਅਨੁਸਰਣ ਕਰਦਾ ਹੈ ਜੋ ਰਿਕਾਰਡ ਡਿਜ਼ਾਈਨ ਲਈ ਦਿਸ਼ਾ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ ਉਹ ਡਾਟਾ ਵਿੱਚ ਅਸੰਗਤ ਅਤੇ ਅਸੰਗਤਾ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਤੋਂ ਰੋਕਦੇ ਹਨ. ਚੌਥਾ ਆਮ ਰੂਪ ਇੱਕ ਡਾਟਾਬੇਸ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ-ਨਾਲ-ਇੱਕ ਸਬੰਧਾਂ ਨਾਲ ਨਜਿੱਠਦਾ ਹੈ .

ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਬਨਾਮ ਬਹੁਵਚਨ ਨਿਰਭਰਤਾ

ਇਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਨੂੰ ਸਮਝਣ ਲਈ, ਮੁੜ ਵਿਚਾਰ ਕਰਨਾ ਲਾਭਦਾਇਕ ਹੈ ਕਿ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਕੀ ਹੈ.

ਜੇ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਐਕਸ ਵਿਸ਼ੇਸ਼ ਤੌਰ ਤੇ ਵੈਲਯੂ Y ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ, ਤਾਂ Y ਕਾਰਜਸ਼ੀਲ ਤੌਰ ਤੇ X ਤੇ ਨਿਰਭਰ ਹੈ. ਇਸ ਨੂੰ X -> Y ਦੇ ਤੌਰ ਤੇ ਲਿਖਿਆ ਗਿਆ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਦਿਆਰਥੀ ਦੀ ਸਾਰਣੀ ਵਿੱਚ, Student_Name ਮੇਜਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ:

ਵਿਦਿਆਰਥੀ
Student_Name ਮੇਜਰ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ
ਬੈਤ ਰਸਾਇਣ ਵਿਗਿਆਨ


ਇਹ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਲਿਖੇ ਜਾ ਸਕਦੇ ਹਨ: Student_Name -> ਮੇਜਰ ਹਰ ਇੱਕ ਵਿਦਿਆਰਥੀ ਦਾ ਨਾਮ ਬਿਲਕੁਲ ਇਕ ਮੇਜਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਹੋਰ ਨਹੀਂ.

ਜੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇਹਨਾਂ ਵਿਦਿਆਰਥੀਆਂ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਖੇਡਾਂ ਦਾ ਪਤਾ ਕਰਨ ਲਈ ਡਾਟਾਬੇਸ ਵੀ ਹੋਵੇ, ਤਾਂ ਤੁਸੀਂ ਸ਼ਾਇਦ ਸੋਚੋ ਕਿ ਅਜਿਹਾ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸੌਖਾ ਤਰੀਕਾ ਹੈ ਕਿ ਖੇਡਾਂ ਦਾ ਇਕ ਹੋਰ ਕਾਲਮ ਵੀ ਸ਼ਾਮਲ ਕਰੋ:

ਵਿਦਿਆਰਥੀ
Student_Name ਮੇਜਰ ਖੇਡ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ ਫੁਟਬਾਲ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ ਵਾਲੀਬਾਲ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ ਟੈਨਿਸ
ਬੈਤ ਰਸਾਇਣ ਵਿਗਿਆਨ ਟੈਨਿਸ
ਬੈਤ ਰਸਾਇਣ ਵਿਗਿਆਨ ਫੁਟਬਾਲ


ਇੱਥੇ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਰਵੀ ਅਤੇ ਬੈਥ ਦੋਨੋ ਕਈ ਖੇਡਾਂ ਖੇਡਦੇ ਹਨ. ਹਰ ਵਾਧੂ ਖੇਡ ਲਈ ਨਵੀਂ ਰੋਅ ਸ਼ਾਮਿਲ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ.

ਇਸ ਸਾਰਣੀ ਵਿਚ ਮਲਟੀ-ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ ਦੀ ਸ਼ੁਰੂਆਤ ਕੀਤੀ ਗਈ ਹੈ ਕਿਉਂਕਿ ਮੁੱਖ ਅਤੇ ਖੇਡ ਇਕ ਦੂਜੇ ਤੋਂ ਸੁਤੰਤਰ ਹਨ ਪਰ ਦੋਵੇਂ ਵਿਦਿਆਰਥੀ ਤੇ ਨਿਰਭਰ ਹਨ.

ਇਹ ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਨ ਹੈ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣੇ ਜਾ ਸਕਦੇ ਹਨ, ਲੇਕਿਨ ਇੱਕ ਮਲਟੀਵਲੂ ਡਿਪੈਂਡੈਂਸੀ ਇੱਕ ਵੱਡੇ, ਗੁੰਝਲਦਾਰ ਡਾਟਾਬੇਸ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਬਣ ਸਕਦੀ ਹੈ.

ਇੱਕ ਮਲਟੀ - ਮਲਕੀਅਤ ਨਿਰਭਰਤਾ X -> -> Y. ਲਿਖਿਆ ਗਿਆ ਹੈ: ਇਸ ਕੇਸ ਵਿੱਚ:

ਵਿਦਿਆਰਥੀ_ਨਾਮ -> -> ਮੇਜਰ
ਵਿਦਿਆਰਥੀ_ਨਾਮ -> -> ਸਪੋਰਟ

ਇਸ ਨੂੰ "ਵਿਦਿਆਰਥੀ_ਨਮ ਮਲਟੀਡੀਡੇਮਾਈਨਜ਼ ਮੇਜਰ" ਅਤੇ "ਸਟੂਡੈਂਟ_ਨਾਮ ਬਹੁ-ਮੰਚ ਖੇਡਾਂ" ਵਜੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ.

ਇੱਕ ਮਲਟੀ-ਮਲਟੀਪਲ ਨਿਰਭਰਤਾ ਨੂੰ ਘੱਟੋ ਘੱਟ ਤਿੰਨ ਗੁਣਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਘੱਟੋ ਘੱਟ ਦੋ ਗੁਣ ਹਨ ਜੋ ਇੱਕ ਤੀਜੇ ਤੇ ਨਿਰਭਰ ਹਨ.

ਮਲਟੀਵਲਰਾਇਡ ਡਿਪੈਂਡੈਂਸੀ ਅਤੇ ਸਧਾਰਨਤਾ

ਇੱਕ ਬਹੁ-ਨਿਰਭਰ ਨਿਰਭਰਤਾ ਵਾਲਾ ਟੇਬਲ ਚੌਥੇ ਨਾਰਮਲ ਫਾਰਮ (4 ਐਨ ਕੇ) ਦੇ ਸਧਾਰਣ ਮੁਲਾਂਕਣ ਦੀ ਉਲੰਘਣਾ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਬੇਲੋੜੀ ਰੈਡੀਂਡੇਂਸੀ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਅਸੰਗਤ ਡੇਟਾ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾ ਸਕਦਾ ਹੈ. ਇਸ ਨੂੰ 4NF ਤਕ ਲਿਆਉਣ ਲਈ, ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਦੋ ਟੇਬਲ ਵਿੱਚ ਤੋੜਨਾ ਜ਼ਰੂਰੀ ਹੈ.

ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਵਿਦਿਆਰਥੀ-ਨਾਂ-> ਮੇਜਰ, ਅਤੇ ਬਹੁ-ਗਿਣਤੀ ਦੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਦੀ ਕਾਰਜਸ਼ੀਲ ਨਿਰਭਰਤਾ ਨਹੀਂ ਹੈ:

ਵਿਦਿਆਰਥੀ ਅਤੇ ਮੇਜਰ
Student_Name ਮੇਜਰ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ
ਰਵੀ ਕਲਾ ਇਤਿਹਾਸ
ਬੈਤ ਰਸਾਇਣ ਵਿਗਿਆਨ
ਬੈਤ ਰਸਾਇਣ ਵਿਗਿਆਨ

ਹਾਲਾਂਕਿ ਇਸ ਸਾਰਣੀ ਵਿੱਚ ਵਿਦਿਆਰਥੀ-ਨਾਂ-> ਖੇਡਾਂ ਦੀ ਇੱਕ ਸਿੰਗਲ ਫੰਕਸ਼ਨਲ ਨਿਰਭਰਤਾ ਵੀ ਹੈ:

ਵਿਦਿਆਰਥੀ ਅਤੇ ਖੇਡਾਂ
Student_Name ਖੇਡ
ਰਵੀ ਫੁਟਬਾਲ
ਰਵੀ ਵਾਲੀਬਾਲ
ਰਵੀ ਟੈਨਿਸ
ਬੈਤ ਟੈਨਿਸ
ਬੈਤ ਫੁਟਬਾਲ

ਇਹ ਸਪੱਸ਼ਟ ਹੈ ਕਿ ਸਧਾਰਨਕਰਨ ਨੂੰ ਅਕਸਰ ਗੁੰਝਲਦਾਰ ਟੇਬਲਜ਼ ਨੂੰ ਆਸਾਨ ਬਣਾਉਣ ਲਈ ਸੰਬੋਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕਿ ਇੱਕ ਸਿੰਗਲ ਸਾਰਣੀ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀ ਬਜਾਏ ਉਸ ਕੋਲ ਇੱਕ ਹੀ ਵਿਚਾਰ ਜਾਂ ਥੀਮ ਨਾਲ ਸਬੰਧਤ ਜਾਣਕਾਰੀ ਹੋਵੇ ਜਿਸ ਵਿੱਚ ਬਹੁਤ ਖਤਰਨਾਕ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ.