Latest topics
» தேர்தல் நாடகம்by RAJU AROCKIASAMY
» முயற்சி!
by rammalar
» நிலவைத் தொட்டது யார்…
by rammalar
» கடவுளின் அம்மா
by rammalar
» குழந்தையை தூங்க வைப்பது எப்படி?- வலைப்பேச்சு
by rammalar
» கடுப்பில் நாந்தான் சொல்கிறேன்!!- வலைப்பேச்சு
by rammalar
» காலில் விழுவது தவறில்லை-வலைப்பேச்சு
by rammalar
» மாரி செல்வராஜின் ‘வாழை’ ரிலீஸ் எப்போது? வெளியான தகவல்!
by rammalar
» ‘வங்காள விரிகுடா – குறுநில மன்னன்’ திரைப்பட இசை மற்றும் டிரெய்லர் வெளியீட்டு விழா!
by rammalar
» இளையராஜா ‘பயோபிக் ‘படத்தின் நிஜமான இயக்குநர் யார்?
by rammalar
» பையா - ரீரிலீஸ்
by rammalar
» பிரேமலு- ஓ.டி.டி.-ல் ஏப்ரல் 12-ரிலீஸ்
by rammalar
» விக்ரமின் தங்கலான் திரைப்படம்...
by rammalar
» நயன்தாராவின் தந்திரம்
by rammalar
» அதிர்ச்சி.. அடுத்த மாரடைப்பு மரணம்.. நடிகர் அருள்மணி காலமானார்..
by rammalar
» ‘இன்று நேற்று நாளை 2’ மற்றும் ‘பீட்சா 4’ படங்களை தொடங்கிய தயாரிப்பாளர் சி வி குமார்!
by rammalar
» தமிழ்நாட்டில் நடக்கும் மோகன் லாலின் எம்பூரான் ஷூட்டிங்!
by rammalar
» சிவகார்த்திகேயன் புரடொக்சன்ஸ் புதிய படம்.. மாஸ் வீடியோ ரிலீஸ்..!
by rammalar
» கோட்’ படத்தின் அப்டேட் கொடுத்த வெங்கட் பிரபு!
by rammalar
» ’லைசென்ஸ்’ திரைப்பட விமர்சனம்
by rammalar
» தமிழ் இலக்கண இயக்கிய கவிதைகள்
by கவிப்புயல் இனியவன்
» கவிப்புயலின் போன்சாய் கவிதையும் விளக்கமும்
by கவிப்புயல் இனியவன்
» யோகா கவிதை
by கவிப்புயல் இனியவன்
» அகராதி கவிதை
by கவிப்புயல் இனியவன்
» நீண்ட இடைவெளி
by கவிப்புயல் இனியவன்
» அமைச்சர் கடும் கோபத்தோட போறாரே..!!
by rammalar
» ஆட்டோகிராப் வாங்குற சாக்குல வந்து, அடி பின்னி எடுத்துட்டாங்க...!!
by rammalar
» ஆட்டம், பாட்டம், -கொண்டாட்டாம் தான்...!!
by rammalar
» ஏதோ ஜாலி மூடுல ‘அடியே’னு கூப்பிட்டிருக்கார்...!!
by rammalar
» மன்னருக்கு போர்க்குணம் அதிகமாகி விட்டது...!!
by rammalar
» ஒன்று கோடை காலத்திற்கு, இன்னொன்று குளிர்காலத்திற்கு...!!
by rammalar
» அடக்கத்தால் சாதித்தவர்கள் ஏராளம்!
by rammalar
» மைக்ரோ கதை
by rammalar
» பேல்பூரி - தினமணி கதிர்
by rammalar
» வீடு கட்ட மினரல் வாட்டர் பயன்படுத்தினாராம்…!!
by rammalar
» நிம்மதியா தூங்கணுமா, நிரந்தரமா தூங்கணுமா?
by rammalar
» அவளுக்கு கோரஸாத்தான் பாட வரும்…!!
by rammalar
» சிங்கத்தை சீண்டிப் பார்த்துட்டாங்க…!!
by rammalar
» ஸ்குருநாதர்…!!
by rammalar
» மண்ணா மன்னா…!!
by rammalar
Top posting users this week
No user |
எளிய தமிழில் SQL - பாகம் 4
Page 1 of 1 • Share
எளிய தமிழில் SQL - பாகம் 4
ஒரு Tableன் Structure எப்படி இருக்கும்?
Column Name, Data Type(Width), Allow Nulls இவைகள் அனைத்தும் அடங்கியது ஒரு Table Structure.
AllowNull என்பது tick செய்யப்பட்டிருந்தால், அதன் மதிப்பை உள்ளீடுசெய்யும்போது வெறுமனே விட்டுவிடலாம் என்று அர்த்தம். தற்சமயம் அதன்மதிப்பு நமக்குத் தெரிந்திருக்கவில்லை. பிறகு சில காலம் கழித்துக் கூடஅதன் மதிப்பை நாம் உள்ளிட்டுக் கொள்ளலாம்.
Allow Null என்பது tickசெய்யப்படாமல் இருந்தால், அந்தக் குறிப்பிட்ட columnன் தகவலைக் கண்டிப்பாகநாம் கொடுத்தே தீரவேண்டும். அதன் மதிப்பை உள்ளிடாமல் விட்டுவிட்டால்பிழைச்செய்தி வரும். ஆனால் Identity Columnக்கு மட்டும் ஒரு விதிவிலக்குஉண்டு.
முதல் Column ஆகிய AddressID ன் ஆரம்பத்தில் ஒரு சிறிய சாவியின் படம் போடப்பட்டுள்ளது. அது இந்த Tableன் primary key ஆகும்.
Primarykey ஆனது ஒரு குறிப்பிட்ட Row வை தனித்து அடையாளம் கண்டுகொள்ள உதவும்.மேலும் AddressID ஆனது Identity Column ஆகவும் குறிப்பிடப்பட்டுள்ளதால்,இதன் மதிப்பை நாம் நேரடியாக உள்ளிட வேண்டிய அவசியமில்லை. Databaseல்தானியங்கியாக அடுத்தடுத்த எண்களை இந்த AddressIDல் Input செய்துவிடும்.
மேலேஉள்ள Table Structureல் AddressLine2 க்கு மட்டும் Allow Nulls ஆனது tickசெய்யப்பட்டு இருக்கிறது. ஆகவே AddressLine2க்கு உரிய தகவல் நம்மிடம்தற்சமயம் இல்லையென்றால் அதை நாம் உள்ளீடு செய்யாமல் அப்படியே விட்டுவிட்டுஅடுத்த Columnக்கு உரிய தகவலை உள்ளீடு செய்யலாம். பிறகு எப்போதுவேண்டுமானாலும் AddressLine2க்கு உரிய Dataவைக் கொடுக்கலாம். பிழைச்செய்திஎதுவும் வராது.
rowguid என்பதற்கு நேராக uniqueidentifier என Data Type இருக்கிறது.
அது என்ன Unique Identifier?
8DD27D89-6AE7-4316-B3B8-0CCEF0924F60 இது போன்ற ஒரு hexadecimal மதிப்பு.
இதுஒவ்வொரு முறையும் வேறு வேறு மதிப்புகளைக் கொடுக்கும். கணினிக்குக் கணினிவித்தியாசமான மதிப்பையும், ஒரே கணினியில் ஒவ்வொரு முறையும் இயக்கும்போதுவேறு வேறு மதிப்புகளைக் கொடுக்கும்.
நாம் இந்த Unique IdentifierData Type ஐக் கொண்ட Column க்கு எந்த தகவலையும் உள்ளீடு செய்யவேண்டாம்.இது தானியங்கியாக கணினியே உருவாக்கும் ஒரு மதிப்பாகும்.
ஒவ்வொரு row வையும் பிரித்துக் காட்ட UniqueIdentifierஐப் பயன்படுத்தலாம்.
உதாரணம் :
declare @a uniqueidentifier
set @a = newid()
print @a
இதன் விடை.
F94771ED-8405-4C30-893E-0325FA0A394C
மேலே கொடுத்துள்ள ஒரு சிறிய நிரல் ஆனது T-SQL programming ல் எழுதப்பட்டது.
T-SQL என்றால் Transact SQL என்ற விரிவைக் கொண்டது. இது ஒரு கணினி மொழி.
மேலே @a என்பது ஒரு variable. இதன் மதிப்பு ஒவ்வொரு முறையும் மாறிக்கொண்டே இருக்கும்.
set@a = newid() ---> என்றால் ஒரு கணினியால் அந்த நேரத்தில்உருவாக்கப்பட்ட ஒரு புதிய hexadecimal based மதிப்பை அந்த variable @a ல்பதிகிறோம்.
print @a --> திரையில் @a என்பதன் மதிப்பைக் காண்பி.உடனே திரையில் தெரியும் மதிப்பானது F94771ED-8405-4C30-893E-0325FA0A394Cஇப்படி இருக்கலாம். எனக்கு இந்த மதிப்பு வந்தது. உங்களுக்கு வேறு மதிப்புவரும். ஒவ்வொருவருக்கும் வேறுவேறு மதிப்புகளை இந்த நிரல் உருவாக்கித்தரும்.
AddressLine1, AddressLine2, City, PostalCode ஆகிய Columnகளின் DataType ஆனது nVarchar வகையைச் சேர்ந்தது.
அதாவது இந்த Columnகளில் நாம் unicode வகையைச் சேர்ந்த எண்கள், எழுத்துக்கள், பிற அடையாளங்கள் ஆகியவற்றை உள்ளிடலாம்.
AddressLine1க்காக நாம் அதிகபட்சமாக 60 எழுத்துக்களை ஒதுக்கியுள்ளோம். ஆனால் நாம் 20எழுத்துக்களை மட்டுமே உள்ளிட்டால், மீதியுள்ள 40 காலியிடங்கள் trimசெய்யப்பட்டு 20 எழுத்துக்கள் மாத்திரமே table ல் பதிவாகும். இதுவேvarcharன் சிறப்பு.
இதுவே char என இருந்தால் ஒட்டுமொத்தமாக நாம் எவ்வளவு எழுத்துக்களை ஏற்கனவே ஒதுக்கியுள்ளோமோ அத்தனை இடங்களுமே வீணடிக்கப்பட்டுவிடும்.
AddressID,StateProvinceID இவையிரண்டின் DataType ஆனது int வகையைச் சேர்ந்தது.அதனால் இந்த இரண்டுக்கும் நாம் எண்களை உள்ளீடு செய்யலாம். ஆனால் AddressIDஆனது Identity Column வகையைச் சேர்ந்ததால் (அது auto incrementவகைப்பட்டது) அதற்குத் தகவலை உள்ளிட வேண்டாம். StateProviceIDக்கு மட்டும்அதற்குரிய எண்ணைப் பதிவிட்டால் போதும்.
Modified Date என்பதில்அதற்குரிய DataType ஆனது DateTime ஆகக் குறிப்பிடப்பட்டுள்ளது.அதனால் அந்தModified Date க்கு உரிய columnன் மதிப்பில் ஒரு குறிப்பிட்ட தேதியைஉள்ளிடவேண்டும்.
ஒரு சிறிய T-SQL நிரல்.
declare @a datetime
set @a = getdate()
print @a
@a என்பது datetime எனப்படும் DataTypeஐச் சேர்ந்தது.
getdate() எனப்படும் ஒரு function நடப்புத் தேதியையும், நேரத்தையும் தரவல்லது.
print @a என்றவுடன் கிடைத்த விடை.
Jan 26 2009 11:00AM
இங்கேஒரு சில இடங்களில் புதியவர்களுக்காக சில குறிப்பிட்ட பதங்களை ஒவ்வொருமுறையும் விளக்கியிருப்பேன். Primary key, Identity Column போன்றவற்றைமீண்டும் சுருக்கமாகக் கூறியிருப்பேன். ஒரு புரிதலுக்காகத்தான் அவ்வாறுமீண்டும் கூறியிருக்கிறேனே தவிர வேறெதுவும் இல்லை. இதற்கு முன்னர்வெளியிட்ட 3 பதிவுகளில் அவற்றை விளக்கியிருந்தாலும், அதே பதங்களை இங்கே4வது பதிவுகளில் பயன்படுத்தும்போது புரியாமல் போகிவிடக்கூடாது மீண்டும்குறுவிளக்கமாகக் குறிப்பிட்டிருக்கிறேன்.
Column Name, Data Type(Width), Allow Nulls இவைகள் அனைத்தும் அடங்கியது ஒரு Table Structure.
AllowNull என்பது tick செய்யப்பட்டிருந்தால், அதன் மதிப்பை உள்ளீடுசெய்யும்போது வெறுமனே விட்டுவிடலாம் என்று அர்த்தம். தற்சமயம் அதன்மதிப்பு நமக்குத் தெரிந்திருக்கவில்லை. பிறகு சில காலம் கழித்துக் கூடஅதன் மதிப்பை நாம் உள்ளிட்டுக் கொள்ளலாம்.
Allow Null என்பது tickசெய்யப்படாமல் இருந்தால், அந்தக் குறிப்பிட்ட columnன் தகவலைக் கண்டிப்பாகநாம் கொடுத்தே தீரவேண்டும். அதன் மதிப்பை உள்ளிடாமல் விட்டுவிட்டால்பிழைச்செய்தி வரும். ஆனால் Identity Columnக்கு மட்டும் ஒரு விதிவிலக்குஉண்டு.
முதல் Column ஆகிய AddressID ன் ஆரம்பத்தில் ஒரு சிறிய சாவியின் படம் போடப்பட்டுள்ளது. அது இந்த Tableன் primary key ஆகும்.
Primarykey ஆனது ஒரு குறிப்பிட்ட Row வை தனித்து அடையாளம் கண்டுகொள்ள உதவும்.மேலும் AddressID ஆனது Identity Column ஆகவும் குறிப்பிடப்பட்டுள்ளதால்,இதன் மதிப்பை நாம் நேரடியாக உள்ளிட வேண்டிய அவசியமில்லை. Databaseல்தானியங்கியாக அடுத்தடுத்த எண்களை இந்த AddressIDல் Input செய்துவிடும்.
மேலேஉள்ள Table Structureல் AddressLine2 க்கு மட்டும் Allow Nulls ஆனது tickசெய்யப்பட்டு இருக்கிறது. ஆகவே AddressLine2க்கு உரிய தகவல் நம்மிடம்தற்சமயம் இல்லையென்றால் அதை நாம் உள்ளீடு செய்யாமல் அப்படியே விட்டுவிட்டுஅடுத்த Columnக்கு உரிய தகவலை உள்ளீடு செய்யலாம். பிறகு எப்போதுவேண்டுமானாலும் AddressLine2க்கு உரிய Dataவைக் கொடுக்கலாம். பிழைச்செய்திஎதுவும் வராது.
rowguid என்பதற்கு நேராக uniqueidentifier என Data Type இருக்கிறது.
அது என்ன Unique Identifier?
8DD27D89-6AE7-4316-B3B8-0CCEF0924F60 இது போன்ற ஒரு hexadecimal மதிப்பு.
இதுஒவ்வொரு முறையும் வேறு வேறு மதிப்புகளைக் கொடுக்கும். கணினிக்குக் கணினிவித்தியாசமான மதிப்பையும், ஒரே கணினியில் ஒவ்வொரு முறையும் இயக்கும்போதுவேறு வேறு மதிப்புகளைக் கொடுக்கும்.
நாம் இந்த Unique IdentifierData Type ஐக் கொண்ட Column க்கு எந்த தகவலையும் உள்ளீடு செய்யவேண்டாம்.இது தானியங்கியாக கணினியே உருவாக்கும் ஒரு மதிப்பாகும்.
ஒவ்வொரு row வையும் பிரித்துக் காட்ட UniqueIdentifierஐப் பயன்படுத்தலாம்.
உதாரணம் :
declare @a uniqueidentifier
set @a = newid()
print @a
இதன் விடை.
F94771ED-8405-4C30-893E-0325FA0A394C
மேலே கொடுத்துள்ள ஒரு சிறிய நிரல் ஆனது T-SQL programming ல் எழுதப்பட்டது.
T-SQL என்றால் Transact SQL என்ற விரிவைக் கொண்டது. இது ஒரு கணினி மொழி.
மேலே @a என்பது ஒரு variable. இதன் மதிப்பு ஒவ்வொரு முறையும் மாறிக்கொண்டே இருக்கும்.
set@a = newid() ---> என்றால் ஒரு கணினியால் அந்த நேரத்தில்உருவாக்கப்பட்ட ஒரு புதிய hexadecimal based மதிப்பை அந்த variable @a ல்பதிகிறோம்.
print @a --> திரையில் @a என்பதன் மதிப்பைக் காண்பி.உடனே திரையில் தெரியும் மதிப்பானது F94771ED-8405-4C30-893E-0325FA0A394Cஇப்படி இருக்கலாம். எனக்கு இந்த மதிப்பு வந்தது. உங்களுக்கு வேறு மதிப்புவரும். ஒவ்வொருவருக்கும் வேறுவேறு மதிப்புகளை இந்த நிரல் உருவாக்கித்தரும்.
AddressLine1, AddressLine2, City, PostalCode ஆகிய Columnகளின் DataType ஆனது nVarchar வகையைச் சேர்ந்தது.
அதாவது இந்த Columnகளில் நாம் unicode வகையைச் சேர்ந்த எண்கள், எழுத்துக்கள், பிற அடையாளங்கள் ஆகியவற்றை உள்ளிடலாம்.
AddressLine1க்காக நாம் அதிகபட்சமாக 60 எழுத்துக்களை ஒதுக்கியுள்ளோம். ஆனால் நாம் 20எழுத்துக்களை மட்டுமே உள்ளிட்டால், மீதியுள்ள 40 காலியிடங்கள் trimசெய்யப்பட்டு 20 எழுத்துக்கள் மாத்திரமே table ல் பதிவாகும். இதுவேvarcharன் சிறப்பு.
இதுவே char என இருந்தால் ஒட்டுமொத்தமாக நாம் எவ்வளவு எழுத்துக்களை ஏற்கனவே ஒதுக்கியுள்ளோமோ அத்தனை இடங்களுமே வீணடிக்கப்பட்டுவிடும்.
AddressID,StateProvinceID இவையிரண்டின் DataType ஆனது int வகையைச் சேர்ந்தது.அதனால் இந்த இரண்டுக்கும் நாம் எண்களை உள்ளீடு செய்யலாம். ஆனால் AddressIDஆனது Identity Column வகையைச் சேர்ந்ததால் (அது auto incrementவகைப்பட்டது) அதற்குத் தகவலை உள்ளிட வேண்டாம். StateProviceIDக்கு மட்டும்அதற்குரிய எண்ணைப் பதிவிட்டால் போதும்.
Modified Date என்பதில்அதற்குரிய DataType ஆனது DateTime ஆகக் குறிப்பிடப்பட்டுள்ளது.அதனால் அந்தModified Date க்கு உரிய columnன் மதிப்பில் ஒரு குறிப்பிட்ட தேதியைஉள்ளிடவேண்டும்.
ஒரு சிறிய T-SQL நிரல்.
declare @a datetime
set @a = getdate()
print @a
@a என்பது datetime எனப்படும் DataTypeஐச் சேர்ந்தது.
getdate() எனப்படும் ஒரு function நடப்புத் தேதியையும், நேரத்தையும் தரவல்லது.
print @a என்றவுடன் கிடைத்த விடை.
Jan 26 2009 11:00AM
இங்கேஒரு சில இடங்களில் புதியவர்களுக்காக சில குறிப்பிட்ட பதங்களை ஒவ்வொருமுறையும் விளக்கியிருப்பேன். Primary key, Identity Column போன்றவற்றைமீண்டும் சுருக்கமாகக் கூறியிருப்பேன். ஒரு புரிதலுக்காகத்தான் அவ்வாறுமீண்டும் கூறியிருக்கிறேனே தவிர வேறெதுவும் இல்லை. இதற்கு முன்னர்வெளியிட்ட 3 பதிவுகளில் அவற்றை விளக்கியிருந்தாலும், அதே பதங்களை இங்கே4வது பதிவுகளில் பயன்படுத்தும்போது புரியாமல் போகிவிடக்கூடாது மீண்டும்குறுவிளக்கமாகக் குறிப்பிட்டிருக்கிறேன்.
Similar topics
» எளிய தமிழில் SQL - பாகம் 1
» எளிய தமிழில் SQL - பாகம் 2
» எளிய தமிழில் SQL - பாகம் 3
» எளிய தமிழில் SQL - பாகம் 5
» எளிய தமிழில் SQL - பாகம் 6
» எளிய தமிழில் SQL - பாகம் 2
» எளிய தமிழில் SQL - பாகம் 3
» எளிய தமிழில் SQL - பாகம் 5
» எளிய தமிழில் SQL - பாகம் 6
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum