ਦੂਜੀ ਸਧਾਰਨ ਫਾਰਮ ਵਿੱਚ ਡਾਟਾਬੇਸ ਪਾਉਣਾ
ਪਿਛਲੇ ਮਹੀਨੇ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਡਾਟਾਬੇਸ ਸਾਰਣੀ ਨੂੰ ਸਧਾਰਣ ਕਰਨ ਦੇ ਕਈ ਪਹਿਲੂਆਂ ਤੇ ਵਿਚਾਰ ਕੀਤਾ ਹੈ. ਪਹਿਲਾਂ, ਅਸੀਂ ਡਾਟਾਬੇਸ ਦੇ ਸਧਾਰਣ ਨਿਯਮਾਂ ਦੇ ਬੁਨਿਆਦੀ ਸਿਧਾਂਤਾਂ 'ਤੇ ਚਰਚਾ ਕੀਤੀ. ਪਿਛਲੀ ਵਾਰ, ਅਸੀਂ ਪਹਿਲੇ ਆਮ ਫਾਰਮ (1 ਐੱਨ ਐੱਫ) ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਬੁਨਿਆਦੀ ਲੋੜਾਂ ਦਾ ਪਤਾ ਲਗਾਇਆ. ਹੁਣ, ਆਓ ਸਾਡਾ ਸਫ਼ਰ ਜਾਰੀ ਰੱਖੀਏ ਅਤੇ ਦੂਜੀ ਆਮ ਫਾਰਮ (2 ਐਨ ਐੱਫ) ਦੇ ਸਿਧਾਂਤਾਂ ਨੂੰ ਕਵਰ ਕਰੀਏ.
2 ਐਨਐਫ ਦੀਆਂ ਆਮ ਲੋੜਾਂ ਨੂੰ ਯਾਦ ਕਰੋ:
- ਉਹਨਾਂ ਡੇਟਾ ਦੇ ਸਬਸੈੱਟ ਹਟਾਓ ਜੋ ਇੱਕ ਸਾਰਣੀ ਦੀਆਂ ਬਹੁਤੀਆਂ ਲਾਈਨਾਂ ਤੇ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਵੱਖਰੇ ਟੇਬਲ ਵਿੱਚ ਰੱਖੋ.
- ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਦੀ ਵਰਤੋਂ ਰਾਹੀਂ ਇਨ੍ਹਾਂ ਨਵੀਆਂ ਮੇਜ਼ਾਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਪੂਰਵ-ਸਾਧਨਾਂ ਦੇ ਵਿਚਕਾਰ ਸਬੰਧ ਬਣਾਉਣਾ.
ਇਹ ਨਿਯਮ ਇੱਕ ਸਧਾਰਣ ਬਿਆਨ ਵਿੱਚ ਸੰਖੇਪ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: 2NF ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਅਢੁੱਕਵੇਂ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਘਟਾ ਕੇ ਇਸ ਨੂੰ ਕੱਢ ਕੇ, ਇਸ ਨੂੰ ਨਵੀਂ ਸਾਰਣੀ ਵਿੱਚ ਰੱਖਕੇ ਅਤੇ ਉਹਨਾਂ ਸਾਰਣੀਆਂ ਦੇ ਵਿਚਕਾਰ ਸਬੰਧ ਪੈਦਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ .
ਆਓ ਇਕ ਉਦਾਹਰਨ ਵੇਖੀਏ. ਇੱਕ ਆਨਲਾਈਨ ਸਟੋਰ ਦੀ ਕਲਪਨਾ ਕਰੋ ਜੋ ਇੱਕ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਾਹਕਾਂ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਕਾਇਮ ਰੱਖਦਾ ਹੈ. ਉਹਨਾਂ ਕੋਲ ਗਾਹਕਾਂ ਜਿਹਨਾਂ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਤੱਤ ਦੇ ਨਾਲ ਇਕੋ ਟੇਬਲ ਹੈ:
- ਕਸਟਨਮ
- ਪਹਿਲਾ ਨਾਂ
- ਆਖਰੀ ਨਾਂਮ
- ਪਤਾ
- ਸ਼ਹਿਰ
- ਰਾਜ
- ਜ਼ਿਪ
ਇਸ ਟੇਬਲ 'ਤੇ ਇਕ ਸੰਖੇਪ ਰੂਪ ਤੋਂ ਵਿਲੱਖਣ ਜਾਣਕਾਰੀ ਬੇਲੋੜੀਦਾ ਡਾਟਾ ਦਰਸਾਉਂਦੀ ਹੈ. ਅਸੀਂ "ਸਾਗਰ ਕਲਿਫ, NY 11579" ਅਤੇ "Miami, FL 33157" ਐਂਟਰੀਆਂ ਨੂੰ ਹਰ ਵਾਰ ਦੋ ਵਾਰ ਸੰਭਾਲ ਰਹੇ ਹਾਂ ਹੁਣ, ਇਹ ਸਾਡੇ ਸਧਾਰਨ ਉਦਾਹਰਨ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਜੋੜਿਆ ਸਟੋਰੇਜ ਨਹੀਂ ਲੱਗ ਸਕਦਾ ਹੈ, ਪਰ ਵਿਅਰਥ ਸਪੇਸ ਦੀ ਕਲਪਨਾ ਕਰੋ ਜੇ ਸਾਡੇ ਸਾਰਜ ਵਿੱਚ ਹਜ਼ਾਰਾਂ ਕਤਾਰਾਂ ਹੋਣ. ਇਸਦੇ ਨਾਲ ਹੀ, ਜੇ ਸਮੁੰਦਰੀ ਕਲਿੱਪ ਲਈ ਜ਼ਿਪ ਕੋਡ ਬਦਲਣਾ ਸੀ, ਤਾਂ ਸਾਨੂੰ ਡਾਟਾਬੇਸ ਦੇ ਦੌਰਾਨ ਕਈ ਸਥਾਨਾਂ ਵਿੱਚ ਇਹ ਤਬਦੀਲੀ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਸੀ.
ਇੱਕ 2NF- ਅਨੁਕੂਲ ਡਾਟਾਬੇਸ ਬਣਤਰ ਵਿੱਚ, ਇਸ ਬੇਲੋੜੀ ਜਾਣਕਾਰੀ ਨੂੰ ਅਲੱਗ ਅਲੱਗ ਟੇਬਲ ਵਿੱਚ ਕੱਢਿਆ ਅਤੇ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਸਾਡੀ ਨਵੀਂ ਟੇਬਲ (ਆਉ ਇਸ ਨੂੰ ਪੰਪ ਤੇ ਕਾਲ ਕਰੀਏ) ਹੇਠ ਦਿੱਤੇ ਖੇਤਰ ਹੋ ਸਕਦੇ ਹਨ:
- ਜ਼ਿਪ
- ਸ਼ਹਿਰ
- ਰਾਜ
ਜੇ ਅਸੀਂ ਸੁਪਰ-ਕੁਸ਼ਲ ਹੋਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਇਸ ਸਾਰਣੀ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਭਰ ਸਕਦੇ ਹਾਂ - ਡਾਕਘਰ ਸਾਰੇ ਪ੍ਰਮਾਣਿਤ ਜ਼ਿਪ ਕੋਡ ਅਤੇ ਉਹਨਾਂ ਦੇ ਸ਼ਹਿਰ / ਰਾਜ ਸਬੰਧਾਂ ਦੀ ਡਾਇਰੈਕਟਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ. ਯਕੀਨਨ, ਤੁਹਾਨੂੰ ਅਜਿਹੀ ਸਥਿਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ ਹੈ ਜਿੱਥੇ ਇਸ ਕਿਸਮ ਦੇ ਡੇਟਾਬੇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਸੀ. ਕੋਈ ਆਦੇਸ਼ ਲੈ ਕੇ ਕਿਸੇ ਨੇ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਆਪਣਾ ਜ਼ਿਪ ਕੋਡ ਮੰਗਿਆ ਸੀ ਅਤੇ ਫਿਰ ਉਸ ਸ਼ਹਿਰ ਅਤੇ ਰਾਜ ਬਾਰੇ ਪਤਾ ਸੀ ਜਿਸ ਤੋਂ ਤੁਸੀਂ ਕਾਲ ਕਰ ਰਹੇ ਸੀ. ਇਸ ਕਿਸਮ ਦਾ ਪ੍ਰਬੰਧ ਆਪ੍ਰੇਟਰ ਅਸ਼ੁੱਧੀ ਅਤੇ ਕਾਰਜਕੁਸ਼ਲਤਾ ਵਧਾਉਂਦਾ ਹੈ.
ਹੁਣ ਜਦੋਂ ਅਸੀਂ ਗਾਹਕ ਟੇਬਲ ਤੋਂ ਡੁਪਲੀਕੇਟ ਡੇਟਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਹੈ, ਅਸੀਂ ਦੂਜੀ ਆਮ ਫਾਰਮ ਦਾ ਪਹਿਲਾ ਰੂਟ ਸੰਤੁਸ਼ਟ ਕੀਤਾ ਹੈ. ਸਾਨੂੰ ਦੋ ਮੇਜ਼ਾਂ ਨੂੰ ਜੋੜਨ ਲਈ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨ ਦੀ ਅਜੇ ਵੀ ਲੋੜ ਹੈ ਅਸੀਂ ਉਸ ਰਿਸ਼ਤੇ ਨੂੰ ਬਣਾਉਣ ਲਈ ਜ਼ਿਪ ਕੋਡ ( ਜ਼ਿਪ ਸਾਰਣੀ ਵਿੱਚੋਂ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ) ਦੀ ਵਰਤੋਂ ਕਰਾਂਗੇ. ਇੱਥੇ ਸਾਡਾ ਨਵਾਂ ਗਾਹਕ ਟੇਬਲ ਹੈ:
- ਕਸਟਨਮ
- ਪਹਿਲਾ ਨਾਂ
- ਆਖਰੀ ਨਾਂਮ
- ਪਤਾ
- ਜ਼ਿਪ
ਅਸੀਂ ਹੁਣ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਅਣਮੁੱਲੇ ਜਾਣਕਾਰੀ ਦੀ ਮਾਤਰਾ ਨੂੰ ਘਟਾ ਦਿੱਤਾ ਹੈ ਅਤੇ ਸਾਡਾ ਢਾਂਚਾ ਦੂਜੇ ਆਮ ਰੂਪ ਵਿੱਚ ਹੈ!
ਜੇ ਤੁਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਤੁਹਾਡਾ ਡੇਟਾਬੇਸ ਆਮ ਹੈ, ਤਾਂ ਇਸ ਲੜੀ ਵਿਚ ਸਾਡੇ ਦੂਜੇ ਲੇਖਾਂ ਦੀ ਖੋਜ ਕਰੋ:
- ਡਾਟਾਬੇਸ ਆਧੁਨਿਕਤਾ ਬੁਨਿਆਦ
- ਪਹਿਲਾ ਆਮ ਫਾਰਮ ਵਿੱਚ ਆਪਣਾ ਡਾਟਾਬੇਸ ਪਾਉਣਾ
- ਦੂਜੀ ਸਧਾਰਨ ਫਾਰਮ ਵਿੱਚ ਆਪਣਾ ਡਾਟਾਬੇਸ ਪਾਉਣਾ
- ਤੀਜੀ ਆਮ ਫਾਰਮ ਵਿੱਚ ਆਪਣਾ ਡੇਟਾਬੇਸ ਪਾਉਣਾ