SQL (এসকিউএল) WHERE ক্লজ . SQL WHERE Clause

<h1>SQL (এসকিউএল) WHERE ক্লজ</h1>

Article By: Pratap Chandra
<p>ডাটাবেজ থেকে ডাটা ফিল্টার (filter) বা পরিশোধন করার জন্য WHERE ক্লজ ব্যবহার করা হয়। এখানে পরিশোধন করা বলতে বুঝানো হয়েছে শর্ত প্রয়োগ করে কেবল প্রয়োজনীয় ডাটাগুলো তুলে আনা। আপনি যে শর্ত প্রয়োগ করবেন শুধু সেই শর্ত পূরণ করতে পারা ডাটাই কেবল বাছাই হবে।</p>
<h3>এসকিউএল WHERE সিনট্যাক্স বা গঠনরীতি: </h3>
<p>SELECT <em>column_name</em>,<em>column_name</em><br />
FROM <em>table_name</em><br />
WHERE <em>column_name operator value</em>;</p>

এই টিউটিরিয়ালে আমরা Northwind স্যাম্পল ডাটাবেজটি ব্যবহার করব, যেটি মাইক্রোসফট Excel এবং MS SQL Server এর সাথে শিক্ষার্থীদের জন্য তৈরী অবস্থায় (readymade) সংযুক্ত করা থাকে।  সেই ডাটাবেজের Customers টেবিল থেকে কিছু ডাটা SELECT কমান্ড প্রয়োগ করে বাছাই করা হয়েছে, যা নিচের টেবিলে দেখানো হলো:
<table border=”1″ cellpadding=”2″>
<tr>
<td><p align=”center”><strong>CustomerID</strong></p></td>
<td><p align=”center”><strong>CustomerName</strong></p></td>
<td><p align=”center”><strong>ContactName</strong></p></td>
<td><p align=”center”><strong>Address</strong></p></td>
<td><p align=”center”><strong>City</strong></p></td>
<td><p align=”center”><strong>PostalCode</strong></p></td>
<td><p align=”center”><strong>Country</strong></p></td>
</tr>
<tr>
<td><p>1</p></td>

Alfreds Futterkiste
<td><p>Maria Anders</p></td>

Obere Str. 57
<td><p>Berlin</p></td>
<td><p>12209</p></td>
<td><p>Germany</p></td>
</tr>
<tr>
<td><p>2</p></td>

Ana Trujillo Emparedados y helados
<td><p>Ana Trujillo</p></td>

Avda. de la Constitución 2222

 

México D.F.
<td><p>05021</p></td>
<td><p>Mexico</p></td>
</tr>
<tr>
<td><p>3</p></td>
<td><p>Antonio Moreno Taquería</p></td>
<td><p>Antonio Moreno</p></td>

Mataderos 2312

 

México D.F.
<td><p>05023</p></td>
<td><p>Mexico</p></td>
</tr>
<tr>
<td><p>4</p></td>
<td><p>Around the Horn</p></td>
<td><p>Thomas Hardy</p></td>
<td><p>120 Hanover Sq.</p></td>
<td><p>London</p></td>

WA1 1DP
<td><p>UK</p></td>
</tr>
<tr>
<td><p>5</p></td>

Berglunds snabbköp
<td><p>Christina Berglund</p></td>

Berguvsvägen 8
<td><p>Luleå</p></td>
<td><p>S-958 22</p></td>
<td><p>Sweden</p></td>
</tr>
</table>
<h3>WHERE ক্লজ এর উদাহরণ:</h3>
<p>এখন Customers টেবিল থেকে আমরা কেবল Mexico এর Customer গুলো তুলে আনব। এই কাজ করতে আমাদের নিচের SQL স্টেটমেন্ট প্রয়োগ করতে হবে: <br />
</p>
<p>SELECT * FROM Customers<br />
WHERE Country=’Mexico’;</p>
<p>SQL স্টেটমেন্ট লেখার সময় যে শর্ত প্রয়োগ করা হয় তা single quote এর ভেতরে লেখা হয় (যদিও অনেক ডাটাবেজ double quote ও সাপোর্ট করে)। তবে numeric ডাটার ক্ষেত্রে কোনো quote ব্যবহার করার প্রয়োজন নেই। <br />
</p>
<h3>উদাহরণ: <br />
</h3>
<p>SELECT * FROM Customers<br />
WHERE CustomerID=1;<br />
<br />
<strong>WHERE ক্লজ প্রয়োগ করার সময় যে operator গুলো ব্যবহার করা হয়:</strong></p>
<table border=”1″ cellpadding=”1″ width=”100%”>
<tr>
<td width=”19%”><p align=”center”><strong>Operator</strong></p></td>
<td><p align=”center”><strong>ব্যাখ্যা</strong></p></td>
</tr>
<tr>
<td><p>=</p></td>
<td><p>সমান</p></td>
</tr>
<tr>

