Friday, February 13, 2009

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

பாகம் 15ல் திரு G. ராஜாராமன், சவுதி அரேபியா அவர்கள் கீழ்க்கண்ட கேள்வியை எழுப்பி இருந்தார். அவருக்கு விடையளிக்கும் விதமாக இந்தப்பதிவு அமைகிறது.

இதன்மூலம் Front End, back end போன்றவற்றைத் தெரிந்துகொள்வதுடன் அவை எதற்காகப் பயன்படுகின்றன என்பதையும் அறிந்துகொள்வீர்கள்.


அவர் கேட்ட கேள்வி :

மிகவும் அழகாக தொடரை வழங்கிக் கொண்டு இருக்கின்ற நண்பருக்கு மிக்க நன்றி. நண்பரே எனக்கு ஒரு சந்தேகம் உள்ளது. அதனை தாங்கள் தீர்ப்பீர்கள் என நம்புகிறேன்.

எனது அலுவலகத்தில் Inventory Sotware பயன்படுத்துகின்றனர். இந்த Inventory sotware ஐ கணிப்பொறியில் C அல்லது D ஏதேனும் ஒரு கோலனில் ( partition) copy & paste செய்துள்ளனர். பிறகு இதற்க்காக oracle developer 6i மற்றும் Power builder 5 ஐ install செய்துள்ளனர். பிறகு Paste செய்துள்ள Inventory software ல் உள்ள inventory.exe எனும் file ஐ click செய்தாள் inventory வேலை செய்கிறது. மேலும் இதன் மூலம் உள்ளீடு செய்யப்படுகின்ற தகவல் அனைத்தும் எங்கள் அலுவலகத்தில் தனியாக வைத்துள்ள server ல் பதிவாகிறது. இந்த Inventory software ஆனது network ல் system ல் மட்டும் வேலை
செய்கிறது.

எனது சந்தேகம் Oracle, Power Builder மற்றும் எங்களது Inventory software இவை மூன்றுக்கும் என்ன தொடர்பு?

எங்கள் அலுவலகத்தில் Inventory software எந்த software பயன்படுத்தி Create பண்ணியுள்ளனர். மேலும் நாம் பார்துவரும் sql serverக்கும் நான் மேலே கூரியவைகளுக்கும் ஏதேனும் தொடர்பு உள்ளதா? sql server ஐ பயன்படுத்தி table மட்டும் தான் create பண்ணமுடியுமா அப்படியன்றாள் MS-Access ஐ பயன்படுத்தியே இதனை செய்யலாமே, மேலும் sql server ல் Inventory software ஐ உருவாக்கமுடியுமா?

நண்பரே நான் எழுப்பியுள்ள சந்தேகத்தை நீங்கள் தீர்ப்பீர்கள் என அதனை நான் இங்கே வைத்துள்ளேன்.


நன்றியுடன்,

G. ராஜாராமன், சவுதி அரேபியா


இனி எனது பதில் :

Inventory Software ஐ Power Builder பயன்படுத்திச் செய்து Inventory.EXE ஐ உருவாக்கி இருப்பார்கள்.

அதன் முகப்புத்தோற்றங்கள் அனைத்தையும் Power Builder வழியாக எளிதாகச் செய்திருப்பார்கள்.

Power Builder, Visual Basic போன்றவற்றை Front End Tools என்போம். நீங்கள் அந்த பயன்பாட்டை இயக்கும்போது உங்கள் கண்முன்னே தெரியும் Textbox, combobox, Grid, dialog box இப்படி என்னவெல்லாம் கண்முன் தெரிகிறதோ அவையனைத்தையுமே ஒரு Front End ஐ வைத்தே உருவாக்கி இருப்பார்கள்.

உங்களிடம் இருந்து User Name, Password ஆகியவற்றை வாங்குவதற்காக உங்கள் கண்முன் தெரிகிறதே TextBox இவற்றை உருவாக்க உதவுவது Front End Tool.


ஆனால் உங்கள் User Name, Password போன்றவை எங்கே பதிவாகி இருக்கும்? அது ஒரு Back End ல் பதிவாகி இருக்கும். Back End tool க்கு உதாரணம்தான் Oracle, Sybase, MySQL, SQL Server எல்லாம்.

உங்களிடமிருந்து தகவலை வாங்குவதற்கு உதவும் முகப்புத்திரைகளை Front End Tool வாயிலாகச் செய்தபின், தகவல்கள் அனைத்தையும் பதிந்து வைப்பதற்காக Back End பயன்படுகிறது.

உங்கள் கணினியில் Power Builder இனிமேல் தேவைப்படாது. எப்போது? எந்தத் தவறுகளும் இல்லாத ஒரு Application ஐ உருவாக்கிய பிறகு அதன் Codings அனைத்தையும் சுருக்கி ஒரே கோப்பாகவோ, அல்லது Installation Package ஆகவோ கொடுப்பார்கள்.

