அட்டவணைகளின் அர்த்தமுள்ள உருவாக்கம்

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

ஒரு அட்டவணையை உருவாக்குவது ஜாவாவில் ஒரு வகுப்பை அறிவிப்பதற்கு மிகவும் ஒத்திருக்கிறது மற்றும் இந்த மாதிரியைக் கொண்டுள்ளது:

CREATE TABLE table_name (
	column1 datatype,
	column2 datatype,
	column3 datatype,
   ....
);

எடுத்துக்காட்டாக, பயனர்களுடன் அட்டவணையை உருவாக்கும் வினவலை எழுதுவோம்:

CREATE TABLE user (
	id INT,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

இது மிகவும் எளிமையானதாக தோன்றுகிறது, ஏனென்றால் நிறைய நுணுக்கங்கள் இங்கே குறிப்பிடப்படவில்லை.

முதலில், அட்டவணையில் கூடுதல் அமைப்புகள் இருக்கலாம்.

இரண்டாவதாக, ஒவ்வொரு நெடுவரிசையும் கூடுதல் அமைப்புகளைக் கொண்டிருக்கலாம்.

நெடுவரிசைகளை உருவாக்குவதற்கான அமைப்புகளுடன் தொடங்குவோம்.

அட்டவணையில் விசைகள்

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

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

அவற்றில் சிலவற்றை கீழே பார்ப்போம்.

முதலில், இது முதன்மை விசை .

பெரும்பாலும், இது பெயர் ஐடி மற்றும் INT வகையுடன் ஒரு தனி நெடுவரிசை. இது அட்டவணையின் "மாஸ்டர் கீ" என்று அழைக்கப்படுகிறது, மேலும் அதன் அனைத்து வரிசைகளும் இந்த விசைக்கான தனித்துவமான மதிப்புகளைக் கொண்டுள்ளன. இது முதன்மையாகப் பயன்படுத்தப்படுகிறது, இதனால் மற்ற அட்டவணைகள் எங்கள் அட்டவணையின் பதிவுகளைக் குறிப்பிடலாம் மற்றும் அதன் குறிப்பிட்ட பதிவை சுட்டிக்காட்டுகின்றன.

இரண்டாவது UNIQUE KEY .

சில வழிகளில், இது முதன்மை விசையைப் போன்றது, இருப்பினும் அதன் சொற்பொருள் சுமை முற்றிலும் வேறுபட்டது. ஒரு நெடுவரிசையில் UNIQUE பண்புக்கூறு இருந்தால், அந்த நெடுவரிசையில் உள்ள அனைத்து மதிப்புகளும் தனிப்பட்டதாக இருக்க வேண்டும். UNIQUE KEY மற்றும் PRIMARY KEY ஆகியவற்றுக்கு இடையே உள்ள வித்தியாசத்திற்கு ஒரு சிறந்த உதாரணம் பாஸ்போர்ட் அலுவலகத்தில் உள்ளவர்களின் பட்டியல்.

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

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

CREATE TABLE user (
	id INT PRIMARY KEY,
	name VARCHAR(100),
	level INT,
	created_date DATE,
);

தரவு வகை அமைப்புகள்

குறைவான முக்கியமான ஆனால் பயனுள்ள பண்புக்கூறுகள் உள்ளன.

இயல்புநிலை மதிப்பு

அட்டவணையில் தரவைச் செருகும்போது (புதிய வரிசையைச் சேர்ப்பது), சில நெடுவரிசைகளின் மதிப்புகள் இயல்புநிலை மதிப்பைக் கொண்டிருந்தால் அவற்றை விட்டுவிடலாம். இந்த வழக்கில், SQL சேவையகம் நெடுவரிசையின் மதிப்பை வெறுமனே அமைக்கும்.

MySQL இன் பதிப்பு 8 இல் தொடங்கி, நீங்கள் ஒரு வெளிப்பாட்டை மதிப்பாகக் குறிப்பிடலாம்.

NULL அல்ல

அட்டவணையை உருவாக்கும் போது ஒரு நெடுவரிசைக்கான NOT NULL பண்புக்கூறை நீங்கள் குறிப்பிட்டால், SQL சேவையகம் இந்த நெடுவரிசையில் ஒரு NULL மதிப்பை சேமிக்க இயலாது என்பதை உறுதி செய்யும். இயல்பாக, எந்த நெடுவரிசையிலும் NULL மதிப்பு இருக்கலாம், INT நெடுவரிசையும் கூட. ஜாவா புரோகிராமருக்கு இது சற்றும் தெளிவாகத் தெரியவில்லை.

AUTO_INCREMENT

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

AUTO_INCREMENT பண்புக்கூறு இதைத்தான் செய்கிறது. புதிய வரிசையைச் சேர்க்கும் போது, ​​நாங்கள் எதையும் ஐடியாக அனுப்ப மாட்டோம், மேலும் SQL சர்வர் இந்தப் பதிவிற்கான சரியான ஐடியைக் குறிப்பிடும்: இது கடைசியாக இருக்கும் பதிவின் ஐடியை எடுத்து 1 ஆல் அதிகரிக்கும். இந்தப் பண்புக்கூறு முழு எண் மற்றும் உண்மையான எண் வகைகளுடன் பயன்படுத்தப்படுகிறது. மற்றும், நிச்சயமாக, அத்தகைய அட்டவணையை உருவாக்குவதற்கான உதாரணத்தை உருவாக்குவோம்:

CREATE TABLE user (
	id INT PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(100) NOT NULL,
	level INT DEFAULT 1,
	created_date DATE NOT NULL,
);