<>&nbsp;
<td><p>অসমান। যদিও SQL এর কোনো কোনো ভার্সনে এই অপারেটরকে != এভাবেও লেখা হয় </p></td>
</tr>
<tr>

>&nbsp;
<td><p>বড়</p></td>
</tr>
<tr>

<&nbsp;
<td><p>ছোট</p></td>
</tr>
<tr>
<td><p>&gt;=</p></td>
<td><p>সমান কিংবা বড়</p></td>
</tr>
<tr>
<td><p>&lt;=</p></td>
<td><p>সমান কিংবা ছোট</p></td>
</tr>
<tr>
<td><p>BETWEEN</p></td>
<td><p>নির্ধারণ করা একটি সীমার মধ্যে (দুই প্রান্তের ডাটার মানসহ)</p></td>
</tr>
<tr>
<td><p>LIKE</p></td>
<td><p>সাদৃশ আছে এমন</p></td>
</tr>
<tr>
<td><p>IN</p></td>
<td><p>একটি কলামে একাধিক সম্ভাব্য মান নির্ধারণ করতে </p></td>
</tr>
</table>

SQL Select Distinct Statement . SQL SELECT DISTINCT Statement

নাম-শারিফুল ইসলাম
Job category-Php Coder

বিষয়- SQL Select Distinct Statement
Distinct statement ব্যবহার করা হয় একই রকম duplicate ডাটা থেকে মাত্র ভিন্ন ভিন্ন ডাটাগুলো খুজে বের করার জন্য।
এই জন্য আমরা একটি user নামে ডাটাবেস তৈরি করি। তাতে ৪ টি ফিএলদ তৈরি করি name, email , pass, city. এবং এর মাঝে ৪-৫ টি ডাটা ইন্সেরত করি।
Name city email
Bappi Dhaka bappi@yahoo.com
Nipa Dhaka nipa@yahoo.com
Kabir shylet kabir@yahoo.com
এই ভাবে করে কিছু ডাটা অ্যাড করি এবং সেভ বাটন এ ক্লিক করি।SQL query window ওপেন করে আমরা এই কোড টুকু রুন করলে আমরা একটা ফলাফল দেখতে পারব।
SQL QUERY
SELECT DISTINCT `city` FROM user
তাহলে আমরা কোড টুকু রান করার পর শুধু city এর ঘরে একটি ঢাকা ডাটা দেখতে পাব।

SQL SELECT Statement (এসকিউএল বিবৃতি নির্বাচন):

SQL SELECT Statement (এসকিউএল বিবৃতি নির্বাচন):

Article By
Fazle Rabbi
B.Sc in CSE at PSTU

SELECT স্টেটমেন্ট একটি ডাটাবেস থেকে তথ্য নির্বাচন করতে ব্যবহার করা হয়।

The SQL SELECT Statement:
SELECT স্টেটমেন্ট একটি ডাটাবেস থেকে তথ্য নির্বাচন করতে ব্যবহার করা হয়।
এর ফল টেবিলের মধ্যে সংরক্ষিত হয়, যাকে রেজাল্ট সেট বলে।

SQL SELECT Syntax (এসকিউএল নির্বাচন সিনট্যাক্স):

SELECT column_name,column_name
FROM table_name;
এবং
SELECT * FROM table_name;

Demo Database(ডেমো ডাটাবেস):
এই টিউটোরিয়ালে আমরা সুপরিচিত প্রতিলিপি নমুনা ডাটাবেস ব্যবহার করব।
নীচে “Customers” টেবিল থেকে selection বা নির্বাচন দেখানো হয়েছে:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

