தமிழ் இணையக் கல்விக்கழகம் - TAMIL VIRTUAL ACADEMY

மொழிகள்

Diploma Course - P20324- வினவல்கள் (Queries)

  • 4.3 வினவல்கள் (Queries)

    தரவுத்தளத்தைக் கையாள்வதற்கென்றே தனிச்சிறப்பாய் வடிவமைக்கப்பட்ட ‘கட்டமைவு வினவல் மொழி’ (Structured Query Language) தரவுத்தளத்தின் அங்கமாகத் திகழ்கிறது. அட்டவணைகளையும் தரவுகளையும் கையாள இம்மொழியில் எழுதப்படும் கட்டளை ‘வினவல்’ (Query) எனப்படுகிறது. பெரும்பாலும் அட்டவணையிலிருந்து நிபந்தனைகளுக்குட்பட்ட தரவுகளைப் தேர்ந்தெடுத்துப் பார்வையிட வினவல்கள் பயன்படுகின்றன. ஏடுகளை நீக்கவும், தரவுகளைத் திருத்தியமைக்கவும் பயன்படுத்தும் கட்டளைகளும் வினவல் என்றே அழைக்கப்படுகின்றன. இத்தகைய வினவல் வகைகளையும், அவற்றின் பயன்பாடுகளையும் அறிந்துகொண்டபின், சிலவகை வினவல்களை உருவாக்கும் வழிமுறைகளையும் இப்பாடப் பிரிவில் காண்போம்.

    4.3.1 வினவல் வகைகள்

       அக்செஸ் மென்பொருளில் உருவாக்கிப் பயன்படுத்தும் வினவல்கள் ஆறு வகைப்படும்:

    (1) தேர்ந்தெடுப்பு வினவல் (Select Query):

    ஒரு அட்டவணையிலிருந்தோ ஒன்றுக்கு மேற்பட்ட அட்டவணைகளிலிருந்தோ குறிப்பிட்ட ஏடுகளைத் தேர்ந்தெடுத்துப் பார்வையிடலாம். அனைத்துப் புலங்களையும் அல்லது குறிப்பிட்ட புலங்களை மட்டும் தேர்ந்தெடுத்துப் பார்வையிடலாம். தேர்வு வினவல்கள் வலைப்பின்னலாய் உள்-வினவல்களைக் (Sub-queries) கொண்டிருக்க முடியும்.

    (2) குறுக்குக் கீற்று வினவல் (Crosstab Query):

    எக்செல் மென்பொருளில் படித்த ஆய்ந்தறி அட்டவணையை நினைவு கூருங்கள். அதைப்போன்று ஓர் அட்டவணையிலுள்ள சில புலங்களை நெடுக்கையிலும், சில புலங்களைக் கிடக்கையிலும் அமைத்துத் தரவுகளைத் தொகுத்து வெளியிடச் செய்வது.

    (3) அட்டவணை உருவாக்கு வினவல் (Make-Table Query):

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

    (4) தரவு மாற்றியமைப்பு வினவல் (Update Query):

    ஓர் ஏட்டிலுள்ள அல்லது ஒன்றுக்கு மேற்பட்ட ஏடுகளிலுள்ள, ஒரு புல மதிப்பையோ அல்லது ஒன்றுக்கு மேற்பட்ட புல மதிப்புகளையோ மாற்றியமைப்பது.

    (5) ஏடுகள் சேர்ப்பு வினவல் (Append Query):

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

    (6) ஏடுகள் அழிப்பு வினவல் (Delete Query):

    ஓர் அட்டவணையில் குறிப்பிட்ட நிபந்தனைகளுக்கு உட்பட்ட ஏடுகளை மட்டும் அழித்துவிடுவது.

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

    4.3.2 வினவல்களின் பயன்பாடு

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

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

    4.3.3 வினவல் வடிவாக்கம்

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

    வினவலை வடிவமைக்கும் முன்பாகச் சில முன்னேற்பாடுகளைச் செய்ய வேண்டும். தரவுத்தளச் சாளரத்தில் Objects பட்டியலில் Queries தேர்ந் தெடுத்துக் கருவிப் பட்டையில் New பொத்தானை அழுத்தவும். New Query உரையாடல் பெட்டியில் Design View தேர்ந்தெடுத்து OK பொத்தானை அழுத்தவும். Select Query சாளரமும் Show Table உரையாடல் பெட்டியும் திறக்கும். வினவலின் பெயர் முன்னியல்பாக Query1 என இருக்கும். Employee அட்டவணையைத் தேர்ந்தெடுத்து, Add பொத்தானை அழுத்தியபின் Close பொத்தானை அழுத்தவும். உரையாடல் பெட்டி மறையும். வினவல் சாளரத்தின் மேற்பகுதியில் Employee அட்டவணைக் கட்டமும் கீழ்ப்பகுதியில் புலத்தேர்வு கட்டங்களும் காட்சியளிக்கும். ஏடுகளைப் பெயரில் அகர வரிசைப்படி அமைக்கும் தேர்ந்தெடுப்பு வினவலை வடிவமைக்கும் முறையைப் பார்ப்போம்.

    வரிசைப்படுத்தல்: வினவல் சாளரத்தில் வரிசையான வடிவாக்கக் கட்டங்களில் முதல் கட்டத்தில் Field என்பதில் சொடுக்கி, Employee.* என்பதைத் தேர்ந்தெடுங்கள். அட்டவணையின் அனைத்துப் புலங்களும் என்று பொருள். அடுத்த கட்டத்தில் Name புலத்தைத் தேர்ந்தெடுங்கள். Sort என்பதில் Ascending தேர்ந்தெடுக்கவும். Show என்னும் தேர்வுப் பெட்டியிலுள்ள சரிக்குறியை நீக்கி விடுங்கள்.

    படம் 4.3.3 (அ) ஏடுகளை வரிசைப்படுத்தும் வினவல்

    இனி அக்செஸ் சாளரத்தில் கருவிப் பட்டையிலிருக்கும் வியப்புக்குறி (Run) பொத்தானை அழுத்தவும். வினவல் சாளரத்தில் பணியாளர்களின் பெயர்கள் அகர வரிசையில் அமைந்து அட்டவணையிலுள்ள ஏடுகள் காட்சியளிக்கும். சாளரத்தை மூடுங்கள். Query1-இன் வடிவமைப்பைச் சேமிக்கவா எனக் கேட்கும். Yes பொத்தானை அழுத்தி, வினவலின் பெயரை Sort List எனக் கொடுத்து OK பொத்தானை அழுத்தவும். வினவல் சேமிக்கப்பட்டு, தரவுத்தளச் சாளரத்தில் தோற்றமளிப்பதைக் காணுங்கள். தேவைப்படும் போதெல்லாம், Sort List வினவல்மீது இரட்டைச் சொடுக்கிட்டு அகர வரிசைப் பட்டியலைப் பெறலாம். அட்டவணையில் ஏடுகள் நீக்கப்பட்டாலும், புதிய ஏடுகள் சேர்க்கப்பட்டாலும் வினவலில் மாற்றம் செய்ய வேண்டியதில்லை.

    தரவுத்தளத்தில் ஏடுகள் அகர வரிசைப்படி அமைந்த இன்னோர் அட்டவணை யாகச் சேமிக்கப்படுவதில்லை. அதற்கான வினவல் மொழிக் கட்டளை மட்டுமே சேமித்து வைக்கப்படுகிறது. வினவலை வடிவமைக்கும்போது அதற்குரிய கட்டளையை அக்செஸ் தானாகவே உருவாக்கிக் கொள்கிறது. அதனை நாம் பார்வையிட முடியும். தரவுத்தளச் சாளரத்தில் Queries பட்டியலில் Sort List வினவலைத் தேர்ந்தெடுத்து, அக்செஸ் சாளரத்தில் பட்டிப் பட்டையில் View -> SQL View தேர்ந்தெடுங்கள். வினவல் சாளரத்தில்,

    SELECT Employee.*
    FROM Employee
    ORDER BY Employee.Name;

    என்னும் கட்டளை தோற்றமளிப்பது காண்க. View -> Design View தேர்ந்தெடுத்தால் வினவல் வடிவாக்கச் சாளரம் தோன்றும். வடிவாக்கத்தில் மாற்றங்கள் தேவைப்படின், செய்து சேமித்துக் கொள்ளலாம்.

    நிபந்தனைக்குட்பட்ட ஏடுகள்: பணியாளர் அட்டவணையிலிருந்து மேலாளர் மற்றும் மேற்பார்வையாளர் பணியில் ரூ.25000 அல்லது அதற்குமேல் சம்பளம் பெறுவோரின் ஏடுகளை பார்வையிடக் கூடிய வினவலை வடிவமைப்போம். ஏடுகள் சம்பள அடிப்படையில் இறங்குமுக வரிசையில் இருக்க வேண்டும். பெயர், பணி, பணிப்பிரிவு, சம்பளம் ஆகிய புலங்கள் மட்டும் இடம்பெற வேண்டும். முதலில் வினவல் வடிவமைப்புக்கான முன்னேற்பாடுகளைச் செய்து முடித்தபின், வடிவாக்கச் சாளரத்தில் புலத்தேர்வுக் கட்டங்களில் Name, Job, Unit, Pay ஆகிய புலங்களைத் தேர்ந்தெடுத்துக் கொள்ளுங்கள். Job புலக் கட்டத்தில் Criteria என்பதில் Manager, Supervisor என ஒன்றன்கீழ் ஒன்றாக உள்ளிடுங்கள். Pay புலக்கட்டத்தில் Sort என்பதில் Descending தேர்ந்தெடுங் கள். Criteria என்பதில் Supervisor-க்கு எதிராக >=25000 என உள்ளிடுங்கள்.

    படம் 4.3.3 (ஆ) நினந்தனைக்குட்பட்ட ஏடுகளைத் தேர்ந்தெடுத்தல்

    இனி அக்செஸ் கருவிப் பட்டையில் வியப்புக்குறிப் பொத்தானை அழுத்துங்கள். நாம் விரும்பியவாறு ஏடுகள் சாளரத்தில் விரிவது காண்க. பட்டிப் பட்டையில் View -> SQL View தேர்ந்தெடுத்து, வினவலுக்கான கட்டளையைப் பார்வையிடுங்கள்.

    கணக்கீட்டுப் புலங்கள் (Calculated Fields): பணியாளர்களுக்கு அடிப்படைச் சம்பளத்தில் அகவிலைப்படி (DA) 50%, வீட்டு வாடகைப்படி (HRA) 30% என வைத்துக் கொள்வோம். அட்டவணையில் உள்ள விவரங்களோடு படிகளையும், அவற்றோடு சேர்த்து மொத்தச் சம்பளத்தையும் கணக்கிட்டுக் காட்டக் கூடிய வினவலின் வடிவமைப்பை நோக்குங்கள். Pay என்னும் புலத்தை Basic Pay எனக் காட்டச் செய்துள்ளோம். அகவிலைப் படியை DA எனத் தலைப்பிட்டு, [Pay]*0.5 எனக் கணக்கிட்டுள்ளோம். அதேபோல வீட்டு வாடகைப்படிப் புலத்தை HRA:[Pay]*0.3 என அமைத்துள்ளோம். மொத்தச் சம்பளம் Gross Pay:[Pay]*1.8 எனக் குறிக்கப்பட்டுள்ளது. இந்த வினவலை வடிவமைத்து இயக்கிப் பாருங்கள். வினவல் மொழிக் கட்டளையையும் நோக்குங்கள். அட்டவணையில் இல்லாத விவரங்களையும் அட்டவணைத் தரவுகள் போலவே தரவுத்தாளில் பெற முடியும், அச்சிட முடியும் என்பதே வினவலின் சிறப்பாகும்.

    படம் 4.3.3 (இ) சம்பளப் பட்டியல் தயாரிக்கும் வினவல்

    வினவல் வடிவமைப்புச் சாளரத்தில் இருக்கும்போது அக்செஸ் சாளரத்தின் பட்டிப் பட்டையில் Query தேர்ந்தெடுங்கள். மேலே விளக்கப்பட்ட ஆறுவகை வினவல்களின் பட்டியலைக் காணலாம். அவற்றுள் முன்னியல்பாக தேர்ந்தெடுப்பு வினவல் வடிவாக்கச் சாளரம்தான் திறக்கும். பட்டிப் பட்டியலில் பிறவகை வினவல்களையும் தேர்ந்தெடுத்துப் பாருங்கள். வினவலுக்கேற்ப புலத்தேர்வுக் கட்டங்களில் தேர்வுகள் இருக்கும். பிற வினவல்களை நீங்களே வடிவமைத்துப் பழகுங்கள்.

புதுப்பிக்கபட்ட நாள் : 02-09-2016 23:40:07(இந்திய நேரம்)