சேவைகள் |
CATEGORIES | |||||
|
கணினி |
கவிதைகள் |
பெண்கள் உலகம் |
சிறுவர் பூங்கா |
உடல்நலம் |
தமிழ் சினிமா |
ஆன்மீகம் |
நகைச்சுவை(ங்க...)! | ||||||
|
Email Subscribe |
Serch |
|
Statistics |
Online Users |
|
Site Friend |
|
இணைப்பு கொடுக்க |
Code : |
Vote Plz.. |
|
Main » Articles » மென்பொருள் கற்க » எளிய தமிழில் SQL | [ Add new entry ] |
எளிய தமிழில் SQL - பாகம் 4
எளிய தமிழில் 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வது பதிவுகளில் பயன்படுத்தும்போது புரியாமல் போகிவிடக்கூடாது மீண்டும்குறுவிளக்கமாகக் குறிப்பிட்டிருக்கிறேன். நன்றி தமிழ் நெஞ்சம் Source: http://tamilsql.blogspot.com/2009/01/sql-4.html | |
Views: 1503 | |
Total comments: 0 | |