SELECT Column Example(নির্বাচন কলাম উদাহরণ):
নিম্নোক্ত SQL বিবৃতি “Customers” টেবিল থেকে “CustomerName” এবং “City” কলাম কিভাবে SELECT বা নির্বাচন করতে হয় তার একটা উদাহরণ দেখানো হল:

SELECT CustomerName,City FROM Customers;

SELECT * Example:
নিম্নোক্ত SQL বিবৃতি “Customers” টেবিল থেকে সব কলাম নির্বাচন করবে:

SELECT * FROM Customers;

Navigation in a Result-set(রেজাল্ট সেটে ন্যাভিগেশন):
অধিকাংশ ডাটাবেস সফ্টওয়্যার সিস্টেম রেজাল্ট সেটে ন্যাভিগেশন অনুমতি দেয় নিন্মক্ত প্রোগ্রামিং ফাংশন বাবহারের মধ্যমে,
উদাহরন্সরুপঃ Move-To-First-Record, Get-Record-Content, Move-To-Next-Record, ইত্যাদি।

প্রোগ্রামিং ফাংশনগুলো এই টিউটোরিয়াল এর অংশ নয়. ফাংশান কলের সঙ্গে তথ্য অ্যাক্সেস সম্পর্কে জানতে, আমাদের এএসপি টিউটোরিয়াল বা আমাদের পিএইচপি টিউটোরিয়াল অনুগ্রহ করে পরিদর্শন করুন.

SQL কি? Introduction to SQL

SQL কি?

SQL কে আমরা Structured Query Language বলি। সাধারণত আমরা একে সংক্ষেপে SQL বলি। এসকিউএল একটি তথ্যভান্ডারের সঙ্গে যোগাযোগ করতে ব্যবহার করা হয়। ডেটাবেসের বেশিরভাগ কাজ এসকিউয়েল স্টেটমেন্ট এর দ্বারা করা যায়। ANSI (আমেরিকান ন্যাশনাল স্ট্যান্ডার্ড ইনস্টিটিউট) মতে, এটি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম জন্য আদর্শ ভাষা। এসকিউএল স্টেটমেন্ট কোন ডেটাবেস থেকে তথ্য একটি ডাটাবেসের উপর আপডেট করা কর্ম সঞ্চালন।

এসকিউয়েল দিয়ে কি কি করা যায়ঃ

১। নতুন একটা ডেটাবেস তৈরী করা যায়।
২। নতুন টেবিল তৈরী করা যায়।
৩। Query করা যায়।
৪। ডেটাবেস থেকে ডেটা তুলে আনা যায়।
৫। ডেটাবেসে নতুন রেকর্ড ঢুকানো যায়।
৬। রেকর্ড আপডেট করা যায় ইত্যাদি।

কিভাবে আপনার ওয়েব সাইটের এ এসকিউএল ব্যবহার করবেনঃ

কোন ডেটাবেস থেকে তথ্য প্রদর্শন এমন একটি ওয়েব সাইট তৈরি করার জন্য, আপনাকে করতে হবে-

১। একটি RDBMS ডাটাবেস প্রোগ্রাম (অর্থাৎ মাইক্রোসফট এক্সেস, এসকিউএল সার্ভার, মাইএসকিউএল)
২। পিএইচপি বা এএসপি মত একটি সার্ভার সাইড স্ক্রিপ্টিং ভাষা ব্যবহার করা।
৩। HTML / CSS এর ব্যবহার করা।

ধন্যবাদ।

এসকিউএল টিউটোরিয়াল . SQL Tutorial

এসকিউএল টিউটোরিয়াল
Sheikh Mahfuzur Rahman

এসকিউএল(SQL) হলো ডাটাবেজগুলোতে প্রবেশ বা অ্যাক্সেস করার জন্য একটি প্রোগ্রামিং ভাষা। যারা ওয়েব ডেভলাপার হতে চান তাদের জন্য এসকিউএল একটি অত্যন্ত গুরুত্বপূর্ণ ল্যাঙ্গুয়েজ। আমাদের টিউটোরিয়ালগুলো আপনাকে এসকিউএল এর যথাযথ ব্যবহার শেখাবে যাতে আপনি এই ভাষাটি ব্যবহার করে মাইএসকিউএল(MySQL), এসকিউএল সার্ভার(SQL Server), মাইক্রোসফট অ্যাক্সেস(Access), ওরাকল(Oracle), সিবেইজ(SyBase), ডিবিটু(DB2) এবং অন্যান্য ডাটাবেজ সিস্টেমে প্রবেশ এবং ডাটা মেন্যুপিউলেট করতে পারেন।

