ஆதாயங்கள்:
- வலுவான SQL மற்றும் பாண்டாஸ் குறியீட்டை எடுத்து, செயற்கை நுண்ணறிவுக்கு தெளிவான திட்டத்தையும் நோக்கத்தையும் வழங்குவதன் மூலம் அதை வரிக்கு வரி படித்து சரிபார்க்கும் திறன்
- இணைத்தல்/சேர்ந்த பிறகு வரிசை எண்ணிக்கை, பொருத்துதல் செயல்பாடு மற்றும் செயல்திறன் போன்ற அமைதியான பிழைகளைப் பிடிக்கும் திறன்
- பிழைத்திருத்தத்தில் உள்ள சிக்கலை அமைதிப்படுத்தாமல் தீர்க்கும் திறன் மற்றும் உற்பத்தி சூழலில் குறியீட்டை சோதிக்காமல் இயக்குவதைத் தவிர்க்கவும்
தரவு அறிவியலில் இரண்டு முதன்மை மொழிகள் உள்ளன: SQL (கட்டமைக்கப்பட்ட வினவல் மொழி - தரவுத்தளங்களிலிருந்து தரவை வினவுவதற்கான மொழி) மற்றும் பைதான் (குறிப்பாக, பாண்டாஸ் நூலகம் - அட்டவணைகளை நிரல் முறையில் கையாளுவதற்கான நிலையான கருவி). இந்த யூனிட்டில், AI ஐ ஒரு குறியீடு கூட்டாளராகப் பயன்படுத்தக் கற்றுக்கொள்வோம்: அதிலிருந்து திடமான SQL மற்றும் பாண்டாஸ் குறியீட்டைப் பெறுவது, சரியான கேள்விகளுடன், அந்தக் குறியீட்டைப் படித்து சரிபார்ப்பது, பிழைத்திருத்தம் செய்வது மற்றும் அதை ஒருபோதும் கண்மூடித்தனமாக இயக்குவது. AI நிமிடங்களுக்குப் பதிலாக வினாடிகளில் மீண்டும் மீண்டும் வரும் குறியீட்டை எழுதுகிறது; ஆனால் அது உருவாக்கும் குறியீடு சரியான நெடுவரிசையை சரியான தர்க்கத்துடன் செயலாக்குகிறது என்பதை உறுதிப்படுத்துவது உங்கள் வேலை. வேலை குறியீடு என்பது சரியான குறியீட்டைக் குறிக்காது.
AI உடன் குறியீட்டை உருவாக்குவது ஏன் சக்தி வாய்ந்தது ஆனால் ஆபத்தானது
குறியீடு உருவாக்கத்தில் AI மூன்று பெரிய நன்மைகளை வழங்குகிறது: வேகம் (வினாடிகளில் 30-வரி குரூப்-பை-பிவோட் செயல்பாட்டை எழுதுகிறது), நினைவூட்டல் (நீங்கள் மறந்துவிட்ட ஒரு பாண்டாஸ் செயல்பாட்டை உங்களுக்கு நினைவூட்டுகிறது) மற்றும் கற்பித்தல் (கோட் வரியை வரியாக விளக்குகிறது). ஆனால் இது மூன்று அபாயங்களைக் கொண்டுள்ளது: அமைதியான தர்க்கப் பிழை (தவறான நெடுவரிசை பிழைகள் இல்லாமல் இயங்கும் குறியீடு), பொருத்தப்பட்ட செயல்பாடு (இல்லாத முறையைப் பரிந்துரைக்கிறது), மற்றும் ஈவுட் ட்ராப் (சிறிய தரவுகளில் வேலை செய்யும் ஆனால் 10 மில்லியன் வரிசைகளில் செயலிழக்கும் குறியீடு). எனவே தங்க விதி: AI இன் குறியீட்டை நீங்களே எழுதியது போல் படிக்கவும். உங்களுக்கு புரியாத வரியை இயக்க வேண்டாம்.
SQL: மூலத்தில் தரவு செயலாக்கம்
SQL ஆனது தரவுத்தளத்திலிருந்து தரவை மீட்டெடுத்து அங்கு செயலாக்க அனுமதிக்கிறது; கோடிக்கணக்கான வரிகளை பைத்தானுக்கு இழுக்காமல் சுருக்கிக் கூறலாம். அடிப்படை கட்டுமானத் தொகுதிகள்: தேர்ந்தெடு (எந்த நெடுவரிசைகள்), எங்கே (எந்த வரிசைகள்), குழு வாரியாக (குழு மற்றும் சுருக்கம்), சேர் (அட்டவணைகளில் சேரவும்), HAVING (குழுவுக்குப் பின் வடிகட்டி). சிக்கலான JOINகள் மற்றும் சாளர செயல்பாடுகளை எழுத AI மிகவும் உதவியாக உள்ளது, ஆனால் இரண்டு விஷயங்களைச் சரிபார்க்கவும்: சரியான விசை (தவறான விசை நகல் வரிசைகள்) வழியாக JOIN மற்றும் வடிகட்டி தர்க்கம் சரியானதா (குறிப்பாக NULL நடத்தை மற்றும் தேதி வரம்புகள்).
எச்சரிக்கை: AI-உருவாக்கிய SQL வினவலை நேரடியாக உற்பத்தி தரவுத்தளத்திற்கு எதிராக இயக்க வேண்டாம். முதலில் ஒரு சிறிய நகல் அல்லது LIMIT மூலம் சோதிக்கவும். WHERE நிபந்தனையை சரிபார்க்காமல் UPDATE/DELETE வினவலை ஒருபோதும் இயக்க வேண்டாம்; எங்கு தவறாக இருந்தால் முழு அட்டவணையையும் நீக்கலாம்.
மலைப்பாம்பு/பாண்டாக்கள்: நெகிழ்வான பகுப்பாய்வு
pandas என்பது பைத்தானில் அட்டவணைகளை (DataFrame) கையாளுவதற்கான நிலையான வழி. AI இன் மிகச் சிறந்த பயன்பாடானது, அதற்கு தெளிவான திட்டத்தையும் நோக்கத்தையும் வழங்குவதாகும். பொதுவாகப் பயன்படுத்தப்படும் செயல்பாடுகள்: வடிகட்டி, குழுவாக, ஒன்றிணைத்தல், பைவட்_டேபிள், விண்ணப்பிக்கவும். AI இவற்றை விரைவாக எழுதுகிறது; நீங்கள் சரிபார்க்க விரும்புவது லாஜிக்: சரியான நெடுவரிசையில் குழுவாக்கப்படுகிறதா, ஒன்றிணைப்பு எதிர்பாராத விதமாக வரிசைகளின் எண்ணிக்கையை மாற்றியிருக்கிறதா (ஒன்றிணைந்த பிறகு வரிசைகளின் எண்ணிக்கையை எப்போதும் சரிபார்க்கவும்), அசலை மாற்றும் சங்கிலி செயல்பாடுகள்.
பரிவர்த்தனை
SQL
பாண்டாக்கள்
சோதனைச் சாவடி
வடிகட்டுதல்
எங்கே
df[df.x > 5]
NULL/NaN நடத்தை
குழுவாக்கம்
குழு மூலம்
df.groupby()
இது சரியான நெடுவரிசையா?
ஒன்றிணைக்க
சேரவும்
df.merge()
வரிசை எண்ணிக்கை மாற்றம்
சுருக்கம்
AVG(), SUM()
.சராசரி(), .தொகை()
எந்த நெடுவரிசை சேகரிக்கப்பட்டது
வரிசைப்படுத்து
ஆர்டர் மூலம்
.sort_values()
திசை (ஏறும்/இறங்கும்)
இரட்டிப்பு
வேறுபட்டது
.drop_duplicates()
எந்த நெடுவரிசைகளில்?
பிழைத்திருத்தம்: AI உடன்
குறியீடு தோல்வியுற்றால், AI ஒரு சிறந்த பிழைத்திருத்த பங்காளியாகும். அதற்கு முழுப் பிழைச் செய்தியையும் தொடர்புடைய குறியீடு துணுக்கையும் கொடுங்கள். ஆனால் இரண்டு பொறிகளில் ஜாக்கிரதை. முதலில், AI பிழையை "அமைதியாக்கும்" ஒரு தீர்வை பரிந்துரைக்கலாம் (எ.கா., விழிப்பூட்டல்களை மறைத்தல்) - இது பிழையை சரிசெய்யாது, அதை மறைக்கிறது. இரண்டாவதாக, ஒரு சிக்கலை "தீர்க்கும்" போது AI சில நேரங்களில் அமைதியாக மற்றொரு நடத்தையை மாற்றுகிறது. விதி: பிழைத்திருத்தத்தைப் புரிந்து கொள்ளுங்கள், முடக்க வேண்டாம் என்பதைத் தீர்க்கவும், சரிசெய்த பிறகும் வெளியீடு சரியாக உள்ளதா என்பதைச் சரிபார்க்கவும்.
புரிந்துகொள்ளக்கூடிய மற்றும் பராமரிக்கக்கூடிய குறியீடு வேண்டும்
AI இலிருந்து குறியீட்டை வாங்கும் போது, "செயல்படும்" குறியீடு மட்டும் இல்லாமல், படிக்கக்கூடிய மற்றும் பராமரிக்கக்கூடிய குறியீட்டைக் கேட்கவும். நீங்கள் அல்லது ஒரு சக ஊழியர் அந்த குறியீட்டை மாதங்களுக்குப் பிறகு திறக்கும் போது, அது என்ன செய்கிறது என்பதைப் புரிந்து கொள்ள முடியும். இதைச் செய்ய, AI மூன்று விஷயங்களைச் சேர்ப்பதை வழக்கமாக்கிக் கொள்ளுங்கள்: அர்த்தமுள்ள மாறி பெயர்கள் (orders_temiz, df2 அல்ல), முக்கியமான படிகளில் குறுகிய கருத்து வரிகள் (ஏன், என்ன செய்யப்படுகிறது என்பதை விளக்குகிறது), மற்றும் மேஜிக் எண்ணுக்குப் பதிலாக பெயரிடப்பட்ட மாறிலி (0.85 குறியீட்டிற்குப் பதிலாக ACCEPT_ESIGI = 0.85). மேலும் நீண்ட ஒற்றை வரி சங்கிலிகளைத் தவிர்க்கவும் (ஒரு வரியில் ஐந்து செயல்களை இணைக்கிறது); இவை பிழைத்திருத்தத்தை கடினமாக்குகின்றன. இயல்பாக, AI பெரும்பாலும் சுருக்கமான மற்றும் "ஸ்மார்ட்" குறியீட்டை உருவாக்குகிறது; "படிக்கக்கூடிய, புரிந்துகொள்ளக்கூடிய, பராமரிக்கக்கூடியதாக எழுது" என்று நீங்கள் தெளிவாகச் சொன்னால், நீங்கள் மிகவும் பராமரிக்கக்கூடிய வெளியீட்டைப் பெறுவீர்கள். இது மறுஉருவாக்கம் (அலகு 10) அடிப்படையிலும் உள்ளது: புரிந்து கொள்ளப்படாத குறியீடு பாதுகாப்பாக மீண்டும் இயக்க முடியாத குறியீடு.
மூன்று சிறிய வழக்குகள்
வழக்கு 1 - இணை பிரதி. ஒரு ஆய்வாளர் ஆர்டர்களை தயாரிப்பு அட்டவணையுடன் இணைத்து மொத்த விற்றுமுதல் 3 மடங்கு அதிகமாக இருப்பதைக் கண்டறிந்தார். காரணம்: ஒவ்வொரு தயாரிப்புக்கும் தயாரிப்பு அட்டவணையில் பல வரிசைகள் (வெவ்வேறு நிறங்கள்) இருந்தன; JOIN ஒவ்வொரு ஆர்டரையும் நகலெடுக்கும். AI இன் குறியீடு "செயல்படுகிறது", ஆனால் வரிகளின் எண்ணிக்கை 240 ஆயிரத்தில் இருந்து 690 ஆயிரமாக உயர்ந்தது. பாடம்: இணைத்தல்/சேர்ந்த பிறகு வரிகளின் எண்ணிக்கையை எப்போதும் சரிபார்க்கவும்.
வழக்கு 2 - பொருத்துதல் செயல்பாடு. அவர் ஒரு பயிற்சியாளருக்கு AI df.groupby('x').summarize() ஐ பரிந்துரைத்தார்; பாண்டாக்களில் அத்தகைய முறை இல்லை (.agg() உள்ளது). குறியீடு வேலை செய்யவில்லை, பயிற்சியாளர் 20 நிமிடங்கள் தொலைந்தார். பாடம்: ஆவணத்திலிருந்து நீங்கள் அடையாளம் காணாத செயல்பாட்டைச் சரிபார்க்கவும்; AI முறைகளை உருவாக்க முடியும்.
வழக்கு 3 - மகசூல் சரிவு. ஒவ்வொரு வரிசைக்கும் பொருந்தும் தரவுத்தளத்தை ஒரு குறியீடு வினவுகிறது; இது 5,000 லைன்களில் ஓடி, 4 மில்லியன் லைன்களில் 9 மணிநேரம் எடுத்து, நிறுத்தப்பட்டது. AI ஒரு வெக்டரைஸ்டு (தொகுதி) தீர்வை பரிந்துரைத்தபோது, நேரம் 40 வினாடிகளாக குறைக்கப்பட்டது. பாடம்: சிறிய தரவுகளில் செயல்படும் குறியீடு பெரிய தரவுகளில் செயலிழக்கக்கூடும்; செயல்திறனைக் கருத்தில் கொள்ளுங்கள்.
நகலெடுக்கக்கூடிய நான்கு வார்ப்புருக்கள்
1) ஸ்கீமாவுடன் SQL ஐக் கோருகிறது:
உங்கள் பங்கு: SQL உதவியாளர் (PostgreSQL). அட்டவணைகள்:- ஆர்டர்கள்(ஐடி, வாடிக்கையாளர்_ஐடி, தேதி நேர முத்திரை, தொகை எண்)- வாடிக்கையாளர்கள்(ஐடி, நகர உரை)பணி: 2024 ஆம் ஆண்டில் ஒரு நகரத்தின் மொத்த விற்றுமுதல் மற்றும் ஆர்டர்களின் எண்ணிக்கையைப் பெறவும், இறங்கு வரிசையில் விற்றுமுதல் மூலம் வரிசைப்படுத்தவும். NULL நகரங்களை நீங்கள் எவ்வாறு கையாளுகிறீர்கள் என்பதை விளக்குங்கள். முதலில் LIMIT உடன் வினவலை சோதிப்பேன்; புதுப்பித்தல்/தலைமுறையை நீக்குதல்.
2) சோதனைச் சாவடியுடன் பாண்டாக்கள் செயல்முறை:
என்னிடம் DataFrames df (ஆர்டர்கள்) மற்றும் df_customers (வாடிக்கையாளர்கள்) உள்ளன. ஒரு நகரத்திற்கு சராசரி தொகையை கணக்கிடுங்கள். முக்கியமானது: ஒன்றிணைவதற்கு முன்னும் பின்னும் உள்ள வரிசைகளின் எண்ணிக்கையை அச்சிடுங்கள், அதனால் நகல் இருக்கிறதா என்று பார்க்க முடியும். நீங்கள் எந்த நெடுவரிசையில் இணைத்தீர்கள், ஏன் உள்/இடது என்பதைத் தேர்ந்தெடுத்தீர்கள் என்பதை விளக்குங்கள்.
3) குறியீடு விளக்கம் மற்றும் சரிபார்ப்பு:
பின்வரும் பாண்டாக்களின் குறியீட்டை வரிக்கு வரியாக விளக்குங்கள்: ஒவ்வொரு வரியும் என்ன செய்கிறது, அது என்ன அனுமானங்களைச் செய்கிறது, எந்தச் சமயங்களில் அது தவறான முடிவுகளைத் தரக்கூடும்? நான் ஃபட்ஜ் செயல்பாட்டைப் பயன்படுத்தியிருந்தால் எனக்குத் தெரியப்படுத்துங்கள். குறியீடு: [ஒட்டு]
4) பிழைத்திருத்தம்:
இந்த குறியீடு இந்த பிழையை அளிக்கிறது. முழு பிழை செய்தி: [ஒட்டு]. குறியீடு: [ஒட்டு]. பிழையின் மூல காரணத்தை விளக்கி அதை சரிசெய்யவும். உண்மையில் சிக்கலைத் தீர்ப்பதன் மூலம் அதைச் சரிசெய்யவும், விழிப்பூட்டலை அமைதிப்படுத்துவதன் மூலம் அல்ல. சரிசெய்தல் வெளியீட்டை மாற்றியதா என்பதையும் குறிப்பிடவும்.
பலவீனமான வரியில் / வலுவான வரியில்
பலவீனமான உடனடி:
ஒவ்வொரு நகரத்திற்கும் விற்பனையை வழங்கும் வினவலை எழுதவும்.
அட்டவணை பெயர்கள், நெடுவரிசைகள், தரவுத்தள வகை, NULL நடத்தை தெளிவாக இல்லை. AI பொதுவானது, இது உங்கள் அட்டவணைக்கு பொருந்தாத வினவலை உருவாக்கும்.
சக்திவாய்ந்த தூண்டுதல்:
உங்கள் பங்கு: SQL உதவியாளர் (MySQL 8). அட்டவணை: விற்பனை (ஐடி, சிட்டி வர்ச்சர், தொகை தசம, தேதி தேதி). பணி: 2024 ஆம் ஆண்டிற்கான மொத்த மற்றும் சராசரி தொகையைப் பெறுங்கள், ஒரு நகரத்திற்கு ஆர்டர்களின் எண்ணிக்கை; மொத்த தொகையால் வரிசைப்படுத்துதல் குறைகிறது; 100 க்கும் மேற்பட்ட ஆர்டர்களைக் கொண்ட நகரங்களை மட்டும் காட்டு (உள்ளது). NULL நகரத்தை விலக்கு. கேள்வியை விளக்கவும்; நான் LIMIT உடன் சோதனை செய்வேன்.
இங்கே தரவுத்தளம், ஸ்கீமா, வடிகட்டி, வரிசையாக்கம் மற்றும் NULL விதி தெளிவாக உள்ளன.
பொதுவான தவறுகள்
- குறியீட்டைப் படிக்காமல் இயக்குகிறது. வேலை குறியீடு சரியான குறியீடு அல்ல; தவறான நெடுவரிசையைக் கையாளும் குறியீடும் பிழைகள் இல்லாமல் இயங்கும்.
- ஒன்றிணைப்பு/சேர்ந்த பிறகு வரிசைகளின் எண்ணிக்கையைச் சரிபார்க்கவில்லை. தவறான விசை அமைதியாக வரிசைகளை நகலெடுக்கிறது மற்றும் மொத்த எண்ணிக்கையை உயர்த்துகிறது.
- பொருத்துதல் செயல்பாட்டைச் சரிபார்க்கவில்லை. AI இல்லாத முறைகளை பரிந்துரைக்கலாம்; நீங்கள் அதை அங்கீகரிக்கவில்லை என்பதை ஆவணத்திலிருந்து உறுதிப்படுத்தவும்.
- செயல்திறனைப் பற்றி சிந்திக்கவில்லை. மில்லியன் கணக்கான வரிசைகளில் சிறிய தரவு செயலிழப்புகளில் பணிபுரிதல்/லூப்; வெக்டரைஸ்.
- உற்பத்தி தரவுத்தளத்தில் நேரடியாக இயக்கவும். குறிப்பாக எங்கு அல்லது சோதனை இல்லாமல் UPDATE/DELETE ஐ இயக்குவது பேரழிவு தரும்.
உதவிக்குறிப்பு: AI இலிருந்து நீங்கள் பெறும் ஒவ்வொரு குறியீட்டிலும் "சரிபார்ப்பு வரி" சேர்க்கும் பழக்கத்தைப் பெறுங்கள்: முன் மற்றும் பின் செயலாக்க எண்ணிக்கையிலான வரிகள், சில மாதிரி வரிகள் மற்றும் கையால் முக்கியமான மொத்த எண்ணிக்கை. இந்த மூன்று காசோலைகளும் பெரும்பாலான அமைதியான தர்க்கப் பிழைகளைப் பிடிக்கின்றன.
சுருக்கமாக
AI என்பது SQL மற்றும் பாண்டாஸ் குறியீட்டை விரைவாக உருவாக்கும் ஒரு சக்திவாய்ந்த கூட்டாளியாகும், ஆனால் அது ஒரு குருட்டு அதிகாரம் அல்ல. திட்டத்தையும் நோக்கத்தையும் அவருக்குத் தெளிவாகக் கொடுங்கள்; அது உருவாக்கும் குறியீட்டை நீங்களே எழுதியது போல் படியுங்கள்; இணைத்தல்/சேர்ந்த பிறகு வரிசைகளின் எண்ணிக்கை, பொருத்துதல் செயல்பாடுகள் மற்றும் செயல்திறன் ஆகியவற்றைச் சரிபார்க்கவும்; உற்பத்தி தரவுத்தளத்தில் சோதனை செய்யாமல் அதை இயக்க வேண்டாம். பிழைத்திருத்தம் செய்யும் போது, சிக்கலைத் தீர்ப்பதை நோக்கமாகக் கொள்ளுங்கள், அதை அமைதிப்படுத்த வேண்டாம். வேலை செய்யும் குறியீடு சரியான குறியீடு அல்ல; நீங்கள் மட்டுமே துல்லியத்திற்கு உத்தரவாதம் அளிக்க முடியும்.
விண்ணப்ப பணி
பகுப்பாய்வுக் கேள்வியைத் தேர்வுசெய்யவும் (எ.கா. "ஒரு சேனலுக்கு மாதாந்திர விற்றுமுதல்") மற்றும் SQL மற்றும் பாண்டாக்கள் இரண்டிலும் AI இலிருந்து குறியீட்டைக் கோரவும். இரண்டு கோட் வரியையும் வரியாகப் படித்து, இணைத்தல்/சேர்ந்த பிறகு வரிகளின் எண்ணிக்கையைச் சரிபார்த்து, குறைந்தது ஒரு முக்கியமான தொகையை கைமுறையாகச் சரிபார்க்கவும். இரண்டு குறியீடுகளும் ஒரே முடிவைத் தருகின்றனவா என்பதை ஒப்பிடுக; வேறுபட்டால், ஏன் என்பதைக் கண்டறியவும்.
சரிபார்ப்பு பட்டியல்
- [ ] நான் அட்டவணை/திட்டம் மற்றும் நோக்கத்தை AIக்கு தெளிவாக வழங்கியிருக்கிறேனா?
- [ ] அது உருவாக்கிய குறியீட்டை வரிக்கு வரி நான் படித்து புரிந்து கொண்டேனா?
- [ ] இணைத்தல்/சேர்ந்த பிறகு வரிகளின் எண்ணிக்கையைச் சரிபார்த்தேன்?
- [ ] ஆவணத்தில் இருந்து நான் அடையாளம் காணாத செயல்பாடுகளை நான் சரிபார்த்துவிட்டேனா?
- [ ] நான் குறியீட்டை முதலில் பாதுகாப்பான/சிறிய தரவுகளில் சோதனை செய்தேனா, உற்பத்தி சூழலில் அல்லவா?