SQL குறியீட்டின் வாசிப்புத்திறன் மற்றும் அதன் முக்கியத்துவம்
மென்பொருள் உருவாக்கத்திலும் தரவு பகுப்பாய்விலும் SQL வினவல்கள் மிக முக்கிய பங்கு வகிக்கின்றன. பல நேரங்களில், பல வரிகளைக் கொண்ட சிக்கலான வினவல்கள் முறையான உள்தள்ளல் (indentation) மற்றும் வடிவமைப்பு இல்லாமல் எழுதப்படும்போது, அவற்றைப் படித்துப் புரிந்துகொள்வது கடினமாகிறது. ஒழுங்கற்ற முறையில் எழுதப்பட்ட குறியீடுகள் பிழைத்திருத்தம் (debugging) செய்வதற்கும், பிற உருவாக்குநர்களுடன் இணைந்து பணியாற்றுவதற்கும் தடையாக அமைகின்றன.
முறையாக வடிவமைக்கப்பட்ட SQL குறியீடு, வினவலின் தர்க்கத்தை எளிதாகப் புரிந்துகொள்ள உதவுகிறது. இது தரவுத்தள நிர்வாகிகளுக்கும் (DBAs), தரவு பகுப்பாய்வாளர்களுக்கும், மென்பொருள் உருவாக்குநர்களுக்கும் குறியீட்டில் உள்ள பிழைகளை விரைவாகக் கண்டறிய வழிவகுக்கிறது. SQL ஃபார்மேட்டர் கருவியானது, இத்தகைய சிக்கலான மற்றும் படிக்கக் கடினமாக இருக்கும் SQL குறியீடுகளை உடனடியாகப் படித்துப் புரிந்துகொள்ளும் வகையில் சீரமைத்துத் தருகிறது.
ஆதரிக்கப்படும் SQL வகைகள் மற்றும் உள்ளீட்டு அளவீடுகள்
வெவ்வேறு தரவுத்தள மேலாண்மை அமைப்புகள் (DBMS) தங்களுக்கே உரிய பிரத்யேக SQL தொடரியல் மற்றும் முக்கிய வார்த்தைகளைக் கொண்டுள்ளன. இந்த வேறுபாடுகளைக் கையாள்வதற்காக, இக்கருவி பின்வரும் பத்து வகையான SQL வகைகளை (dialects) ஆதரிக்கிறது:
- Standard SQL
- PostgreSQL
- MySQL
- MariaDB
- SQL Server (T-SQL)
- Oracle (PL/SQL)
- SQLite
- BigQuery
- Snowflake
- Spark SQL
பயனர்கள் தங்களின் தரவுத்தளத்திற்குப் பொருந்தும் வகையைத் தேர்வு செய்யும்போது, அதற்கேற்ப முக்கிய வார்த்தைகளும் மேற்கோள்களும் துல்லியமாகக் கையாளப்படுகின்றன.
உள்ளீட்டு வரம்புகள் மற்றும் வடிவமைப்பு விருப்பங்கள்
இக்கருவியில் அதிகபட்சமாக 300,000 எழுத்துகள் (characters) வரையிலான SQL வினவல்களை உள்ளீடாக வழங்க முடியும். உள்ளீட்டை வடிவமைக்கும்போது பயனர்கள் தங்களின் தேவைக்கேற்ப பின்வரும் அமைப்புகளைத் தனிப்பயனாக்கலாம்:
- உள்தள்ளல்: குறியீட்டின் கட்டமைப்பை ஒழுங்குபடுத்த 2 இடைவெளிகள் (2 spaces), 4 இடைவெளிகள் (4 spaces) அல்லது Tab ஆகியவற்றில் ஒன்றைத் தேர்வு செய்யலாம்.
- முக்கிய வார்த்தைகள்: SQL கட்டளைச் சொற்களை பெரிய எழுத்து, சிறிய எழுத்து அல்லது மாற்றாமல் அப்படியே (Keep) வைக்கும்படி அமைக்கலாம்.
குறியீட்டு பகுப்பாய்வு மற்றும் வெளியீட்டு அளவீடுகள்
SQL குறியீடு வடிவமைக்கப்பட்டவுடன், அதன் வெளியீட்டுடன் சேர்த்து சில முக்கிய புள்ளிவிவர அளவீடுகளும் காட்டப்படுகின்றன. இதில் வடிவமைக்கப்பட்ட குறியீட்டின் வரிகள், எழுத்துகள் மற்றும் அளவு ஆகிய விவரங்கள் அடங்கும்.
மேலும், இக்கருவி வினவலின் கட்டமைப்பை பகுப்பாய்வு செய்து, அதன் ஒவ்வொரு பகுதியும் என்ன செய்கிறது என்பதை எளிய தமிழில் விளக்குகிறது. இந்த விளக்கம் தரவுத்தளத்தின் செயலாக்கத் திட்டத்தை (execution plan) விவரிக்காமல், வினவலின் தர்க்க அமைப்பை மட்டுமே விவரிப்பதால், பகுதி அல்லது குறிப்பிட்ட நிறுவனத்திற்குரிய SQL குறியீடுகளிலும் வேலை செய்யும்.
பகுப்பாய்வின் போது கண்டறியப்படும் பொதுவான SQL கூற்றுகளின் வகைகள் (Statement Kinds) மற்றும் அவற்றின் விளக்கங்கள் கீழே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளன:
| கூற்றின் வகை (Statement Kind) | எளிய தமிழ் விளக்கம் |
|---|---|
SELECT |
எதையும் மாற்றாமல் வரிகளைப் படித்துத் திருப்பித் தரும் ஒரு வினவல். |
INSERT |
அட்டவணையில் புதிய வரிகளைச் சேர்க்கிறது. |
UPDATE |
ஏற்கனவே உள்ள வரிகளின் மதிப்புகளை மாற்றுகிறது. |
DELETE |
அட்டவணையில் இருந்து வரிகளை நீக்குகிறது. |
CREATE |
அட்டவணை, வியூ அல்லது குறியீட்டு எண் (index) போன்ற புதிய பொருளை வரையறுக்கிறது. |
ALTER |
ஏற்கனவே உள்ள ஒரு பொருளின் வரையறையை மாற்றுகிறது. |
DROP |
தரவுத்தளத்தில் இருந்து ஒரு பொருளை நிரந்தரமாக நீக்குகிறது. |
TRUNCATE |
அட்டவணையை காலி செய்து, அனைத்து வரிகளையும் நீக்குகிறது. |
WITH |
தொடர்ந்து வரும் வினவலுக்காக ஒரு தற்காலிக முடிவை (CTE) உருவாக்குக்கிறது. |
MERGE |
ஒரே ஒருங்கிணைந்த செயல்பாட்டில் வரிகளைச் சேர்க்கிறது, புதுப்பிக்கிறது அல்லது நீக்குகிறது. |
OTHER |
ஒரு SQL கூற்று. |
SQL கூறுகளின் செயல்பாடுகளும் அவற்றின் பங்கும்
ஒரு SQL வினவலில் உள்ள ஒவ்வொரு பகுதிக்கும் (clause) ஒரு குறிப்பிட்ட பங்கு (role) உள்ளது. இக்கருவி வினவலைப் பகுப்பாய்வு செய்து, ஒவ்வொரு பகுதியின் பங்கையும் பின்வருமாறு விளக்குகிறது:
- SELECT: திருப்பித் தரப்படும் நெடுவரிசைகள் மற்றும் வெளிப்பாடுகள்.
- SELECT DISTINCT: நகல் வரிகள் நீக்கப்பட்டு திருப்பித் தரப்படும் நெடுவரிசைகள்.
- FROM: தரவு பெறப்படும் அட்டவணை (அல்லது துணை வினவல்).
- JOIN: ஒவ்வொரு வரியையும் மற்றொரு அட்டவணையின் பொருந்தும் வரிகளுடன் இணைக்கிறது.
- WHERE: இந்த நிபந்தனைக்குப் பொருந்தும் வரிகளை மட்டுமே தக்கவைக்கிறது.
- GROUP BY: வரிகளை குழுக்களாக இணைக்கிறது, இதனால் COUNT அல்லது SUM போன்ற திரள் மதிப்புகளைக் கணக்கிட முடியும்.
- HAVING: திரள் மதிப்புகள் கணக்கிடப்பட்ட பிறகு அக்குழுக்களை வடிகட்டுகிறது.
- ORDER BY: பெறப்பட்ட வரிகளை வரிசைப்படுத்துகிறது.
- LIMIT: திரும்பி வரும் வரிகளின் எண்ணிக்கையை வரம்பிற்குள் வைக்கிறது.
- OFFSET: முடிவுகளைத் திருப்பித் தருவதற்கு முன் குறிப்பிட்ட எண்ணிக்கையிலான வரிகளைத் தவிர்க்கிறது.
- UNION: இந்த முடிவுகளை மற்றொரு வினவலின் முடிவுகளுடன் இணைக்கிறது.
- VALUES: செருகப்படும் வரி மதிப்புகள்.
- INTO: புதிய வரிகளைப் பெறும் அட்டவணை.
- SET: ஒதுக்கப்பட வேண்டிய புதிய நெடுவரிசை மதிப்புகள்.
- UPDATE: வரிகள் மாற்றப்படும் அட்டவணை.
- DELETE FROM: வரிகள் நீக்கப்படும் அட்டவணை.
- WITH: கீழே பயன்படுத்தப்படும் பெயரிடப்பட்ட தற்காலிக முடிவுத் தொகுப்பை வரையறுக்கிறது.
- STATEMENT: கூற்று, உள்ளவாறே காட்டப்படுகிறது.
விதிகள் மற்றும் விதிவிலக்கான சூழல்கள்
இக்கருவியைப் பயன்படுத்தும் போது சில குறிப்பிட்ட விதிகள் மற்றும் வரம்புகள் பின்பற்றப்படுகின்றன:
- அளவு வரம்பு: உள்ளீடு செய்யப்படும் SQL குறியீடு 300,000 எழுத்துகளுக்கு மேல் இருந்தால், "இந்த வினவல் செயலாக்க முடியாத அளவுக்குப் பெரியதாக உள்ளது. சிறிய ஒன்றை முயற்சிக்கவும்." என்ற பிழை செய்தி காட்டப்படும்.
- தொடரியல் பிழைகள்: உள்ளீட்டு குறியீட்டில் ஏதேனும் தொடரியல் பிழைகள் (syntax errors) இருந்தால், "இந்த SQL-ஐ வடிவமைக்க முடியவில்லை — தொடரியலைச் சரிபார்க்கவும்." என்ற செய்தி காட்டப்படும். இத்தகைய பிழைகள் ஏற்படும் போது, முந்தைய சரியான வெளியீடு திரையில் இருந்து நீக்கப்படாது.
- அழித்தல் செயல்பாடு: பயனர்கள் "அழி" பொத்தானைக் கிளிக் செய்யும்போது, உள்ளீடு மற்றும் வெளியீட்டுப் பகுதிகள் காலியாக்கப்பட்டு, பிழை விவரங்கள் மறைக்கப்பட்டு, "அழிக்கப்பட்டது." என்று காட்டப்படும்.
- விளக்க வரம்பு: ஒரு வினவலில் பல கூற்றுகள் இருக்கும்போது, அதிகபட்சமாக முதல் 25 கூற்றுகள் மட்டுமே பகுப்பாய்வு செய்யப்பட்டு விளக்கப்படும். அதற்கு மேல் கூற்றுகள் இருந்தால், "முதல் 25 மட்டுமே காட்டப்படுகின்றன." என்ற குறிப்புடன் விளக்கம் நிறுத்தப்படும்.
- உள்ளூர் சேமிப்பு: பயனர்களின் வசதிக்காக, தட்டச்சு செய்யப்பட்ட வரைவுகள் (drafts) மற்றும் இருண்ட பயன்முறை (theme preferences) போன்ற அமைப்புகள் உலாவியிலேயே உள்ளூர் சேமிப்பகத்தில் சேமிக்கப்படுகின்றன.
தரவு தனியுரிமை மற்றும் பாதுகாப்பு
தரவு பாதுகாப்பு மற்றும் தனியுரிமைக்கு இக்கருவி முன்னுரிமை அளிக்கிறது. உங்கள் SQL குறியீடு முழுமையாக உங்கள் உலாவியிலேயே வடிவமைக்கப்பட்டு பகுப்பாய்வு செய்யப்படுகிறது. BroBroGo-விற்கு எந்தவொரு தரவும் பதிவேற்றப்படுவதில்லை. உங்கள் SQL குறியீடு உங்கள் பக்கத்தை விட்டு வெளியேறாது என்பதால், முக்கியமான வினவல்களையும் பாதுகாப்பாக வடிவமைக்க முடியும்.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
இது எந்தெந்த SQL வகைகளை (dialects) வடிவமைக்கும்?
Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake மற்றும் Spark SQL. உங்கள் தரவுத்தளத்திற்குப் பொருந்தும் ஒன்றைத் தேர்வுசெய்யவும், இதனால் முக்கிய வார்த்தைகளும் மேற்கோள்களும் அதற்கேற்ப கையாளப்படும்.
எளிய தமிழ் விளக்கம் எவ்வாறு செயல்படுகிறது?
இது வினவலின் கட்டமைப்பைப் படித்து — SELECT, FROM, JOIN, WHERE, GROUP BY மற்றும் ORDER BY போன்ற ஒவ்வொரு பகுதியையும் பகுப்பாய்வு செய்து — அவை ஒவ்வொன்றும் என்ன செய்கின்றன என்பதை விளக்குகிறது. இது தரவுத்தளத்தின் செயலாக்கத் திட்டத்தை (execution plan) விவரிக்காமல், வினவலின் வடிவத்தை மட்டுமே விவரிப்பதால், பகுதி அல்லது குறிப்பிட்ட நிறுவனத்திற்குரிய SQL குறியீடுகளிலும் வேலை செய்யும்.
தயாரிப்பு வினவல்களை (production queries) இங்கே ஒட்டுவது பாதுகாப்பானதா?
ஆம். வடிவமைப்பும் பகுப்பாய்வும் முழுமையாக உங்கள் உலாவியிலேயே இயங்குகின்றன — உங்கள் SQL குறியீடு பக்கத்தை விட்டு வெளியேறாது.
உள்ளீட்டு குறியீட்டில் பிழை இருந்தால் என்ன நடக்கும்?
உள்ளீட்டு குறியீட்டில் தொடரியல் பிழைகள் இருந்தால், "இந்த SQL-ஐ வடிவமைக்க முடியவில்லை — தொடரியலைச் சரிபார்க்கவும்." என்ற செய்தி காட்டப்படும். எனினும், முந்தைய வெற்றிகரமான வெளியீடு திரையில் இருந்து மறையாது.