প্রত্যেক অধ্যায়ের উদাহরণসমূহঃ
আমাদের অনলাইন এসকিউএল এডিটরের মাধ্যমে আপনি এসকিউএল স্টেইটমেন্ট এডিট করতে পারবেন এবং একটি বাটনে ক্লিক করে তার ফলাফল জানতে পারবেন।

এই প্রক্রিয়াটি কিভাবে কাজ করে তা বুঝার জন্য উপরের ট্রাই ইট ইউরসেলফ(Try It Yourself) বাটনে ক্লিক করুন।

এখনই এসকিউএল শেখা শুরু করুন!

এসকিউএল কুইজ টেস্ট
আমাদের সাইটের এসকিউএল কুজ টেস্টে অংশ নিয়ে আপনার এসকিউএল দক্ষতা যাচাই করুন!

এসকিউএল কুইক রেফারেন্স
নিচের লিংকটিতে আছে একটি এসকিউএল কুইক রেফারেন্স। এটি প্রিন্ট করে নিন এবং আপনার সাথে রাখুন!

এসকিউএল ডাটা টাইপ
মাইক্রোসফট অ্যাক্সেস, মাইএসকিউএল এবং এসকিউএল সার্ভার এর ডাটা টাইপ ও রেঞ্জগুলো সম্পর্কে ধারণা পেতে নিচের লিংকে ভিজিট করুন।

তাছাড়া আপনার এসকিউএল দক্ষতার স্বীকৃতি পেতে এবং পেশাগতভাবে সেটিকে কাজে লাগাতে আমাদের অনলাইন পরীক্ষাগুলোতে অংশ নিন!

SQL ইউনিক Constraint . SQL Unique Constraint

SQL ইউনিক Constraint
RIAZ-UL-HAQUE MIAN
ইউনিক Constraint একটি টেবিল এর যেকোনো একটি কলাম এর স্বতন্ত্রতা/ uniqueness কে বুঝায় . টেবিল এর প্রাইমারি কি সেট করলে তা automatically ইউনিক Constraint হয়ে যায়। তাহলে প্রশ্ন হলো ইউনিক Constraint দরকার কি ? কারণ আপনি একটা টেবিল এর একটা মাত্র কলাম কে ই প্রাইমারি কি করতে পারবেন , কিন্ত যদি আপনার একটা টেবিল এ একাধিক কলাম কে ইউনিক করতে হয় তাহলে SQL ইউনিক Constraint ব্যবহার করতে হবে |
টেবিল এর ইউনিক Constraint কে দুই ভাবে সেট করা যায় । প্রথম টি হলো টেবিল তৈরী করার সময় create Table starement ব্যবহার করে আর অন্য টি হলো টেবিল অল্টার করে, অর্থাত একটা টেবিল alrady তৈরী করা আছে তার কোনো একটা কলাম কে alter table statement ব্যবহার করে |
এখন আমরা দেখব টেবিল তৈরী করার সময় কি ভাবে সেট করে |
ধরে নেই আমাদের একটা টেবিল তৈরী করতে হবে যার নাম Persons এবং সেই টেবিল এর একটা কলাম P_Id যাকে আমরা SQL ইউনিক Constraint সেট করব |
SQL Server / Oracle / MS Access queary টি হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
আর MySQL জন্য হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)
এই কাজ টি একাধিক কলাম এর জন্য করতে হলে নিচের queary টি লিখতে হবে (MySQL / SQL Server / Oracle / MS Access:)
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

