![]() |
|---|
| ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ - Sketchnote by @nitya |
ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਤੁਸੀਂ ਪਹਿਲਾਂ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕਰਨ ਲਈ ਸਪ੍ਰੈਡਸ਼ੀਟ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ। ਤੁਹਾਡੇ ਕੋਲ ਕਤਾਰਾਂ ਅਤੇ ਕਾਲਮਾਂ ਦਾ ਇੱਕ ਸੈੱਟ ਹੁੰਦਾ ਸੀ, ਜਿੱਥੇ ਕਤਾਰਾਂ ਵਿੱਚ ਜਾਣਕਾਰੀ (ਜਾਂ ਡਾਟਾ) ਹੁੰਦੀ ਸੀ, ਅਤੇ ਕਾਲਮ ਜਾਣਕਾਰੀ ਦਾ ਵਰਣਨ ਕਰਦੇ ਸਨ (ਕਈ ਵਾਰੀ ਮੈਟਾਡੇਟਾ ਕਿਹਾ ਜਾਂਦਾ ਹੈ)। ਇੱਕ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਇਸ ਮੂਲ ਸਿਧਾਂਤ 'ਤੇ ਬਣਿਆ ਹੁੰਦਾ ਹੈ ਕਿ ਕਾਲਮ ਅਤੇ ਕਤਾਰਾਂ ਟੇਬਲਾਂ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ, ਜੋ ਤੁਹਾਨੂੰ ਜਾਣਕਾਰੀ ਨੂੰ ਕਈ ਟੇਬਲਾਂ ਵਿੱਚ ਵੰਡਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਤੁਸੀਂ ਵਧੇਰੇ ਜਟਿਲ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ, ਨਕਲ ਤੋਂ ਬਚ ਸਕਦੇ ਹੋ, ਅਤੇ ਡਾਟਾ ਦੀ ਖੋਜ ਕਰਨ ਦੇ ਤਰੀਕੇ ਵਿੱਚ ਲਚਕੀਲਾਪਨ ਰੱਖ ਸਕਦੇ ਹੋ। ਆਓ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਦੇ ਸਿਧਾਂਤਾਂ ਦੀ ਖੋਜ ਕਰੀਏ।
ਇੱਕ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਦੇ ਕੇਂਦਰ ਵਿੱਚ ਟੇਬਲਾਂ ਹੁੰਦੀਆਂ ਹਨ। ਸਪ੍ਰੈਡਸ਼ੀਟ ਵਾਂਗ, ਇੱਕ ਟੇਬਲ ਕਾਲਮਾਂ ਅਤੇ ਕਤਾਰਾਂ ਦਾ ਸੰਗ੍ਰਹਿ ਹੁੰਦਾ ਹੈ। ਕਤਾਰ ਵਿੱਚ ਉਹ ਡਾਟਾ ਜਾਂ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ ਜਿਸ ਨਾਲ ਅਸੀਂ ਕੰਮ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਕਿਸੇ ਸ਼ਹਿਰ ਦਾ ਨਾਮ ਜਾਂ ਵਰਖਾ ਦੀ ਮਾਤਰਾ। ਕਾਲਮ ਉਹ ਡਾਟਾ ਵਰਣਨ ਕਰਦੇ ਹਨ ਜੋ ਉਹ ਸਟੋਰ ਕਰਦੇ ਹਨ।
ਆਓ ਸ਼ਹਿਰਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸਟੋਰ ਕਰਨ ਲਈ ਇੱਕ ਟੇਬਲ ਬਣਾਉਣ ਨਾਲ ਆਪਣੀ ਖੋਜ ਸ਼ੁਰੂ ਕਰੀਏ। ਅਸੀਂ ਸ਼ਾਇਦ ਉਨ੍ਹਾਂ ਦਾ ਨਾਮ ਅਤੇ ਦੇਸ਼ ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ। ਤੁਸੀਂ ਇਸਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਟੇਬਲ ਵਿੱਚ ਸਟੋਰ ਕਰ ਸਕਦੇ ਹੋ:
| ਸ਼ਹਿਰ | ਦੇਸ਼ |
|---|---|
| ਟੋਕੀਓ | ਜਪਾਨ |
| ਐਟਲਾਂਟਾ | ਸੰਯੁਕਤ ਰਾਜ |
| ਆਕਲੈਂਡ | ਨਿਊਜ਼ੀਲੈਂਡ |
ਧਿਆਨ ਦਿਓ ਕਿ ਕਾਲਮਾਂ ਦੇ ਨਾਮ ਸ਼ਹਿਰ, ਦੇਸ਼ ਅਤੇ ਆਬਾਦੀ ਡਾਟਾ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ ਜੋ ਸਟੋਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਅਤੇ ਹਰ ਕਤਾਰ ਵਿੱਚ ਇੱਕ ਸ਼ਹਿਰ ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ।
ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਉਪਰੋਕਤ ਟੇਬਲ ਤੁਹਾਡੇ ਲਈ ਕਾਫੀ ਜਾਣੂ ਲੱਗਦਾ ਹੈ। ਆਓ ਆਪਣੀ ਵਧ ਰਹੀ ਡੇਟਾਬੇਸ ਵਿੱਚ ਕੁਝ ਹੋਰ ਡਾਟਾ ਸ਼ਾਮਲ ਕਰੀਏ - ਸਾਲਾਨਾ ਵਰਖਾ (ਮਿਲੀਮੀਟਰ ਵਿੱਚ)। ਅਸੀਂ 2018, 2019 ਅਤੇ 2020 ਸਾਲਾਂ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। ਜੇ ਅਸੀਂ ਟੋਕੀਓ ਲਈ ਇਹ ਸ਼ਾਮਲ ਕਰੀਏ, ਤਾਂ ਇਹ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਹੋ ਸਕਦਾ ਹੈ:
| ਸ਼ਹਿਰ | ਦੇਸ਼ | ਸਾਲ | ਮਾਤਰਾ |
|---|---|---|---|
| ਟੋਕੀਓ | ਜਪਾਨ | 2020 | 1690 |
| ਟੋਕੀਓ | ਜਪਾਨ | 2019 | 1874 |
| ਟੋਕੀਓ | ਜਪਾਨ | 2018 | 1445 |
ਤੁਸੀਂ ਸਾਡੇ ਟੇਬਲ ਬਾਰੇ ਕੀ ਧਿਆਨ ਦਿੰਦੇ ਹੋ? ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਅਸੀਂ ਸ਼ਹਿਰ ਦਾ ਨਾਮ ਅਤੇ ਦੇਸ਼ ਬਾਰ-ਬਾਰ ਨਕਲ ਕਰ ਰਹੇ ਹਾਂ। ਇਹ ਕਾਫੀ ਸਟੋਰੇਜ ਲੈ ਸਕਦਾ ਹੈ, ਅਤੇ ਬਹੁਤ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ ਕਿ ਕਈ ਨਕਲਾਂ ਹੋਣ। ਆਖਿਰਕਾਰ, ਟੋਕੀਓ ਦਾ ਸਿਰਫ ਇੱਕ ਹੀ ਨਾਮ ਹੈ ਜਿਸ ਵਿੱਚ ਅਸੀਂ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹਾਂ।
ਠੀਕ ਹੈ, ਆਓ ਕੁਝ ਹੋਰ ਕੋਸ਼ਿਸ਼ ਕਰੀਏ। ਹਰ ਸਾਲ ਲਈ ਨਵੇਂ ਕਾਲਮ ਸ਼ਾਮਲ ਕਰੀਏ:
| ਸ਼ਹਿਰ | ਦੇਸ਼ | 2018 | 2019 | 2020 |
|---|---|---|---|---|
| ਟੋਕੀਓ | ਜਪਾਨ | 1445 | 1874 | 1690 |
| ਐਟਲਾਂਟਾ | ਸੰਯੁਕਤ ਰਾਜ | 1779 | 1111 | 1683 |
| ਆਕਲੈਂਡ | ਨਿਊਜ਼ੀਲੈਂਡ | 1386 | 942 | 1176 |
ਜਦੋਂ ਕਿ ਇਸ ਨਾਲ ਕਤਾਰ ਦੀ ਨਕਲ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਕੁਝ ਹੋਰ ਚੁਣੌਤੀਆਂ ਲਿਆਉਂਦਾ ਹੈ। ਹਰ ਵਾਰੀ ਨਵਾਂ ਸਾਲ ਆਉਣ 'ਤੇ ਸਾਨੂੰ ਆਪਣੀ ਟੇਬਲ ਦੀ ਬਣਤਰ ਬਦਲਣੀ ਪਵੇਗੀ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜਿਵੇਂ ਜਿਵੇਂ ਸਾਡਾ ਡਾਟਾ ਵਧਦਾ ਹੈ, ਸਾਲਾਂ ਨੂੰ ਕਾਲਮ ਵਜੋਂ ਰੱਖਣਾ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਗਣਨਾ ਕਰਨ ਵਿੱਚ ਮੁਸ਼ਕਲ ਕਰ ਦੇਵੇਗਾ।
ਇਸ ਲਈ ਸਾਨੂੰ ਕਈ ਟੇਬਲਾਂ ਅਤੇ ਸੰਬੰਧਾਂ ਦੀ ਲੋੜ ਹੈ। ਆਪਣਾ ਡਾਟਾ ਵੰਡ ਕੇ ਅਸੀਂ ਨਕਲ ਤੋਂ ਬਚ ਸਕਦੇ ਹਾਂ ਅਤੇ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਵਿੱਚ ਵਧੇਰੇ ਲਚਕੀਲਾਪਨ ਰੱਖ ਸਕਦੇ ਹਾਂ।
ਆਓ ਆਪਣੇ ਡਾਟਾ ਵੱਲ ਵਾਪਸ ਜਾਈਏ ਅਤੇ ਫੈਸਲਾ ਕਰੀਏ ਕਿ ਅਸੀਂ ਚੀਜ਼ਾਂ ਨੂੰ ਕਿਵੇਂ ਵੰਡਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਅਸੀਂ ਜਾਣਦੇ ਹਾਂ ਕਿ ਅਸੀਂ ਆਪਣੇ ਸ਼ਹਿਰਾਂ ਲਈ ਨਾਮ ਅਤੇ ਦੇਸ਼ ਸਟੋਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਇਸ ਲਈ ਇਹ ਸ਼ਾਇਦ ਇੱਕ ਟੇਬਲ ਵਿੱਚ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰੇਗਾ।
| ਸ਼ਹਿਰ | ਦੇਸ਼ |
|---|---|
| ਟੋਕੀਓ | ਜਪਾਨ |
| ਐਟਲਾਂਟਾ | ਸੰਯੁਕਤ ਰਾਜ |
| ਆਕਲੈਂਡ | ਨਿਊਜ਼ੀਲੈਂਡ |
ਪਰ ਅਗਲਾ ਟੇਬਲ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਸਾਨੂੰ ਇਹ ਪਤਾ ਲਗਾਉਣਾ ਹੈ ਕਿ ਹਰ ਸ਼ਹਿਰ ਨੂੰ ਕਿਵੇਂ ਰੈਫਰੈਂਸ ਕਰਨਾ ਹੈ। ਸਾਨੂੰ ਕਿਸੇ ਕਿਸਮ ਦਾ ਪਹਚਾਣ ਪੱਤਰ, ID ਜਾਂ (ਟੈਕਨੀਕੀ ਡੇਟਾਬੇਸ ਸ਼ਬਦਾਵਲੀ ਵਿੱਚ) ਪ੍ਰਾਇਮਰੀ ਕੀ ਦੀ ਲੋੜ ਹੈ। ਪ੍ਰਾਇਮਰੀ ਕੀ ਇੱਕ ਐਸਾ ਮੁੱਲ ਹੁੰਦਾ ਹੈ ਜੋ ਟੇਬਲ ਵਿੱਚ ਇੱਕ ਖਾਸ ਕਤਾਰ ਦੀ ਪਹਚਾਣ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਕਿ ਇਹ ਕਿਸੇ ਮੁੱਲ 'ਤੇ ਆਧਾਰਿਤ ਹੋ ਸਕਦਾ ਹੈ (ਉਦਾਹਰਨ ਵਜੋਂ ਅਸੀਂ ਸ਼ਹਿਰ ਦਾ ਨਾਮ ਵਰਤ ਸਕਦੇ ਹਾਂ), ਇਹ ਲਗਭਗ ਹਮੇਸ਼ਾ ਇੱਕ ਨੰਬਰ ਜਾਂ ਹੋਰ ਪਹਚਾਣ ਪੱਤਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਅਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ id ਕਦੇ ਬਦਲੇ ਕਿਉਂਕਿ ਇਸ ਨਾਲ ਸੰਬੰਧ ਟੁੱਟ ਜਾਵੇਗਾ। ਜ਼ਿਆਦਾਤਰ ਮਾਮਲਿਆਂ ਵਿੱਚ ਪ੍ਰਾਇਮਰੀ ਕੀ ਜਾਂ id ਆਟੋ-ਜਨਰੇਟ ਕੀਤੇ ਨੰਬਰ ਹੁੰਦੇ ਹਨ।
✅ ਪ੍ਰਾਇਮਰੀ ਕੀ ਨੂੰ ਅਕਸਰ PK ਨਾਲ ਸੰਖੇਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
| city_id | ਸ਼ਹਿਰ | ਦੇਸ਼ |
|---|---|---|
| 1 | ਟੋਕੀਓ | ਜਪਾਨ |
| 2 | ਐਟਲਾਂਟਾ | ਸੰਯੁਕਤ ਰਾਜ |
| 3 | ਆਕਲੈਂਡ | ਨਿਊਜ਼ੀਲੈਂਡ |
✅ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਅਸੀਂ ਇਸ ਪਾਠ ਦੌਰਾਨ "id" ਅਤੇ "primary key" ਸ਼ਬਦਾਂ ਨੂੰ ਬਦਲ-ਬਦਲ ਕੇ ਵਰਤਦੇ ਹਾਂ। ਇੱਥੇ ਦਿੱਤੇ ਸਿਧਾਂਤ DataFrames 'ਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦੇ ਹਨ, ਜਿਸਨੂੰ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਖੋਜੋਗੇ। DataFrames "primary key" ਸ਼ਬਦਾਵਲੀ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੇ, ਪਰ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਉਹ ਇਸੇ ਤਰ੍ਹਾਂ ਵਰਤਦੇ ਹਨ।
ਸਾਡੇ cities ਟੇਬਲ ਬਣ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਆਓ rainfall ਸਟੋਰ ਕਰੀਏ। ਸ਼ਹਿਰ ਬਾਰੇ ਪੂਰੀ ਜਾਣਕਾਰੀ ਨਕਲ ਕਰਨ ਦੀ ਬਜਾਏ, ਅਸੀਂ id ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਸਾਨੂੰ ਇਹ ਵੀ ਯਕੀਨੀ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਨਵਾਂ ਬਣਾਇਆ ਟੇਬਲ ਵਿੱਚ ਵੀ ਇੱਕ id ਕਾਲਮ ਹੋਵੇ, ਕਿਉਂਕਿ ਸਾਰੇ ਟੇਬਲਾਂ ਵਿੱਚ id ਜਾਂ ਪ੍ਰਾਇਮਰੀ ਕੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
| rainfall_id | city_id | ਸਾਲ | ਮਾਤਰਾ |
|---|---|---|---|
| 1 | 1 | 2018 | 1445 |
| 2 | 1 | 2019 | 1874 |
| 3 | 1 | 2020 | 1690 |
| 4 | 2 | 2018 | 1779 |
| 5 | 2 | 2019 | 1111 |
| 6 | 2 | 2020 | 1683 |
| 7 | 3 | 2018 | 1386 |
| 8 | 3 | 2019 | 942 |
| 9 | 3 | 2020 | 1176 |
ਨਵਾਂ ਬਣਾਇਆ rainfall ਟੇਬਲ ਦੇ ਅੰਦਰ city_id ਕਾਲਮ ਨੂੰ ਧਿਆਨ ਨਾਲ ਦੇਖੋ। ਇਸ ਕਾਲਮ ਵਿੱਚ ਉਹ ਮੁੱਲ ਹਨ ਜੋ cities ਟੇਬਲ ਵਿੱਚ IDs ਨੂੰ ਰੈਫਰੈਂਸ ਕਰਦੇ ਹਨ। ਟੈਕਨੀਕੀ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾ ਸ਼ਬਦਾਵਲੀ ਵਿੱਚ, ਇਸਨੂੰ foreign key ਕਿਹਾ ਜਾਂਦਾ ਹੈ; ਇਹ ਕਿਸੇ ਹੋਰ ਟੇਬਲ ਤੋਂ ਪ੍ਰਾਇਮਰੀ ਕੀ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਸਿਰਫ ਇੱਕ ਰੈਫਰੈਂਸ ਜਾਂ ਪੌਇੰਟਰ ਵਜੋਂ ਸੋਚ ਸਕਦੇ ਹੋ। city_id 1 ਟੋਕੀਓ ਨੂੰ ਰੈਫਰੈਂਸ ਕਰਦਾ ਹੈ।
Note
ਫੌਰਨ ਕੀ ਨੂੰ ਅਕਸਰ FK ਨਾਲ ਸੰਖੇਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
ਸਾਡੇ ਡਾਟਾ ਨੂੰ ਦੋ ਟੇਬਲਾਂ ਵਿੱਚ ਵੰਡਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਸੋਚ ਰਹੇ ਹੋਵੋਗੇ ਕਿ ਅਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਾਂ। ਜੇ ਅਸੀਂ MySQL, SQL Server ਜਾਂ Oracle ਵਰਗਾ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਵਰਤ ਰਹੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਇੱਕ ਭਾਸ਼ਾ ਵਰਤ ਸਕਦੇ ਹਾਂ ਜਿਸਨੂੰ Structured Query Language ਜਾਂ SQL ਕਹਿੰਦੇ ਹਨ। SQL (ਕਈ ਵਾਰੀ sequel ਉਚਾਰਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ) ਇੱਕ ਮਿਆਰੀ ਭਾਸ਼ਾ ਹੈ ਜੋ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਵਿੱਚ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਸੋਧਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਤੁਸੀਂ SELECT ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਇਸਦਾ ਮੂਲ ਹੈ ਕਿ ਤੁਸੀਂ ਉਹ ਕਾਲਮ ਚੁਣਦੇ ਹੋ ਜੋ ਤੁਸੀਂ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ FROM ਉਸ ਟੇਬਲ ਤੋਂ ਜਿੱਥੇ ਉਹ ਹਨ। ਜੇ ਤੁਸੀਂ ਸਿਰਫ ਸ਼ਹਿਰਾਂ ਦੇ ਨਾਮ ਦਿਖਾਉਣੇ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਵਰਤ ਸਕਦੇ ਹੋ:
SELECT city
FROM cities;
-- Output:
-- Tokyo
-- Atlanta
-- AucklandSELECT ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਕਾਲਮਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦੇ ਹੋ, ਅਤੇ FROM ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਟੇਬਲਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦੇ ਹੋ।
Note
SQL ਸਿੰਟੈਕਸ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੀ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ select ਅਤੇ SELECT ਇੱਕੋ ਜਿਹਾ ਹਨ। ਪਰ, ਤੁਸੀਂ ਜਿਸ ਕਿਸਮ ਦਾ ਡੇਟਾਬੇਸ ਵਰਤ ਰਹੇ ਹੋ ਉਸ ਦੇ ਅਨੁਸਾਰ ਕਾਲਮ ਅਤੇ ਟੇਬਲ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਹੋ ਸਕਦੇ ਹਨ। ਇਸ ਲਈ, ਇਹ ਇੱਕ ਵਧੀਆ ਅਭਿਆਸ ਹੈ ਕਿ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਵਿੱਚ ਹਰ ਚੀਜ਼ ਨੂੰ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਮੰਨਿਆ ਜਾਵੇ। SQL ਕਵੈਰੀਆਂ ਲਿਖਦੇ ਸਮੇਂ ਆਮ ਰਿਵਾਜ ਹੈ ਕਿ ਕੀਵਰਡਸ ਨੂੰ ਸਾਰੇ ਅੱਖਰ ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਲਿਖਿਆ ਜਾਵੇ।
ਉਪਰੋਕਤ ਕਵੈਰੀ ਸਾਰੇ ਸ਼ਹਿਰ ਦਿਖਾਏਗੀ। ਆਓ ਸੋਚੀਏ ਕਿ ਅਸੀਂ ਸਿਰਫ ਨਿਊਜ਼ੀਲੈਂਡ ਦੇ ਸ਼ਹਿਰ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਸਾਨੂੰ ਕਿਸੇ ਕਿਸਮ ਦਾ ਫਿਲਟਰ ਲਗਾਉਣਾ ਪਵੇਗਾ। ਇਸ ਲਈ SQL ਵਿੱਚ WHERE ਕੀਵਰਡ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ "ਜਿੱਥੇ ਕੁਝ ਸੱਚ ਹੈ"।
SELECT city
FROM cities
WHERE country = 'New Zealand';
-- Output:
-- Aucklandਹੁਣ ਤੱਕ ਅਸੀਂ ਸਿਰਫ ਇੱਕ ਟੇਬਲ ਤੋਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਹੈ। ਹੁਣ ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ cities ਅਤੇ rainfall ਦੋਹਾਂ ਤੋਂ ਡਾਟਾ ਇਕੱਠਾ ਕਰੀਏ। ਇਹ ਜੋੜਨ (joining) ਰਾਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਦੋ ਟੇਬਲਾਂ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਜੋੜ ਬਣਾਉਂਦੇ ਹੋ, ਅਤੇ ਹਰ ਟੇਬਲ ਦੇ ਇੱਕ ਕਾਲਮ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਮਿਲਾਉਂਦੇ ਹੋ।
ਸਾਡੇ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ rainfall ਵਿੱਚ city_id ਕਾਲਮ ਨੂੰ cities ਵਿੱਚ city_id ਕਾਲਮ ਨਾਲ ਮਿਲਾਵਾਂਗੇ। ਇਸ ਨਾਲ rainfall ਦਾ ਮੁੱਲ ਉਸਦੇ ਸੰਬੰਧਿਤ ਸ਼ਹਿਰ ਨਾਲ ਜੁੜ ਜਾਵੇਗਾ। ਜੋੜ ਦੀ ਕਿਸਮ ਜੋ ਅਸੀਂ ਕਰਾਂਗੇ, ਉਸਨੂੰ inner join ਕਹਿੰਦੇ ਹਨ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜੇ ਕੋਈ ਕਤਾਰ ਦੂਜੇ ਟੇਬਲ ਵਿੱਚ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀ, ਤਾਂ ਉਹ ਦਿਖਾਈ ਨਹੀਂ ਦੇਵੇਗੀ। ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ ਹਰ ਸ਼ਹਿਰ ਦਾ rainfall ਹੈ, ਇਸ ਲਈ ਸਾਰਾ ਡਾਟਾ ਦਿਖਾਇਆ ਜਾਵੇਗਾ।
ਆਓ ਸਾਰੇ ਸ਼ਹਿਰਾਂ ਲਈ 2019 ਦਾ rainfall ਪ੍ਰਾਪਤ ਕਰੀਏ।
ਅਸੀਂ ਇਹ ਕਦਮ-ਦਰ-ਕਦਮ ਕਰਾਂਗੇ। ਪਹਿਲਾ ਕਦਮ ਹੈ ਡਾਟਾ ਨੂੰ ਜੋੜਨਾ, ਜਿਸ ਲਈ ਅਸੀਂ ਜੋੜ ਬਣਾਉਣ ਵਾਲੇ ਕਾਲਮ - city_id ਨੂੰ ਦਰਸਾਵਾਂਗੇ।
SELECT cities.city
rainfall.amount
FROM cities
INNER JOIN rainfall ON cities.city_id = rainfall.city_idਅਸੀਂ ਉਹ ਦੋ ਕਾਲਮ ਹਾਈਲਾਈਟ ਕੀਤੇ ਹਨ ਜੋ ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ, ਅਤੇ ਇਹ ਵੀ ਕਿ ਅਸੀਂ ਟੇਬਲਾਂ ਨੂੰ city_id ਨਾਲ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਹੁਣ ਅਸੀਂ ਸਿਰਫ ਸਾਲ 2019 ਲਈ ਫਿਲਟਰ ਲਗਾਉਣ ਲਈ WHERE ਬਿਆਨ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ।
SELECT cities.city
rainfall.amount
FROM cities
INNER JOIN rainfall ON cities.city_id = rainfall.city_id
WHERE rainfall.year = 2019
-- Output
-- city | amount
-- -------- | ------
-- Tokyo | 1874
-- Atlanta | 1111
-- Auckland | 942ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਕਈ ਟੇਬਲਾਂ ਵਿੱਚ ਜਾਣਕਾਰੀ ਵੰਡਣ 'ਤੇ ਕੇਂਦਰਿਤ ਹੁੰਦੇ ਹਨ, ਜੋ ਫਿਰ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਵਾਪਸ ਇਕੱਠੇ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਇਹ ਗਣਨਾਵਾਂ ਕਰਨ ਅਤੇ ਡਾਟਾ ਨੂੰ ਹੋਰ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਉੱਚ ਪੱਧਰ ਦੀ ਲਚਕੀਲਾਪਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਦੇ ਮੁੱਖ ਸਿਧਾਂਤ ਵੇਖੇ ਹਨ, ਅਤੇ ਦੋ ਟੇਬਲਾਂ ਵਿਚਕਾਰ ਜੋੜ ਕਿਵੇਂ ਕਰਨਾ ਹੈ।
ਇੰਟਰਨੈੱਟ 'ਤੇ ਕਈ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਉਪਲਬਧ ਹਨ। ਤੁਸੀਂ ਉਪਰ ਦਿੱਤੀਆਂ ਸਿੱਖਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਾਟਾ ਦੀ ਖੋਜ ਕਰ ਸਕਦੇ ਹੋ।
ਤੁਹਾਡੇ ਲਈ SQL ਅਤੇ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਸਿਧਾਂਤਾਂ ਦੀ ਖੋਜ ਜਾਰੀ ਰੱਖਣ ਲਈ Microsoft Learn 'ਤੇ ਕਈ ਸਰੋਤ ਉਪਲਬਧ ਹਨ
- ਰਿਲੇਸ਼ਨਲ ਡਾਟਾ ਦੇ ਸਿਧਾਂਤਾਂ ਦਾ ਵਰਣਨ ਕਰੋ
- Transact-SQL ਨਾਲ ਕਵੈਰੀ ਕਰਨ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰੋ (Transact-SQL SQL ਦਾ ਇੱਕ ਸੰਸਕਰਣ ਹੈ)
- Microsoft Learn 'ਤੇ SQL ਸਮੱਗਰੀ
ਅਸਵੀਕਾਰੋਪੱਤਰ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮਰਥਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਉਤਪੰਨ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।
