Skip to content

Latest commit

 

History

History
190 lines (128 loc) · 21.9 KB

File metadata and controls

190 lines (128 loc) · 21.9 KB

ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ

 Sketchnote by (@sketchthedocs)
ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ - 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 ਨਾਲ ਸੰਖੇਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ

cities

city_id ਸ਼ਹਿਰ ਦੇਸ਼
1 ਟੋਕੀਓ ਜਪਾਨ
2 ਐਟਲਾਂਟਾ ਸੰਯੁਕਤ ਰਾਜ
3 ਆਕਲੈਂਡ ਨਿਊਜ਼ੀਲੈਂਡ

✅ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਅਸੀਂ ਇਸ ਪਾਠ ਦੌਰਾਨ "id" ਅਤੇ "primary key" ਸ਼ਬਦਾਂ ਨੂੰ ਬਦਲ-ਬਦਲ ਕੇ ਵਰਤਦੇ ਹਾਂ। ਇੱਥੇ ਦਿੱਤੇ ਸਿਧਾਂਤ DataFrames 'ਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦੇ ਹਨ, ਜਿਸਨੂੰ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਖੋਜੋਗੇ। DataFrames "primary key" ਸ਼ਬਦਾਵਲੀ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੇ, ਪਰ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਉਹ ਇਸੇ ਤਰ੍ਹਾਂ ਵਰਤਦੇ ਹਨ।

ਸਾਡੇ cities ਟੇਬਲ ਬਣ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਆਓ rainfall ਸਟੋਰ ਕਰੀਏ। ਸ਼ਹਿਰ ਬਾਰੇ ਪੂਰੀ ਜਾਣਕਾਰੀ ਨਕਲ ਕਰਨ ਦੀ ਬਜਾਏ, ਅਸੀਂ id ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਸਾਨੂੰ ਇਹ ਵੀ ਯਕੀਨੀ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਨਵਾਂ ਬਣਾਇਆ ਟੇਬਲ ਵਿੱਚ ਵੀ ਇੱਕ id ਕਾਲਮ ਹੋਵੇ, ਕਿਉਂਕਿ ਸਾਰੇ ਟੇਬਲਾਂ ਵਿੱਚ id ਜਾਂ ਪ੍ਰਾਇਮਰੀ ਕੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

rainfall

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
-- Auckland

SELECT ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਕਾਲਮਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦੇ ਹੋ, ਅਤੇ 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 'ਤੇ ਕਈ ਸਰੋਤ ਉਪਲਬਧ ਹਨ

ਅਸਾਈਨਮੈਂਟ

ਹਵਾਈ ਅੱਡੇ ਦਾ ਡਾਟਾ ਦਿਖਾਉਣਾ


ਅਸਵੀਕਾਰੋਪੱਤਰ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮਰਥਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਉਤਪੰਨ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।