এত্তক্ষন আমরা দেখলাম কিভাবে একটা টেবিল তৈরী করার সময় ইউনিক Constraint
সেট করে। এবার মনে করি Persons টেবিল টি আগে থাকে ই তৈরী করা আছে এখন আমাদের কে P_Id ইউনিক Constraint সেট করতে হবে। এক্ষেত্রে আমরা অল্টার টেবিল statement ব্যবহার করব
ALTER TABLE Persons
ADD UNIQUE (P_Id)
সব শেষে দেখব কিভাবে কে ইউনিক Constraint রিমুভ করে । এক্ষেত্রে MySQL ও SQL Server / Oracle / MS Access SQL starement নিচে দিয়া হলো
MySQL ক্ষেত্রে query টি হবে নিন্মরূপ :
ALTER TABLE Persons
DROP INDEX uc_PersonID
আর SQL Server / Oracle / MS Access ক্ষেত্রে quraery টি হবে নিন্মরূপ :
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

SQL ডিফল্ট Constraint

SQL ডিফল্ট Constraint
NAZMA AKHRET
টেবিল এ যখন কোনো নতুন ভ্যালু insert করা হয় তখন কোনো টেবিল এর কোনো ফিল্ড এ ফিক্সড কোনো ভ্যালু সেট করতে হলে default (ডিফল্ট) Constraint ব্যবহার করতে হবে | যখন কোনো নিউ ভ্যালু টেবিল এ insert করা হবে তখন default (ডিফল্ট) Constraint টি row insert সাথে insert হয়ে যাবে |
এখন আমরা দেখব টেবিল তৈরী করার সময় কি ভাবে সেট করে | উধারণ সরূপ আমরা Persons Table এর city (সিটি) কলাম এ সব সময় Dhaka (ঢাকা) সেট করতে চাই সেক্ষেত্রে SQL syntax হবে :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT ‘Dhaka’
)
default (ডিফল্ট) Constraint এ SQL server function ও ব্যবহার করা যায় যেমন
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
এত্তক্ষন আমরা দেখলাম কিভাবে একটা টেবিল তৈরী করার সময় default (ডিফল্ট) Constraint সেট করে। এবার মনে করি Persons টেবিল টি আগে থাকে ই তৈরী করা আছে এখন আমাদের কে city column এর ডিফল্ট ভ্যালু Dhaka (ঢাকা) করতে হবে এক্ষেত্রে আমরা অল্টার টেবিল statement ব্যবহার করব
MySQL:
ALTER TABLE Persons
ALTER City SET DEFAULT ‘SANDNES’
SQL Server / MS Access:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT ‘SANDNES’
Oracle:
ALTER TABLE Persons
MODIFY City DEFAULT ‘SANDNES’

সব শেষে দেখব কিভাবে কে default (ডিফল্ট) Constraint রিমুভ করে । এক্ষেত্রে MySQL ও SQL Server / Oracle / MS Access SQL starement নিচে দিয়া হলো
MySQL ক্ষেত্রে query টি হবে নিন্মরূপ :
ALTER TABLE Persons
ALTER City DROP DEFAULT
আর SQL Server / Oracle / MS Access ক্ষেত্রে quraery টি হবে নিন্মরূপ :
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

Title: SQL CREATE INDEX Statement . SQL Create Index Statement

Title: SQL CREATE INDEX Statement
অনুবাদক: ফয়সাল রকি (এম.এ)
Total word count: 247

—————————————————–
CREATE INDEX স্টেটমেন্টের সাহায্যে কোনো table এর index প্রস্তুত করা হয়।
index ব্যবহার করে database application এর সাহায্যে কোন table এর মধ্যকার data কে সহজে খুঁজে বের করা যায়। এক্ষেত্রে পুরো table টি খুঁজতে হয় না, ফলে দ্রুত data খুঁজে পাওয়া যায়।

Indexes
index এর সাহায্যে table এর মধ্যকার data দ্রুত ও দক্ষতার সাথে খুঁজে পাওয়া যায়। এক্ষেত্রে ব্যবহারকারী index কে দেখতে পায় না তবে দ্রুত ও দক্ষতার সাথে search বা query সম্পন্ন হয়।
নোট: যেসকল table এ index যুক্ত করা থাকে সেসকল table কে update করতে index বিহীন table অপেক্ষা বেশি সময় প্রয়োজন হয়, কেননা data এর পাশাপাশি index-ও update হয়।

