ਮਾਈਕਰੋਸਾਫਟ SQL ਸਰਵਰ ਵਿਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ

ਡਾਟਾਬੇਸ ਵਿੱਚ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਣ ਸੰਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਡਾਟਾਬੇਸ ਤਾਲਿਕਾਵਾਂ ਦੇ ਵਿਚਕਾਰ ਸੰਬੰਧ ਬਣਾ ਰਿਹਾ ਹੈ ਇਹ ਰਿਸ਼ਤਾ ਬਹੁਤੀਆਂ ਮੇਜ਼ਾਂ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਡਾਟਾ ਨੂੰ ਜੋੜਨ ਲਈ ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਇੱਕ ਕੁਸ਼ਲ ਫੈਸ਼ਨ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ. ਦੋ ਸਾਰਣੀਆਂ ਵਿਚਕਾਰ ਇੱਕ ਸੰਬੰਧ ਬਣਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਨੂੰ ਦਰਸਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਕਿਸੇ ਹੋਰ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਕਾਲਮ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ.

ਡਾਟਾਬੇਸ ਸਾਰਣੀ ਅਤੇ ਰਿਸ਼ਤੇ

ਤੁਸੀਂ ਸ਼ਾਇਦ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦੇ ਹੋਵੋਗੇ ਕਿ ਡੇਟਾਬੇਸ ਕੇਵਲ ਸਾਰਣੀ ਦੀਆਂ ਲੜੀਵਾਰ ਹਨ , ਜੋ ਕਿ ਤੁਸੀਂ ਸਪ੍ਰੈਡਸ਼ੀਟ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਇਸਤੇਮਾਲ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ Microsoft Excel. ਵਾਸਤਵ ਵਿੱਚ, ਤੁਸੀਂ ਇੱਕ ਐਕਸਲ ਸਪਰੈੱਡਸ਼ੀਟ ਨੂੰ ਇੱਕ ਡੇਟਾਬੇਸ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ. ਜਿੱਥੇ ਡੇਟਾਬੇਸ ਸਪ੍ਰੈਡਸ਼ੀਟ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ, ਫਿਰ ਵੀ, ਜਦੋਂ ਟੇਬਲਸ ਦੇ ਵਿਚਕਾਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਰਿਸ਼ਤੇ ਬਣਾਉਣ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ

ਮਿਸਾਲ ਦੇ ਤੌਰ ਤੇ, ਇਕ ਮਾਨਵੀ ਸਰੋਤਾਂ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ ਇਕ ਕੰਪਨੀ ਦੁਆਰਾ ਵਰਤੇ ਗਏ ਇੱਕ ਡੇਟਾਬੇਸ ਤੇ ਵਿਚਾਰ ਕਰੋ. ਇਸ ਡੈਟਾਬੇਸ ਵਿਚ ਕਰਮਚਾਰੀਆਂ ਦੀ ਇਕ ਸਾਰਣੀ ਹੋ ਸਕਦੀ ਹੈ ਜਿਸ ਵਿਚ ਕੰਪਨੀ ਦੇ ਸਟਾਫ ਦੇ ਹਰੇਕ ਮੈਂਬਰ ਲਈ ਹੇਠ ਲਿਖੀ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ:

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

ਡੈਟਾਬੇਸ ਵਿਚ ਹਰ ਸਥਿਤੀ ਬਾਰੇ ਹੇਠ ਲਿਖੀਆਂ ਵਾਧੂ ਜਾਣਕਾਰੀ ਦੇ ਨਾਲ ਪੋਜੀਸ਼ਨਸ ਨਾਮਕ ਸਾਰਣੀ ਵੀ ਹੋ ਸਕਦੀ ਹੈ:

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

ਜਦੋਂ ਅਸੀਂ ਡਾਟਾਬੇਸ ਤੋਂ ਕਰਮਚਾਰੀਆਂ ਦੀ ਇੱਕ ਸੂਚੀ ਕੱਢਣ ਜਾਂਦੇ ਹਾਂ, ਹਰ ਵਿਅਕਤੀ ਦਾ ਨਾਮ ਅਤੇ ਉਹਨਾਂ ਦੇ ਸਿਰਲੇਖ ਦੀ ਬੇਨਤੀ ਕਰਨਾ ਕੁਦਰਤੀ ਹੋਵੇਗਾ. ਹਾਲਾਂਕਿ, ਇਹ ਜਾਣਕਾਰੀ ਇੱਕ ਤੋਂ ਵੱਧ ਡਾਟਾਬੇਸ ਟੇਬਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਸਲਈ ਇਹ ਸਿਰਫ਼ ਇੱਕ JOIN ਪੁੱਛਗਿੱਛ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਿਸ ਲਈ ਟੇਬਲ ਦੇ ਵਿਚਕਾਰ ਮੌਜੂਦਾ ਸਬੰਧ ਦੀ ਲੋੜ ਹੈ.

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

ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਦੀ ਪਛਾਣ ਕਰ ਲੈਂਦੇ ਹੋ, ਤੁਸੀਂ ਅੱਗੇ ਜਾ ਕੇ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛ-ਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਲੋੜੀਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਡਾਟਾਬੇਸ ਤੋਂ ਕੱਢ ਸਕਦੇ ਹੋ:

ਚੁਣੋ ਪਹਿਲੀ ਨਾਮ, ਅਖੀਰਲਾ, ਕਰਮਚਾਰੀਆਂ ਦੁਆਰਾ ਨਾਮਜਦ ਵਿਅਕਤੀ ਦਾ ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ ਕਰਮਚਾਰੀਆਂ ਦੀ ਪਦਵੀ. ਪੋਜੀਆਈਡੀ = ਸਥਿਤੀ.

SQL ਸਰਵਰ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਬਣਾਉਣਾ

ਤਕਨੀਕੀ ਰੂਪ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਰਿਸ਼ਤਾ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਉਪਰੋਕਤ ਵਰਗੇ ਇੱਕ ਪ੍ਰਸ਼ਨਾਂ ਨੂੰ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਨਹੀਂ ਹੈ. ਹਾਲਾਂਕਿ, ਜੇ ਤੁਸੀਂ ਕਿਸੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਸੰਜਮ ਨਾਲ ਸੰਬੰਧ ਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ ਤੇ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਡੇਟਾਬੇਸ ਤੁਹਾਡੇ ਲਈ ਕੁਝ ਹਾਊਸਕੀਪਿੰਗ ਕੰਮ ਕਰਨ ਦੇ ਯੋਗ ਹੋਵੇਗਾ:

ਇੱਥੇ ਇਹ ਹੈ ਕਿ ਤੁਸੀਂ SQL ਸਰਵਰ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ:

ਬਦਲਣ ਲਈ ਟੇਬਲ ਕਰਮਚਾਰੀ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ (ਸਥਿਤੀ ਆਈਡੀ) ਸ਼ਾਮਲ ਕਰੋ ਰੈਫ਼ੇਰਾਂਸ ਦੀਆਂ ਸਿਥਤੀਆਂ (ਸਥਿਤੀਆਈਡੀ)

ਤੁਸੀਂ ਕਲਾਸ ਜੋੜ ਕੇ ਸਾਰਣੀ ਬਣਾਉਂਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਵੀ ਬਣਾ ਸਕਦੇ ਹੋ:

ਵਿਦੇਸ਼ੀ ਮਹੱਤਵਪੂਰਣ ਤਰਤੀਬਾਂ (ਸਥਿਤੀਆਈਡੀ)

ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਾਲਮ ਲਈ ਕਾਲਮ ਪਰਿਭਾਸ਼ਾ ਦੇ ਅੰਤ ਵਿੱਚ.