சேவைகள் |
CATEGORIES | |||||
|
கணினி |
கவிதைகள் |
பெண்கள் உலகம் |
சிறுவர் பூங்கா |
உடல்நலம் |
தமிழ் சினிமா |
ஆன்மீகம் |
நகைச்சுவை(ங்க...)! | ||||||
|
Email Subscribe |
Serch |
|
Statistics |
Online Users |
|
Site Friend |
|
இணைப்பு கொடுக்க |
Code : |
Vote Plz.. |
|
Main » Articles » மென்பொருள் கற்க » எளிய தமிழில் SQL | [ Add new entry ] |
எளிய தமிழில் SQL - பாகம் 11
எளிய தமிழில் SQL - பாகம் 11 இன்று ஒரு சிறிய செயல்முறைப் பயிற்சியை மேற்கொள்வோம். இதற்காக நாம் ஒரு புதிய Tableஐ உருவாக்குவோம். அதற்குரிய Structure கீழே : இந்தப்படத்தில் RegNoக்குறிய Columnல் Primary key க்கான படம் சிறிய சாவியாகக்குறிக்கப்பட்டுள்ளது. ஒரு Column ஐ Primary key ஆக எப்படி மாற்றுவது? அந்தக்குறிப்பிட்ட Columnஐத் தேர்வு செய்யவும். பிறகு Right Click செய்து,வரக்கூடிய சிறிய menu வில் Set Primary key எனக் கொடுக்கவும். அவ்வளவுதான்Columnஐ, Primary key எனக் குறித்தாயிற்று. அதனால் ஒவ்வொரு நபருக்கும்நாம் கொடுக்கவேண்டிய பதிவு எண் (Registration Number)ணை மாற்றி, மாற்றிக்கொடுக்கவேண்டும். ஒரு நபருக்குக் கொடுத்த எண்ணையே மற்றோர் நபருக்குத்திரும்பவும் கொடுத்தால் பிழைச்செய்தி வரும். ஒவ்வொரு Rowன் RegNo ஐயும்வித்தியாசப்படுத்தவே Primary key ஐத் தேர்வுசெய்கிறோம். TableStructureஐ Close செய்துவிட்டு, ஒரு Table Name கொடுத்துப் பதிவுசெய்கிறோம். (MarkStatement என்று பெயர்கொடுத்திருக்கிறேன்). நினைவகத்தில்வன்வட்டு (hard disk)ல் பதிவாகிவிடும். இதில் Total, Average,Result ஆகிய Columnளுக்கு மட்டும் Allow Nulls என்பதற்கு நேராக Tickசெய்துள்ளோம். ஆகவே Total, Average, Result ஆகியவற்றுக்கு மட்டும்தகவல்களை உள்ளீடு செய்யவேண்டிய அவசியம் இல்லை. பிறகு ஒரு UPDATE மூலம்அவற்றைக் கணக்கிட்டுக்கொள்ளலாம். இப்போது இந்த அட்டவணை (Table)ல் ஒவ்வொரு Rowவாகத் தகவல்களைக் கொடுக்கப்போகிறோம். இதற்காக MarkStatement ல் Right Click செய்து வரும் சிறு menuவில், Open Table தேர்வுசெய்யவும். இங்கேஒவ்வொரு Rowவாக Table ல் தகவல்களை ஏற்றும்போது, Total,Average,Resultஆகியவற்றுக்கான மதிப்புகளை NULL ஆகவே விட்டுவிட்டு மற்ற Columnகளுக்குஉரிய மதிப்புகளை மட்டும் கொடுத்தால் போதும். நம் செயல்முறைகளுக்கு, 10 Rows மட்டும் போதும். அதற்காக இதைக் Close செய்யவும். இப்போது,UPDATE மூலம் Total,Average,Result ஆகியவற்றை எப்படி நிரப்புவது என்பதைக்காண்போம். இதற்காக T-SQL Editorஐத் திறந்து கொள்ளவும். இதற்காக Databaseஐத் தேர்வு செய்தபிறகு, New Queryஎன்னும் ஒரு Toolbar ன் buttonஐத் தேர்வு செய்யவும். வலதுபுறம் உள்ள காலியிடமே T-SQL Editor ஆகும். அங்கே கீழ்க்கண்ட வரிகளை எழுதுங்கள். UPDATE dbo.MarkStatement SET Total = Tamil + English + Maths இதன்விளைவாக Total என்கிற Columnல் மூன்று பாடங்களில் அவரவர்கள் வாங்கியமதிப்பெண்களைக் கூட்டி வரும் விடை நிரப்பப்பட்டுவிடும். இந்த UPDATE ல்எந்த WHEREம் இல்லாததால் அனைத்து Rowsம் மாற்றப்பட்டுவிடும். எனக்குக் கிடைத்த விடை : (10 row(s) affected) இப்போது SELECT * FROM MarkStatement - இதை ஓட்டிப்பார்த்து Total Column மதிப்பை உடனே அறிந்துகொள்ளலாம். Average ( சராசரி ) காண்பதற்காக : UPDATE dbo.MarkStatement SET Average = Total / 3 மூன்றையும் கூட்டி மூன்றால் வகுத்தால் வரும் விடை இங்கே சராசரி ஆகும் (Average). கீழ்க்கண்டவரியை இயக்கினால் எந்தெந்த மாணவர்கள் தேர்ச்சியுற்றிருக்கிறார்களோஅவர்களுக்கு மட்டும் PASS என Result Columnன் மதிப்பை மாற்றிவிடலாம். UPDATE dbo.MarkStatement SET [Result] = 'PASS' WHERE Tamil >= 35 AND English >= 35 AND Maths >= 35 Tamil,English, Maths ஆகிய 3 மாறுபட்ட பாடங்களிலும், அனைத்துப் பாடங்களிலும்குறைந்தபட்சம் 35 மதிப்பெண்கள் எடுத்தவர்களுக்கு PASS போட்டு விடப்படும். ANDஎனப்படும் தர்க்கரீதியிலான Logical Operator ஆனது, அனைத்துக்கட்டுப்பாடுகளுக்கும் சம்மதிக்கக் கூடிய Rows ஐ மட்டும் பிரித்தெடுத்துஅவைகளை மட்டும் UPDATE செய்ய அனுமதிக்கும். விடை : (8 row(s) affected) UPDATE dbo.MarkStatement SET [Result] = 'FAIL' WHERE Tamil <> மேற்கண்டவரியை இயக்கினால், ஏதேனும் ஒரு பாடத்தில் மட்டுமாவது 35 மதிப்பெண்களைவிடக்குறைவாகப் பெற்றவர்களுக்கு மாத்திரம் FAIL போடப்பட்டுவிடும். OR எனப்படும் தர்க்கரீதியிலான Logical Operator ஆனது ஏதேனும் ஒரு கட்டுப்பாட்டுக்காவது சம்மதிக்கும் Rows ஐ UPDATE செய்துவிடும். கிடைத்த விடை : (2 row(s) affected) இப்போது SELECT * FROM MarkStatement - இதை ஓட்டிப்பார்த்து Total, Average, Result Columnகளில் Update செய்யப்பட்ட மதிப்பை அறிந்துகொள்ளலாம். ஹரி, மற்றும் பானு இருவர் மட்டும் தோல்வியடைந்துள்ளனர். மீதி அனைவரும் தேர்ச்சியடைந்துள்ளனர். அதிகபட்ச மதிப்பெண்ணைக் காண : SELECT MAX(total) FROM Markstatement இதன் விடை : 267 MAX( ) என்பது Maximum ஒரு உள்ளமைந்த built-in Function ஆகும். இதுகுறிப்பிட்ட Columnல் இருக்கும் அனைத்து மதிப்புகளிலும் மிக உயர்ந்தது எதுஎன்பதைக் கண்டறிய உதவும். ஏற்கனவே முந்தைய பாடத்தில் UPPER ( ) , GETDATE ( ) போன்ற Functions ஐப் பார்த்திருக்கிறோம். அதைப் போன்றே இது. குறைந்தபட்ச மதிப்பெண் யாது? SELECT MIN(Total) FROM Markstatement இதன் விடை : 118 MIN() என்பது Minimum ஒரு உள்ளமைந்த built-in Function ஆகும். இது குறிப்பிட்டColumnல் இருக்கும் அனைத்து மதிப்புகளிலும் மிகக் குறைவானது எது என்பதைக்கண்டறிய உதவும். முதல் மதிப்பெண்ணைப் பெற்றவர்களது தகவல்களைக் கண்டறிய : SELECT * FROM MarkStatement WHERE TOTAL = (SELECT MAX (Total) FROM Markstatement) அல்லது, DECLARE @M INT SET @M= ( SELECT MAX(Total) FROM MarkStatement ) SELECT * FROM MarkStatement WHERE Total = @M எனக் கொடுக்கலாம். இதன் விடை கீழே : தேர்வில் தோல்வியடைந்தவர்களின் records ஐ அழித்துவிடுவோம். அதற்காக, DELETE FROM MarkStatement WHERE [Result] = 'FAIL' நன்றி தமிழ் நெஞ்சம் Source: http://tamilsql.blogspot.com/2009/02/sql-11.html | |
Views: 1498 | |
Total comments: 0 | |