அந்த Installation Package அல்லது ஒரு EXE ஐ வேறு ஒரு கணினியில் நிறுவியபிறகு (Install) Front End Tool தேவைப்படாது (உங்கள் கருத்துப்படி Power Builder).

ஆனால் அனைத்துத்தகவல்களையும் உங்கள் கருத்துரைப்படி Oracle ல் பதிவதால் Oracle கண்டிப்பாக Install செய்யப்பட்டு இருக்கவேண்டும்.

எப்போதெல்லாம் பழைய தகவல்கள் தேவைப்படுகிறதோ, அப்போதெல்லாம் அந்த EXE ஆனது Database உடன் தொடர்புகொண்டு தகவல்களை எடுத்துக்கொண்டுவந்து திரையில் காண்பிக்கும்.

எனது சந்தேகம் Oracl, Power Builder மற்றும் எங்களது Inventory software இவை 3 ற்க்கும் என்ன தொடர்பு?

நன்றாக நினைவில் கொள்ளவும் :
1) கண்முன்னே காணப்படும் திரைகளை, திரையில் தெரியும் தகவல்கள் அல்லாத பிற அம்சங்களை உருவாக்கத்தான் Power Builder.
2) Inventory.exe ஐ இயக்கியபிறகு அது கேட்கும் தகவல்களை நீங்கள் கொடுப்பீர்கள். அல்லது நீங்கள் கேட்கும் தகவல்களை அது கொடுக்கும். ஆக அனைத்துத்தகவல்களும் உங்களுடைய Oracle databaseல் இருந்துதான் வருகிறது.
3) எதை நீங்கள் பதிந்தாலும் உங்களது Oracleல் தான் பதிவாகும்.
4) எதை நீங்கள் எடுத்தாலும் உங்களது Oracleல் இருந்துதான் எடுப்பீர்கள்.

Inventory.EXEஐ உருவாக்கிய பிறகும் எதற்காக மீண்டும் PowerBuilder ஐ நிறுவுகிறார்கள்.

இந்த Application ல் எந்த விதமான பிழைகளும் இல்லாமல் இருப்பின் Power Builder ஐ நிறுவவேண்டிய அவசியம் இல்லை.
ஏதேனும் பிழைகளோ அல்லது புதிய அம்சங்களை உங்களது Inventory Applicationல் சேர்க்கவேண்டிய கட்டாயமோ இருப்பின் PowerBuilder ஐ ஒரு ஓரமாக நிறுவிக்கொள்வார்கள்.
புதிய அம்சங்களை, புதிய மேம்பாடுகளை உங்கள் Applicationல் உருவாக்குவதற்காக Power Builderல் புதிய நிரல்களை எழுதுவார்கள்.

ஏற்கனவே எழுதிய நிரல்களின் தொகுப்புதான் ஒரு Inventory.exe இதை நினைவில் வைக்கவும்.

புதிதாகச் சேர்க்கப்படவேண்டிய புதிய அம்சங்கள், மேம்பாடுகள் (Updates) போன்றவற்றை உருவாக்குவதற்காக PowerBuilder மூலம் ஏற்கனவே உள்ள codingஉடன் புதிதாக coding எழுதி அனைத்தையும் ஒருங்குபடுத்தி (Integrate) மீண்டும் ஒரு புதிய Inventory.exe ஐ உருவாக்குவார்கள். அல்லது புதிய Installation package உருவாக்குவார்கள்.

ஒவ்வொரு முறையும் உங்களது தேவைக்கேற்றபடி Applicationல் மாற்றங்கள் செய்யப்படவேண்டும் என்றால் - ஒவ்வொரு முறையும் புதிது புதிதாக coding எழுதவோ அல்லது ஏற்கனவே எழுதப்பட்ட Coding ல் மாறுதல் செய்யவோதான் Power Builderஐ பயன்படுத்துகிறார்கள். எல்லா மாற்றங்களும் , மேம்பாடுகளும் செய்யப்பட்ட பிறகு கிடைக்கக்கூடிய புதிய EXE ஐ உங்களுக்கு வழங்குவார்கள்.

Oracleக்குப் போட்டியாளர் மென்பொருள்தான் SQL Server.
PowerBuilder க்குப் பதிலாக Visual Basic, C#, VC++ போன்றவற்றைப் பயன்படுத்தி Front End உருவாக்கலாம்.

MS-Access என்பது ஒரு மிகச்சிறிய அளவிலான தகவல்களைக் கையாள்வதற்குப் பயன்படும் Database தான்.