SQL CREATE INDEX Syntax
একটি table এ নিম্নোক্ত উপায়ে index তৈরি করা যায় (Duplicate values গ্রহণযোগ্য/ থাকতে পারে):
CREATE INDEX index_name
ON table_name (column_name)

SQL CREATE UNIQUE INDEX Syntax
একটি table এ নিম্নোক্ত উপায়ে unique index তৈরি করা যায় (Duplicate values অ্গ্রহণযোগ্য/থাকবে না):
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
উল্লেখ্য যে, ভিন্ন ভিন্ন database এ index তৈরি করার ক্ষেত্রে syntax এর পার্থক্য হতে পারে। তাই আপনার database এর index তৈরি করার সময় syntax টি ভালভাবে check করুন।

CREATE INDEX উদাহরণ
নিম্নোক্ত SQL statement এর সাহায্যে “Persons” table এর “LastName” column এ “PIndex” নামক index তৈরি করা হয়েছে:
CREATE INDEX PIndex
ON Persons (LastName)

যদি আপনি একাধিক column এর মধ্যে index তৈরি করতে চান তাহলে প্রথম বন্ধনী বা parentheses এর মধ্যে comma separated বা কমা’র সাহায্যে আলাদা করে column এর list করতে পারেন।নিম্নে একটি উদাহরণ দেয়া হলো:
CREATE INDEX PIndex
ON Persons (LastName, FirstName)

এসকিউএল কন্সট্রেইন্টস . SQL Constraints

Sheikh Mahfuzur Rahman
Blogger @ BloggersEcho.Com
Bengali Word Count: 155-159

এসকিউএল কন্সট্রেইন্টস

ওয়েব ডাটাবেজ ল্যাঙ্গুয়েজ এসকিউএল(SQL) এ কন্সট্রেইন্টগুলো(Constraints) কোন টেবলের ডাটাগুলোর রুলস বা নীতি নির্ধারণে ব্যবহৃত হয়। এক্ষেত্রে ডাটা অ্যাকশান এবং কন্সট্রেইন্টের নীতির মধ্যে সাংঘর্ষিক(Violation) কিছু ঘটলে কন্সট্রেইন্টের কার্যকারিতা বাতিল হয়ে যায়। যখন টেবল তৈরি করা হয় তখন CREATE TABLE স্টেটম্যান্টের ভিতরে অথবা টেবল তৈরি করার পর ALTER TABLE স্টেটম্যান্টের ভিতরে কন্সট্রেইন্টগুলো নির্দিষ্ট করে দেয়া যায়।

এসকিউএল ক্রিয়েট টেবল + কন্সট্রেইন্ট সিন্ট্যাক্স:

CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
….
);

এসকিউএল-এ নিচের কন্সট্রেইন্টগুলো রয়েছেঃ

NOT NULL – নির্দেশ করে যে একটি কলাম নাল ভ্যালু ধারণ করতে পারবেনা।

UNIQUE – একটি কলামের প্রত্যেক রো এর ইউনিক ভ্যালু নিশ্চিত করে।

PRIMARY KEY – এটি হলো নট নাল ও উনিক এর সমন্বয়। নিশ্চিত করে যে একটি কলাম অথবা দুই বা আরও বেশী কলাম কম্বিনশনের একটি ইউনিক বা অনন্য পরিচিতি থাকে যা একটি টেবলে কোন নির্দিষ্ট রেকর্ড সহজে এবং দ্রুততার সাথে খুঁজে পেতে সাহাজ্য করে।

FOREIGN KEY – একটি টেবলের ডাটার রেফারেন্সিয়াল ইন্টিগ্রিটি নিশ্চিত করে যাতে অন্য টেবলের ভ্যালুগুলোর সাথে মেলানো যায়।

CHECK – কোন কলামের ভ্যালু যেন একটি নির্দিষ্ট বৈশিষ্ট্য অর্জন করে তা নিশ্চিত করে।

DEFAULT – কলামের জন্য যখন কোন ভ্যালু নির্ধারণ করা হয় হয় না তখন এটি একটি ডিফল্ট ভ্যালু নির্ধারন করে দেয়।

