வினவல் அமைப்பு மொழி (SQL) - Study Notes
பாடச் சுருக்கம்
வினவல் அமைப்பு மொழி (SQL) என்பது உறவுநிலை தரவுத்தள மேலாண்மை அமைப்புகளில் (RDBMS) உள்ள தரவுகளை அணுகவும், நிர்வகிக்கவும் மற்றும் கையாளவும் பயன்படும் ஒரு நிலையான மொழி ஆகும். இந்த அத்தியாயம் தரவுத்தளங்களை உருவாக்குதல், நிர்வகித்தல், வினவல் மூலம் தரவுகளைத் மீட்டெடுத்தல் மற்றும் அட்டவணைகளில் மாற்றங்கள் செய்தல் போன்ற அடிப்படையான SQL கட்டளைகளைப் பற்றி விரிவாக விளக்குகிறது. தரவு வரையறை மொழி (DDL), தரவு கையாளுதல் மொழி (DML), மற்றும் தரவு வினவல் மொழி (DQL) ஆகிய முக்கியக் கூறுகள் இதில் அடங்கும்.
கற்றல் நோக்கங்கள்
- SQL-ன் முக்கியத்துவம் மற்றும் அதன் செயலாக்கத் திறன்களைப் புரிந்து கொள்ளுதல்.
- தரவு வரையறை மொழி (DDL) மற்றும் தரவு கையாளுதல் மொழி (DML) கட்டளைகளுக்கு இடையிலான வேறுபாடுகளை அறிதல்.
- CREATE TABLE கட்டளையை பல்வேறு கட்டுப்பாடுகளுடன் (Constraints) பயன்படுத்தி புதிய அட்டவணையை உருவாக்குதல்.
- INSERT, UPDATE, மற்றும் DELETE கட்டளைகளைப் பயன்படுத்தி தரவுத்தளத்தில் புதிய தரவுகளைச் சேர்த்தல், திருத்துதல் மற்றும் நீக்குதல்.
- SELECT வினவலைப் பயன்படுத்தி பல்வேறு நிபந்தனைகளின் அடிப்படையில் தரவுகளை வடிகட்டுதல் மற்றும் வரிசையாக்குதல்.
முக்கியக் கருத்துக்கள் மற்றும் வரையறைகள்
தரவு வரையறை மொழி (DDL)
தரவுத்தளத்தின் கட்டமைப்பு அல்லது திட்ட வடிவத்தை (Schema) வரையறுக்கப் பயன்படும் கட்டளைகளின் தொகுப்பாகும். இதில் CREATE, ALTER, DROP, மற்றும் TRUNCATE போன்ற கட்டளைகள் அடங்கும்.
தரவு கையாளுதல் மொழி (DML)
அட்டவணையில் உள்ள தரவுகளைச் சேர்க்க, மாற்றியமைக்க அல்லது நீக்கப் பயன்படும் கட்டளைகளின் தொகுப்பாகும். இதில் INSERT, UPDATE, மற்றும் DELETE போன்ற கட்டளைகள் முக்கியப் பங்கு வகிக்கின்றன.
முதன்மைக் திறவுச்சொல் கட்டுப்பாடு (Primary Key Constraint)
ஒரு அட்டவணையில் உள்ள ஒவ்வொரு பதிவையும் தனித்துவமாக அடையாளம் காணப் பயன்படும் ஒரு சிறப்புப் புலமாகும். இது காலியாக (NULL) இருக்கக் கூடாது மற்றும் நகல் (Duplicate) மதிப்புகளைக் கொண்டிருக்கக் கூடாது.
NOT NULL கட்டுப்பாடு
ஒரு குறிப்பிட்ட புலத்தில் காலியான அல்லது வெற்று மதிப்புகள் (NULL values) நுழைப்பதைத் தடுக்கும் ஒரு பாதுகாப்பு விதியாகும்.
ORDER BY மற்றும் GROUP BY கூறுகள்
ORDER BY என்பது வினவல் முடிவுகளை ஏறுவரிசையிலோ அல்லது இறங்குவரிசையிலோ வரிசைப்படுத்தப் பயன்படுகிறது. GROUP BY என்பது ஒரே மாதிரியான தரவுகளைக் கொண்ட வரிசைகளைத் தொகுதிகளாகப் பிரிக்கப் பயன்படுகிறது.
செயல்முறை விளக்கங்கள்
1. புதிய அட்டவணையை உருவாக்குதல்
புலக் கட்டுப்பாடுகளுடன் புதிய அட்டவணையை உருவாக்கப் பயன்படும் முறை:
கட்டளை வடிவம்: CREATE TABLE Student ( Admno INTEGER PRIMARY KEY, Name char(20) NOT NULL, Gender char(1), Age integer, Place char(10) );
விளக்கம்: இங்கே Admno முதன்மைத் திறவுச்சொல்லாகவும், Name காலியாக இருக்கக் கூடாது என்றும், இதர விவரங்கள் அவற்றுக்குரிய தரவு வகைகளுடனும் குறிக்கப்பட்டு புதிய அட்டவணை உருவாக்கப்பட்டுள்ளது.
2. புதிய தரவுகளைச் சேர்த்தல்
உருவாக்கப்பட்ட அட்டவணையில் ஒரு புதிய பதிவைச் சேர்க்கும் முறை:
கட்டளை வடிவம்: INSERT INTO Student (Admno, Name, Gender, Age, Place) VALUES (100, 'Ashish', 'M', 17, 'Chennai');
3. தரவுகளை வினவுதல்
குறிப்பிட்ட நிபந்தனையின் அடிப்படையில் தரவுகளைத் தேர்ந்தெடுத்துப் பார்க்கும் முறை:
கட்டளை வடிவம்: SELECT Admno, Name FROM Student WHERE Place = 'Chennai' AND Age is greater than or equal to 18;
பொதுவான தேர்வுத் தவறுகள்
- DELETE மற்றும் DROP கட்டளைகளுக்கு இடையிலான வேறுபாடு: பல மாணவர்கள் இவற்றுக்கிடையே குழப்பமடைகிறார்கள். DELETE என்பது அட்டவணையில் உள்ள குறிப்பிட்ட அல்லது அனைத்துப் பதிவுகளையும் நீக்கப் பயன்படும் DML கட்டளையாகும் (அட்டவணையின் கட்டமைப்பு அழியாது). ஆனால் DROP என்பது அட்டவணையை அதன் முழு கட்டமைப்போடு தரவுத்தளத்திலிருந்து நீக்கும் DDL கட்டளையாகும்.
- TRUNCATE மற்றும் DELETE வேறுபாடு: TRUNCATE என்பது அட்டவணையின் அனைத்துப் பதிவுகளையும் நீக்கி, அதற்கு ஒதுக்கப்பட்ட நினைவக இடத்தை உடனடியாக விடுவிக்கும் DDL கட்டளையாகும்; ஆனால் DELETE நினைவக இடத்தை விடுவிப்பதில்லை.
- WHERE மற்றும் HAVING வேறுபாடு: WHERE என்பது தனிப்பட்ட வரிசைகளை வடிகட்டப் பயன்படுகிறது மற்றும் இதனை குழுச் சார்புகளுடன் (Aggregate Functions) பயன்படுத்த முடியாது. ஆனால் HAVING என்பது GROUP BY உடன் இணைந்து குழுக்களின் முடிவுகளை வடிகட்ட மட்டுமே பயன்படுகிறது.
தேர்வு குறிப்புகள்
- SQL-ன் ஐந்து முக்கியப் பிரிவுகளையும் (DDL, DML, DCL, TCL, DQL) அவற்றின் கீழ் வரும் முக்கியக் கட்டளைகளையும் அட்டவணைப்படுத்தி மனப்பாடம் செய்து கொள்ளுங்கள்.
- தேர்வில் வினவல் எழுதும் போது உரை மதிப்புகளுக்கு (Varchar/Char) ஒற்றை மேற்கோள் குறி இடுவதை மறக்கக் கூடாது. எண்களுக்கு மேற்கோள் குறி தேவையில்லை.
- முதன்மைத் திறவுச்சொல் (Primary Key) எப்பொழுதும் NOT NULL மற்றும் UNIQUE பண்புகளைத் தானாகவே கொண்டிருக்கும் என்பதை நினைவில் வைத்துக் கொள்ளுங்கள்.