மிகப்பிரமாண்டமான அளவில் இருக்கும் தகவல்களைக் கையாள்வதற்கு Oracle, SQL Server போன்றவற்றைப் பயன்படுத்தலாம்.

MS-Access ஐப் பயன்படுத்தியும் Inventory Applicationஐச் செய்யலாம். ஆனால் அதன் மூலம் மிக அதிக அளவிலான தகவல்களைக் கையாள இயலாது.

Table என்பதை வெறும் Table எனத்தப்புக் கணக்குப் போட்டுவிடவேண்டாம். அனைத்துத் தகவல்களுமே இந்த Tableகளில்தான் Row by Row ஆகப் பதிவாகி இருக்கின்றன என்பதை மறந்துவிடவேண்டாம்.

இத்தனை மில்லியன் தகவல்களில் குறிப்பிட்ட தகவலைத் தேடி எடுக்கவே Query பயன்படுகிறது. இந்த queryகளை எழுத SQL உதவுகிறது.

SQL Server என்பது ஒரு பயன்பாடு. இதன் மூலம் பல Databaseகளை உருவாக்கிக்கொள்ளலாம். ஒவ்வொரு Databaseகளிலும் பல்வேறு Tableகளையும் ஒவ்வொரு Tableலும் ஏராளமான Rows இருக்கும்.

இந்தப் பதிவை முதல்முறை படிக்கும்போது புரியாமல் போவதற்கு வாய்ப்பளிக்கக்கூடாது என்பதற்காகவே குறிப்பிட்ட வரிகளைத் திரும்பத் திரும்ப எழுதியுள்ளேன்.

14 comments:

rajaraman_ecs said...

மிக அழகாகவும் தெளிவாகவும் பதில் அளித்தமைக்கு நன்றி நன்றி நன்றி.........

அன்புடன்

G.ராஜாராமன் சவுதி அரேபியா

rajaraman_ecs said...

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

அன்புடன்
G.ராஜாராமன் சவுதி அரேபியா

Tech Shankar said...

எத்தனை Front End வந்தாலும் ஏதேனும் ஒரு Database கண்டிப்பாகத் தேவை.
Web / Windows / Non-Windows எதுவாக இருப்பினும் ஏதேனும் ஒரு Database தேவைப்பட்டே தீரும்.

SQL என்பது அனைத்து Databaseக்கும் common ஆக இருக்கக் கூடிய ஒன்று. எல்லாமே தகவல்களைப் பாதுகாப்பாக வைக்க உதவுபவைதான். இப்போது சந்தை மிகவும் கீழே போகிவிட்டது. எப்போது இது மீண்டும் நல்ல நிலைக்கு வரும் என்பது தெரியவில்லை. சந்தையின் சரிவு சரிக்கட்டப்படும் நாள் எப்போது?

rajaraman_ecs said...

உடனுக்குடன் தகவல்களை அளித்துக்கொண்டு இருக்கின்ற தமிழ்நெஞ்சத்தார்க்கு எனது கோடான கோடி நன்றி..........

அன்புடன்

G. ராஜாராமன் சவுதி அரேபியா

rajaraman_ecs said...

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

அன்புடன்

G.ராஜாராமன் சவுதி அரேபியா

rajaraman_ecs said...
This comment has been removed by the author.
Tech Shankar said...

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

rajaraman_ecs said...

நன்றி ..........

அன்புடன்

G.ராஜாராமன்

rajaraman_ecs said...

நண்பரே தொடர்ந்து இத்தொடரை தற அன்புடன் வேண்டுகிறேன்.

அன்புடன்
G.ராஜாராமன் சவுதி அரேபியா

rajaraman_ecs said...

நண்பரே,

தொடரை தொடர்ந்து தற அன்புடன் வேண்டுகிறேன்...

அன்புடன்

G. ராஜாராமன் சவுதிஅரேபியா

rajaraman_ecs said...

நண்பரே,

நான் தாங்கள் தொடர் அனைத்தையும் ஒரு புத்தகவடிவில் தயாரித்து அதனை படித்துக்கொண்டு வருகிறேன் மேலும் தொடரை தற அன்புடன் வேண்டுகிறேன்


G.ராஜாராமன் சவுதிஅரேபியா

Tech Shankar said...

I will try to post.

Thanks

rajaraman_ecs said...

thank u and expect u r post

by
G.Rajaraman, Saudi arabia

Tech Shankar said...

Thanks to : rajaraman_ecs

Please see 18th Post

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

பாகம் 15ல் திரு G. ராஜாராமன், சவுதி அரேபியா அவர்கள் கீழ்க்கண்ட கேள்வியை எழுப்பி இருந்தார். அவருக்கு விடையளிக்கும் விதமாக இந்தப்பதிவு அமைகிற...