வினவல் அமைப்பு மொழி - DDL கட்டளைகள் | 12th Computer Science : Chapter 12 : Database concepts and MySql : Structured Query Language(SQL)
DDL கட்டளைகள்
CREATE TABLE கட்டளைகள்
CREATE TABLE கட்டளையை பயன்படுத்தி ஒரு அட்டவணையை உருவாக்கலாம். ஒரு அட்டவணையை உருவாக்கும் போது, அதன் நெடுவரிசைகளுக்கு பெயரிட்டு, தரவு வகைகளையும், அளவினையும் குறிப்பிட வேண்டும். ஒவ்வொரு அட்டவணையும் குறைந்த பட்சம் ஒரு நெடுவரிசையை கொண்டிருக்க வேண்டும். CREATE TABLE கட்டளையின் தொடரியல்.
CREATE TABLE
<table-name>
(<column name><data type>[<size>]
(<column name><data type> [<size>].......
)
மேற்கண்ட தொடரியலைப் பயன்படுத்தி, ஒரு வகுப்பில் பயிலும் மாணவர்களின் விவரங்களை ஒரு தரவுத்தளத்தில் சேமிக்கலாம். இதற்கு முதலில் நாம் ஒரு அட்டவணையை உருவாக்க வேண்டும். ஒரு மாணவர் குறித்த அட்டவணையில் மாணவர் தொடர்பான விவரங்களாக சேர்க்கை எண் (Admission number)- இதை சுருக்கி Admno என்றும், மாணவரின் பெயர் (Name), பாலினம் (gender), வயது (Age) போன்றவை எடுத்துக்கொள்ளலாம். Admno, Name, Gender, Age மற்றும் Place என்ற புலங்களை கொண்டுள்ள ஒரு அட்டவணையை நாம் உருவாக்கலாம்.
SQL கட்டளை பின்வருமாறு இருக்கும்:
CREATE TABLE Student
(Admno integer,
Name char(20),
Gender char(1),
Age integer,
Place char(10),
)
மேலே உள்ளது, எந்த கட்டுப்பாடுகளும் இல்லாத ஒரு எளிய அட்டவணை அமைப்பாகும். ஒரு அட்டவணையில் அமைந்திருக்கும் புலங்களுக்கான தரவுகளை சில கட்டுப்பாடுகளை ஏற்படுத்தி கட்டுப்படுத்தலாம். இது தரவுத்தளத்திலுள்ள தரவுகளின் துல்லியத்தன்மை மற்றும் நம்பகத்தன்மையை உறுதி செய்கிறது. கட்டுப்பாடுகள் நெடுவரிசை அல்லது அட்டவணை அளவிலானதாக இருக்கக்கூடும்.
குறிப்பு
கட்டுப்பாடுகள் என்பது ஒரு புலம் அல்லது புலங்களின் தொகுதிக்கு பயன்படுத்தக்கூடிய நிபந்தனையை குறிக்கும்.
நெடுவரிசை கட்டுப்பாடு தனிப்பட்ட நெடுவரிசைக்கு மட்டுமே நெடுவரிசை கட்டுப்பாட்டை பயன்படுத்த முடியும்.
அட்டவணை கட்டுப்பாடு ஒன்று அல்லது அதற்கு மேற்பட்ட நெடுவரிசைகளுக்கு பயன்படுத்த முடியும்.
கட்டுப்பாட்டுடன் உருவாக்கப்பட்ட ஒரு அட்டவணையின் தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது.
CREATE TABLE
<table-name>
(<column name><data type>[<size>]<column constraint>,
(<column name><data type>[<size>]<column constraint>..... <table constraint>…..
(<column name> <column name>....)......
)
“NOT NULI” நெடுவரிசை கட்டுப்பாட்டுடன் கூடிய மாணவர் அட்டவணை கீழே தரப்பட்டுள்ளது. இந்த கட்டுப்பாடு ஒரு புலம் எப்பொழுதும் ஒரு மதிப்பைக் கொண்டிருக்க வேண்டும் என்பதை அறிவுறுத்துகிறது.
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY, → Primary Key constraint
Name char(20) NOT NULL,
Gender char(1),
Age integer,
Place char(10),
);
மேற்கண்ட கட்டளை அமைப்பை பயன்படுத்தி உருவாக்கப்பட்ட student என்ற அட்டவணையில் integer வகையை சார்ந்த Admno என்ற புலமும், char வகையை சார்ந்த Name என்ற புலமும், NOT NULL என்ற கட்டுப்பாட்டுடன் வரையறுக்கப்பட்டுள்ளது. இதன் பொருள் என்னவெனில், அந்த இரண்டு புலங்களும் கட்டாயமாக மதிப்புகளை கொண்டிருக்க வேண்டும். Gender, Age மற்றும் Place என்ற புலங்களுக்கு எந்த வித கட்டுப்பாடுகளும் இல்லை .
கட்டுப்பாடுகள் தரவுத்தள ஒருங்கிணைப்பை உறுதிசெய்வதால், அவற்றைதரவுத்தள ஒருங்கிணைப்பு கட்டுப்பாடுகள் எனவும் அழைக்கலாம். கட்டுப்பாடுகள் பல வகைப்படும். அவை
1. Unique கட்டுப்பாடு
இந்த கட்டுப்பாடு குறிப்பிட்ட நெடுவரிசைகளில் எந்த இரு வரிசைகளும் ஒரே மதிப்பை கொண்டிருக்காது என்பதை உறுதி செய்கிறது. உதாரணத்திற்கு, student அட்டவணையில் Admno என்ற புலத்திற்கு UNIQUE கட்டுப்பாட்டை பயன்படுத்தி, ஒரே சேர்க்கை எண் இரு மாணவர்களுக்கு தரப்படாததை உறுதி செய்து கொள்ளலாம். இந்த கட்டுப்பாட்டை கீழ்க்கண்டவாறு பயன்படுத்திக் கொள்ளலாம்:
CREATE TABLE Student
(
Admno integer NOT NULL UNIQUE, → Unique constraint
Name char (20) NOT NULL,
Gender char (1),
Age integer,
Place char (10),
}
UNIQUE கட்டுப்பாட்டை NOT NULL என்று அறிவிக்கப்பட்ட புலங்களுக்கு மட்டுமே பயன்படுத்த முடியும்.
ஒரு தனிப்பட்ட புலத்திற்கு இரு கட்டுப்பாடுகளை பயன்படுத்தினால் அப்புலம் பல கட்டுப்பாடுகளைக் கொண்ட புலம் என அழைக்கலாம். மேற்கண்ட கட்டணை அமைப்பில், NOT NULL மற்றும் UNIQUE எனும் பல கட்டுப்பாடுகள் எனும் பல கட்டுப்பாடுகள் Admno என்ற ஒரு தனித்த புலத்தில் பயன்படுத்தப்பட்டுள்ளது. கட்டுப்பாடுகள் இடைவெளிக் கொண்டு பிரிக்கப்பட்டு புல வரையறுப்பின் இறுதியில் காற்புள்ளி சேர்க்கப்படுகிறது. Admno என்ற புலத்திற்கு இந்த இரண்டு கட்டுப்பாடுகளை சேர்ப்பதால், இந்த புலம் ஏதேனும் சில மதிப்புகளைக் கொண்டிருக்க வேண்டும் அதே சமயம் இரட்டையான மதிப்புகள் இருத்தல் கூடாது.
2. Primary Key கட்டுப்பாடு
தரவுத்தளத்திலுள்ள ஒரு பதிவை தனித்தன்மையோடு அடையாளம் காட்ட ஒரு புலத்தினை primary key என்ற கட்டுப்பாட்டுடன் அறிவிக்க வேண்டும். இது unique கட்டுப்பாட்டினை போன்றே காணப்பட்டாலும் அட்டவணையின் ஒரு புலத்தை மட்டுமே primary key ஆக குறிப்பிட முடியும். primary key கட்டுப்பாடு வெற்று (NULL) மதிப்புகளை அனுமதிக்காது என்பதால், primary key என்ற கட்டுப்பாட்டுடன் அறிவிக்கப்படும் புலம், NOT NULL என்ற கட்டுப்பாட்டையும் கொண்டிருக்க வேண்டும்.
மாணவர் அட்டவணையில் primary key கட்டுப்பாட்டை பயன்படுத்துதலை விளக்கும் எடுத்துக்காட்டு:
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY, → Primary Key constraint
Name char(20) NOT NULL,
Gender char(1),
Age integer,
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், Admno என்ற புலம் primary key என்று வரையறுக்கப்பட்டுள்ளதால், ஒரு பதிவை தனித்தன்மையோடு அடையாளம் காட்ட முடிகிறது. மேலும் NOT NULL என்றும் வரையறுக்கப்பட்டுள்ளதால், இந்த புலத்தின் மதிப்பு காலியாக இருக்கக் கூடாது.
3. DEFAULT கட்டுப்பாடு
DEFAULT கட்டுப்பாடு ஒரு புலத்தில் முன்னியல்பு மதிப்புகளை இருத்தி வைக்க பயன்படுகிறது. DEFAULT கட்டுப்பாட்டை கொண்ட குறிப்பிட்ட புலத்திற்கு மதிப்பு கொடுக்காவிடில், தானாகவே முன்னியல்பு மதிப்பு அந்த புலத்தில் இருத்தப்பட்டுவிடும். மாணவர் அட்டவணையில் Default கட்டுப்பாடு பயன்படுத்துதலை விளக்கும் எடுத்துக்காட்டு:
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY,
Name char(20) NOT NULL,
Gender char(1),
Age integer DEFAULT “17”, > Default Constraint
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், "Age" என்ற புலத்திற்கு 17 என்று முன்னியல்பு மதிப்பு கொடுக்கப்பட்டுள்ளதால், அந்த புலத்தில் பயனரால் எந்த மதிப்பும் உள்ளிடப்படவில்லை எனில், “Age” என்ற புலம் தானாகவே 17 என்ற மதிப்பை எடுத்துக் கொள்ளும்.
4. Check கட்டுப்பாடு
இந்தக் கட்டுப்பாடு ஒரு புலத்திற்கான மதிப்பின் வரம்பை நிர்ணயிக்க உதவுகிறது. CHECK கட்டுப்பாட்டை ஒரு நெடுவரிசைக்கு வரையறுத்தால், அப்புலத்தில் வரையறுக்கப்பட்ட மதிப்புகளை மட்டுமே உள்ளிட அனுமதிக்கும்.
மாணவர் அட்டவணையில் CHECK கட்டுப்பாட்டை பயன்படுத்துதலை விளக்கும் எடுத்துக்காட்டு
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY
Name char(20) NOT NULL,
Gender char(1),
Age integer (CHECK Age <=19), > Check Constraint
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், Age என்ற புலத்தில் CHECK கட்டுப்பாட்டை பயன்படுத்தி, Age என்ற புலத்திற்கு உள்ளிடும் மதிப்பு 19க்கு குறைவாகவோ அல்லது சம்மாகவோ இருக்க வேண்டும் என வரையறுக்கப்படுகிறது.
குறிப்பு
CHECK கட்டுப்பாடு ஒப்பீட்டு மற்றும் தருக்க செயற்குறிகளை நிபந்தனையை வரையறுக்க பயன்படுத்திக் கொள்ளலாம்.
5. அட்டவணை கட்டுப்பாடு
ஒரு அட்டவணையில் உள்ள புலங்களின் குழுவிற்கு கட்டுப்பாட்டைப் பயன்படுத்தினால், அதனை அட்டவணைக் கட்டுப்பாடு என்கிறோம். பொதுவாக, அட்டவணை கட்டுப்பாடு அட்டவணை வரையறுப்பின் இறுதியில் குறிப்பிடப்படும். Admno, Firstname, Lastname, Gender, Age, Place என்ற புலங்களை கொண்ட student 1 என்ற ஒரு புதிய அட்டவணையை எடுத்துக் கொள்வோம்.
CREATE TABLE Studenti
(
Admno integer NOT NULL,
Firstname char(20),
Lastname char(20),
Gender char(1),
Age integer,
Place char(10),
PRIMARY KEY (Firstname, Lastname) > Table constraint
);
மேற்கண்ட எடுத்துக்காட்டில், primary key என்று வரையறுக்கப்பட்டுள்ள Firstname, Lastname என்ற இருபுலங்கள், அட்டவணை கட்டுப்பாடுடையதாக அமைந்துள்ளன.