এই ছিল এসকিউএল কস্ট্রেইন্টগুলোর প্রাথমিক ধারনা। পরবর্তী অধ্যায়ে প্রতিটি কন্সট্রেইন্ট সম্পর্কে বিস্তারিতভাবে আলোচনা করা হবে।

SQL এর PRIMARY KEY তথা প্রাথমিক চাবি এর বাধ্যবাদকতা।SQL Primary Key Constraint

SQL এর PRIMARY KEY তথা প্রাথমিক চাবি এর বাধ্যবাদকতা।
ফাছিহুর রহমান।
MSCSE From Royal University of Dhaka.
টেকনিক্যার এক্সপার্ট, বাংলাদেশ নির্বাচন কমিশন সচিবালয়।

SQL এর প্রাথমিক কি এর বাধ্যবাদকতা।
প্রাথমিক কি বাধ্যবাদকতাটি ডাটাবেজের টেবিলের প্রত্যেকটি Record তথা ক্ষেত্রকে নির্দিষ্ট ভাবে চিন্হিত করে। প্রাথমিক কি অবশ্যয় নির্দিষ্ট মান বহন করে। একটি primary key সম্বলীত কলামকে কখন ও খালি রাখা কে গ্রহণ করে না। অধিকাংশ টেবিলগুলোতে একটি primary key থাকে এবং প্রত্যেক টা টেবিলে শুধুমাত্র একটি primary key থাকে।
SQL এ একটি টেবিল তৈরীতে primary key এর বাধ্যবাদকতা।
নিন্মোক্ত SQL এ Persons টেবিল তৈরীতে P_Id কলামকে primary key হিসেবে তৈরী করা হয়েছে।
MySQL এ PRIMARY KEY তৈরী করার উদাহরণ।
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
উক্ত Persons টেবিলে P_Id কলামকে PRIMARY KEY তৈরী করা হয়েছে।
SQL Server / Oracle / MS Access: এ PRIMARY KEY তৈরী করার উদাহরণ।
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
উক্ত Persons টেবিলে P_Id কলামকে PRIMARY KEY তৈরী করা হয়েছে।
PRIMARY KEY এর বাধ্যবাদকতার নামকরণ এবং একাধিক কলামে PRIMARY KEY কে নির্দিষ্ট করার জন্য নিন্মোক্ত SQL নিয়মঃ
MySQL / SQL Server / Oracle / MS Access: এ একাধিক কলামে PRIMARY KEY তৈরী করার উদাহরণ।
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
বিঃদঃ- উক্ত Persons টেবিলে মাত্র pk_PersonID কলাম কে PRIMARY KEY করা হয়েছে তথাপ ও pk_PersonID কলামের মান তথা value কে দুইটি কলামে( P_Id ও LastName) বিভক্ত করা হয়েছে।
SQL একটি তৈরীকৃত টেবিলে PRIMARY KEY এর বাধ্যবাদকতাঃ
একটি তৈরীকৃত টেবিলে P_Id কলামকে PRIMARY KEY এর বাধ্যবাদকতা হিসেবে তৈরী করতে নিন্মোক্ত SQL কমান্ড ব্যবহার করা হয়ঃ
MySQL / SQL Server / Oracle / MS Access: এ ব্যবহার
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
PRIMARY KEY এর বাধ্যবাদকতার নামকরণ এবং একাধিক কলামে PRIMARY KEY কে নির্দিষ্ট করার জন্য নিন্মোক্ত SQL নিয়ম ঃ
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

বিঃদঃ- যদি তুমি একটি তৈরীকৃত টেবিল হতে অন্য একটি টেবিল তৈরীতে একটি primary key সংযোগ করতে চাও তবে অবশ্যই primary key হিসেবে ঘোষিত কলামটিকে কিছু না দিয়ে খালী রাখা যাবে না মর্মে উল্লেখ করতে হবে(এটা প্রথম টেবিল তৈরীতে)।
PRIMARY KEY এর বাধ্যবাদকতাকে বাদ দেয়াঃ
একটি PRIMARY KEY এর বাধ্যবাদকতাকে বাদ দিতে হলে নিন্মোক্ত SQL কমান্ড ব্যবহার করতে হয়।
MySQL: এ নিন্মোক্ত কমান্ড
ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access: এ নিন্মোক্ত কমান্ড
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID