தேடுதல் வேட்டை

Saturday, January 24, 2009

எளிய தமிழில் SQL - பாகம் 1

தமிழ்நெஞ்சத்தின் இந்த முயற்சியை மனதார பாராட்டி மகிழ்கிறேன்...

எளிய தமிழில் SQL - பாகம் 1
SQL என்பதன் விரிவு என்ன?

Structured Query Language

SQLன் பயன்கள் யாவை?

Databaseன் தகவல்களைத் தேடி எடுப்பது,
புதிய தகவலை ஏற்றுவதற்கு,
பழைய விவரங்களை மாற்றுவதற்கு,
அழிப்பதற்கு மற்றும் இன்னும் நிறைய விசயங்களுக்கு SQL பயன்படுகிறது.
Database களில் இருக்கும் தகவல்களை எடுக்க / கொடுக்க SQL உதவுகிறது.

Query என்றால் கேள்வி, விசாரணை, தேடுதல் என அர்த்தம் கொள்ளலாம்.


சரி எடுத்த எடுப்பில் Database என ஆரம்பித்துவிட்டேன்.
அது என்ன Database?

பாய்ஸ் படத்தில் நடிகர் செந்தில், மணிகண்டனுடன் ஒரு கையடக்க நோட்டுப்புத்தகத்தை வைத்துக்கொண்டு ”எந்தக் கோவிலில் எந்த நேரத்தில் என்ன கொடுப்பார்கள்”? என புள்ளிவிவர அறிக்கை விடுவார்.

ஒரு வசனம் பேசுவார் - Information, Information is Wealth என்பார். அது யாரோ எழுதிக்கொடுத்த வசனம் அல்ல. எழுத்தாளர் சுஜாதா பாய்ஸ் படத்துக்காக எழுதிக்கொடுத்த வசனம்தான். இது ஒரு நகைச்சுவை உதாரணம்.

கீழே ஒரு எளிய Table வடிவம் ஒன்றைத் தருகிறேன்.

ஒவ்வொரு வகுப்பறைக்கும், ஒரு வருகைப்பதிவேடு வைத்திருப்பார்கள்.
அதில் மாணவர் பெயர், தேதி போன்றவை இருக்கும். அதில் தினமும் மாணவர் வந்திருக்கிறாரா? இல்லையா எனக் குறித்துக்கொள்வார்கள்.

மாத இறுதியில் ஒரு குறிப்பிட்ட மாணவர் எத்தனை நாட்கள் வந்திருந்தார்? அல்லது எத்தனை நாட்கள் வரவில்லை எனக் கணக்கிட்டுக்கொள்ளலாம்.

இதில் மாணவர் பெயர், தேதி முதலியவற்றை Field அல்லது Column எனலாம்.
மாணவரின் பெயர் எழுத்து வடிவில் இருக்கும்.
அதனை String / Character / Variable character என்போம்.

தேதி என்பது month-date-year அல்லது date/month/year போன்ற ஒரு வடிவில் அமைந்திருக்கும். இது இரண்டாவது Field ஆகும்.

மாணவர் பெயர் ---> character(50)
தேதி ---> datetime

ஒரு மாணவருக்காக எவ்வளவு எழுத்துகளை அதிகபட்சமாக ஒதுக்குகிறோம் என்பதே அடைப்புக்குறிக்குள் தரப்படுகிறது.

உதாரணமாக மாணவரின் பெயர் ‘Babu’ எனக் கொண்டால் அவருடைய பெயரின் எழுத்துக்களின் எண்ணிக்கை 4.
’valpaiyan @ Arun The Hero’ எனக் கொண்டால் அவருடைய பெயரின் ஒட்டுமொத்த எழுத்துக்களின் எண்ணிக்கை 25.

இப்படி ஒவ்வொருவரின் பெயரில் உள்ள எழுத்துக்களின் எண்ணிக்கை வித்தியாசப்படுகிறது. ஆகவே நாமாகவே ஒரு உச்சமதிப்பு ஒன்றை கொடுத்துவிடவேண்டும். இங்கே character(50) எனக் கொடுத்தால் Name என்கிற Field / Column ல் அதிகபட்சமாக 50 எழுத்துக்களைப் பதிவுசெய்ய இயலும் எனக் கொள்க.


மாணவர் பெயர் ---> character(50)
தேதி ---> datetime இவை இரண்டும் இரண்டு Column எனக் கொண்டால், இவற்றினை ஒட்டுமொத்தமாக ஒரு Table எனலாம்.

ஒரு Table என்பது பல Field களின் தொகுப்பு.

ஒரு Field என்பது குறிப்பிட்ட ஒரே மாதிரியான தகவலின் தொகுப்பு.

ஒவ்வொரு Fieldலும் நாம் பதிவு செய்யப்போகிற தகவலின் அடிப்படையில், எந்த மாதிரியான தகவலைப் பதிவு செய்யப் போகிறோம் என்பதை அதன் Data Type மூலம் நிர்ணயிக்கலாம்.

மாணவரின் பெயரை character(50) என்றோம். இங்கே 50 என்பது எத்தனை எழுத்துக்கள் என்பதைக் குறிக்கிறது. character என்பது ஒரு Data Type ஆகும்.

தேதி --> datetime இங்கு datetime என்பது மற்றொரு வகை Data Type ஆகும்.

எழுத்துக்களைப் பதியும்போது character, எண்களைப்பதியும்போது numbers (int,bigint,decimal,float). தேதியைக் குறிக்கும்போது datetime என ஒவ்வொரு வகையான தகவலுக்கும் ஒவ்வொரு DataType உள்ளது.

ஆகவே Data Type என்பது தகவலின் வகையைக் குறிப்பதாகும்.

SQL வாயிலாக ஒரு Table ஐ உருவாக்க / மாற்ற / அழிக்க / தகவலைத் தேட இயலும்.

Table என்பதில் பல Columns இருக்கும். ஒவ்வொரு Columnன் தகவலின் வகையை DataType மூலம் நிர்ணயிக்கலாம். எவ்வளவு எழுத்துகள் என்பதை அடைப்புக்குறிக்குள் சொல்கிறோம்.

உங்கள் கணினியில் SQL கட்டளைகளை இயக்கிப் பார்ப்பதற்காக Microsoft SQL Server 2005 Express Edition மென்பொருளை இலவசமாகத் தரவிறக்கி உங்கள் கணினியில் நிறுவிக்கொள்ளவும்.

பின் குறிப்பு : வாரத்திற்கு 2 முறையாவது இந்த எளிய தமிழில் SQL என்கிற தொடர் பதிவுகளை அளிக்கலாம் என முன்வந்துள்ளேன். உங்கள் ஆதரவு தேவை.

பல பதிவுகளை பிற ஆங்கில வலைப்பூக்களில் இருந்து மொழிபெயர்த்துப் போட்டிருக்கிறேன். அதற்கு ஆதரவளித்த அன்புள்ளங்களுக்கு நன்றி. அதுபோல இந்தத் தொடரின் வெற்றி உங்கள் கையில்தான் உள்ளது.

முதலில் சில terms உங்களுக்குக் குழப்பமாக இருப்பினும் தொடர்ந்து படியுங்கள். இங்கே குறிப்பிடும் உதாரணங்களை கணினியில் செய்து பாருங்கள். வித்தியாசத்தை நீங்களே உணர்வீர்கள்.

இங்கே இனிவரும் காலங்களில் நான் கொடுக்கப்போகும் உதாரணங்களை இயக்கிப் பார்க்க இந்த இலவச மென்பொருளை உங்கள் கணினியில் நிறுவிக்கொள்ளவும்.

http://www.microsoft.com/downloads/details.aspx?FamilyID=220549b5-0b07-4448-8848-dcc397514b41&DisplayLang=en

எனது நோக்கம் என்னவெனில் இந்தத் தொடரின் மூலம் புதியவர்களுக்கு Database பற்றியும், SQL பற்றியும் அறிந்துகொள்ளும் ஒரு வாய்ப்பை உருவாக்கித் தருவதே.

நன்றிகளுடன்,

தமிழ்நெஞ்சம்.

6 comments:

Tech Shankar said...

Thanks Ravi.

முகவை மைந்தன் said...

அறிமுகத்துக்கு நன்றி, ரவி.

aravindaan said...

good work, keep continue

நசரேயன் said...

நல்ல முயற்சி, வாழ்த்துகள்

Santhosh said...

நல்ல முயற்சி ரவி.

Anonymous said...

Thanks Mr.Ravi.keep up the good work.Awaiting for ur next post.