SQL statement এ ALTER FUNCTION এর বাবহার . SQL Alter Table Statement

নাম-শারিফুল ইসলাম
Job category-Php Coder
বিষয়- SQL statement এ ALTER FUNCTION এর বাবহার
Alter এই statement টি mysql এ বাবহার করা হয় database table এর মধ্যে কিছু ফিল্ড যোগ ,বাদ বা সংযোজন করার জন্য। আসলে কিভাবে করতে হয় তা আমরা একটি টেবিল তৈরি করার মাধমে জানতে পারব এবং কিভাবে সেখানে sql statement বাবহার করব সেই নিয়ম অনুসরন করব। প্রথমে আমরা ব্রাউজার ওপেন করে এড্রেস বারে লিখব localhost সেইখান থেকে phpmyadmin এ ক্লিক করি।উপরের মেনুবার থেকে database এ ক্লিক করি। create database field এর ঘরে টাইপ করি user এবং ডানপাশে create বাটন এ ক্লিক করি। এর মাধমে আমাদের user database তৈরি হয়ে গেল।এখন আমরা persons নামে একটি টেবিল তৈরি করব। সেখানে ৫ টি ফিল্ড তৈরি করব। বামপাছ থেকে user database এ ক্লিক করি। এখন টেবিল তৈরি করার জন্য জাইগা দিবে। টেবিল এর ঘরে লিখি persons এবং column এর ঘরে ৫ লিখি।এই ৫ টি কলাম এ ৫ টি ফিল্ড এর নাম লিখব। এবং তাদের settings গুলো ঠিক করে দিব।
Column1
Name-P_id, auto increment এ তিক দেই
Column2
Name-LastName, type-text, length-50
Column3
Name-FirstName, type-text, length-50
Column4
Name-Address, type-varchar, length-250
Column5
Name-City, type-text, length-50
এবং সবশেষে সেভ button ক্লিক করি। আমাদের database তৈরি হয়ে গেল। এখন আমাদের alter sql statement বাবহার করতে হবে। উপরের মেনু থেকে sql মেনুতে ক্লিক করি একটি textarea বক্স আসবে এখানে আমরা statement লিখব। ধরুন আমরা নতুন একটা ফিল্ড DateofBirth নামে যোগ করব।
বক্স এর মধ্যে আমরা টাইপ করি “ALTER TABLE Persons ADD COLUMN DateofBirth Date”। এবং সবশেষে go বাটন এ ক্লিক করি দেখুন অই নামে নতুন একটি কলাম যোগ হয়েছে।
আমাদের কোন কলাম পরিবরতন করার দরকার পরতে পারে।আমরা আবার আগের মতন বক্স এ টাইপ করি
“ALTER TABLE Persons ALTER COLUMN Birth Date” দেখুন DateofBirth ফিল্ড টি পরিবরতন হয়ে নতুন নাম হয়েছে শুধু Birth.
যদি কোন কলাম বাদ দিতে চাই তার জন্য এই statement বাবহার করব
“ALTER TABLE Persons DROP COLUMN Birth Date” go বাটন এ ক্লিক করার সাথে সাথে দেখুন আমাদের এই কলাম তা বাদ হয়ে গেছে। এই ভাবেই আমাদের SQL statement e এ ALTER Function ব্যবহার করতে হয়।

: SQL Views

Title: SQL Views
অনুবাদক: ফয়সাল রকি (এম.এ)
Total words in the article: 478

SQL এ view বলতে virtual table এর view কে বোঝায়, অর্থাৎ real table কে virtually দেখানো হয়।
কিভাবে view create, update বা delete করা হয় তা এই অধ্যায়ে আলোচনা করা হবে।

SQL CREATE VIEW Statement
SQL statement এর result-set এর উপর ভিত্তি করে virtual table তৈরির মাধ্যমে view দেখানো হয়।
View এর ক্ষেত্রে real table এর মতোই rows এবং columns থাকে। View এর fields গুলো database এর এক বা একাধিক real table হতে নেয়া হয়।
view এবং present করার ক্ষেত্রে যদি একটি মাত্র table হতে data নেয়া হয় তাহলে WHERE ও JOIN এর মতো SQL functions গুলো add করা যাবে।

SQL CREATE VIEW Syntax
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
নোট: view এর মাধ্যমে সবর্দাই হালনাগাদ বা up-to-date data দেখানো হয়। কোনো user যখন SQL statement view এর জন্য query করে তখন database engine ডাটাকে recreate করে দেখায়।

SQL CREATE VIEW Examples
আপনার কাছে যদি Northwind database টি থাকে তাহলে আপনি দেখবেন যে সেখানে by default অনেকগুলো view ইন্সটল রয়েছে।
“Current Product List” View টিতে শুধুমাত্র active product গুলোকে দেখানো হয়, অর্থাৎ যেসকল product active নয় বা পরবর্তীতে discontinue করেছে সেগুলোকে দেখানো হয়নি। নিম্নোক্ত SQL এর সাহায্যে View টি প্রস্তুত করা হয়েছে।
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Current Product List]

Northwind sample database এর অন্য আরেকটি View এর ক্ষেত্রে “Products” table এর যেসকল Product এর unit price গড় বা average unit price এর চেয়ে বেশি সেগুলোকে নিম্নোক্তভাবে দেখানো যায়:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Products Above Average Price]

Northwind sample database এর অন্য আরেকটি View এর ক্ষেত্রে প্রত্যেক category তে 1997 সালের মোট বিক্রয় বা total sale এর calculation দেখানো হয়েছে। এখানে উল্লেখ্য যে, এই View এর ডাটাগুলো অন্য আরেকটি View “Product Sales for 1997” হতে নেয়া হয়।
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Category Sales For 1997]
আমরা এই query তে condition যোগ করতে পারি। আমরা শুধূ মাত্র “Beverages” Category এর total sale দেখার জন্য নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName=’Beverages’

SQL Updating a View
নিম্নোক্ত syntax ব্যবহার করে View কে update করা যেতে পারে।

SQL CREATE অথবা REPLACE VIEW Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

এখন যদি আমরা “Current Product List” view এ “Category” column টি যোগ করতে চাই, তাহলে নিম্নোক্ত SQL এর মাধ্যমে View টিকে update করতে হবে।
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

SQL Dropping a View
DROP VIEW command এর সাহায্যে কোনো View কে delete করা যায়।
SQL DROP VIEW Syntax
DROP VIEW view_name

SQL (এসকিউএল) CREATE INDEX স্টেটমেন্ট

SQL (এসকিউএল) CREATE INDEX স্টেটমেন্ট
Article By : Protap Chandra

ইনডেক্স শব্দের অর্থ হলো সূচিকরণ। সহজে ও কম সময়ে ডাটা খুঁজে বের করার জন্য ডাটাকে একটি বিশেষ অর্ডারে সাজিয়ে রাখাকে ইনডেক্সিং বলে। টেবিলের ডাটাকে ইনডেক্সিং করতে CREATE INDEX স্টেটমেন্ট ব্যবহার করা হয়। ইনডেক্স করা থাকলে খুব সহজে ডাটা খুঁজে বের করা যায়। ডাটা নির্বাচন করতে ডাটাবেজ অ্যাপ্লিকেশনকে পুরো টেবিল পড়তে হয় না। তবে ডাটাবেজ ব্যবহারকারীরা কিন্তু ইনডেক্স অংশটি দেখতে পায় না।

যে টেবিলে ইনডেক্স করা থাকে সেই টেবিল আপডেট করতে তুলনামূলক বেশি সময় লাগে। কারণ বিদ্যমান ইনডেক্সিংয়েরও আপডেট প্রয়োজন হয়। একারণে, কেবল সেইসব টেবিল এবং কলামে ইনডেক্স করা উচিত যেগুলো হরহামেশা সার্চ করার প্রয়োজন হয়।

এসকিউএল CREATE INDEX স্টেটমেন্ট এর গঠনরীতি:
নিচের স্টেটমেন্টটি একটি টেবিলে ইনডেক্স তৈরী করবে। এটির ক্ষেত্রে duplicate (নকল) ভ্যালুও তৈরী হতে পারে।

CREATE INDEX index_name
ON table_name (column_name)

এসকিউএল CREATE UNIQUE INDEX স্টেটমেন্ট এর গঠনরীতি:
নিচের স্টেটমেন্টটি একটি টেবিলে অনন্য (unique) ইনডেক্স তৈরী করবে। এখানে duplicate ভ্যালু তৈরী হবে না।

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

আরো উল্লেখ করা প্রয়োজন যে, আলাদা আলাদা ডাটাবেজে indexe করার গঠনরীতি বা syntax আলাদা হতে পারে। তাই যে ডাটাবেজ নিয়ে কাজ করছেন সেই ডাটাবেজের ইনডেক্স গঠনরীতি ভালো করে জেনে নিতে হবে।

CREATE INDEX এর উদাহরণ:

ইনডেক্স তৈরী করার সময় ইনডেক্সের একটা নাম দিতে হয়। নিচের SQL স্টেটমেন্টটি “Persons” টেবিলের “LastName” কলামে একটি ইনডেক্স তৈরী করবে, যার নাম হবে “PIndex”.

CREATE INDEX PIndex
ON Persons (LastName)

একাধিক কলামের উপরেও ইনডেক্স তৈরী করা যায়। সেক্ষেত্রে কলামগুলোর নাম বন্ধনীর ভেতর কমা দিয়ে আলাদা করে লিখতে হবে। যেমন:

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

এসকিউএল ফুল আউটার জয়েন কিওয়ার্ড . SQL FULL OUTER JOIN Keyword

এসকিউএল ফুল আউটার জয়েন কিওয়ার্ড
Sheikh Mahfuzur Rahman

FULL OUTER JOIN কিওয়ার্ড বাম দিকের টেবল(table1) এবং ডান দিকের টেবলের(table2) সবগুলো সারিকে ফেরত দেয়। FULL OUTER JOIN কিওয়ার্ড LEFT ও RIGHT উভয় সংযোগ-স্থলকেই মিলিয়ে দেয়।

এসকিউএল FULL OUTER JOIN সিন্টেক্সটঃ
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

নমুনা ডাটাবেজ
এই টিউটোরিয়ালে আমরা সুপরিচিত নর্থউইন্ড(Northwind) নমুনা ডাটাবেজ ব্যবহার করব। নিচে “Customers” টেবলের একটি অংশকে তুলে ধরা হয়েছেঃ

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

এবং এই অংশটি “Orders” টেবল থেকে নেয়া হয়েছেঃ

OrderID
CustomerID
EmployeeID
OrderDate
ShipperID
10308
2
7
1996-09-18
3
10309
37
3
1996-09-19
1
10310
77
8
1996-09-20
2

এসকিউএল FULL OUTER JOIN এর উদাহরণ
নিচের এসকিউএল স্টেটমেন্টটি সব কাস্টমার এবং সবগুলো অর্ডারকে নির্বাচন করেঃ
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

এই জন্য যে ফলাফল তৈরি হয় তার একটি বাছাইকরা অংশটি ঠিক এরকম দেখাবেঃ

CustomerName
OrderID
Alfreds Futterkiste

Ana Trujillo Emparedados y helados
10308
Antonio Moreno Taquería
10365

10382

10351

লক্ষ্যনীয়ঃ FULL OUTER JOIN কিওয়ার্ড বাম দিকের টেবল(Customers) এবং ডান দিকের টেবলের(Orders) সবগুলো সারিকে ফেরত দিয়েছে। যদি “Customers” টেবলে এমন কিছু সারি থাকে যা “Orders” টেবলের সাথে মিলেনা অথবা “Orders” টেবলের সারিগুলোর কোনটি যদি “Customers” টেবলের সাথে না মিলে তাহলে ঐ রো বা সারিগুলোও লিস্টে চলে আসবে।

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

SQL (এসকিউএল) UNIQUE কনস্ট্রেইন্ট

Author: Protap Chandra | sincerely.yours2512[at]gmail.com

UNIQUE অর্থ অনন্য বা অদ্বিতীয়। অর্থাত একই জিনিস দুটি হতে পারবে না। একটি ডাটাবেজ টেবিলে ইউনিক ডাটা স্টোর করা হয় ডাটা সার্চ করার সময় বিভ্রান্তি এড়াতে। যে কলামের ডাটা ইউনিক হিসেবে ঘোষণা করা হবে সেই কলামের একটি রেকর্ডের সঙ্গে অন্য রেকর্ডের সামান্য হলেও তফাত থাকতে হবে।

UNIQUE এবং PRIMARY KEY উভয় কনস্ট্রেইন্ট এক বা একাধিক কলামে অনন্য মান প্রবেশ করানো নিশ্চিত করে। PRIMARY KEY কনস্ট্রেইন্ট স্বয়ংক্রিয়ভাবে ইউনিক মান জমা করানোর নির্দেশ প্রাপ্ত হয়। তবে এটা স্মরণ রাখা প্রয়োজন যে একটি টেবিলে অনেকগুলো কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করা যায় কিন্তু প্রতি টেবিল মাত্র একটি PRIMARY KEY কনস্ট্রেইন্ট ধারণ করতে পারে।

টেবিল তৈরীর সময় এসকিউএল UNIQUE কনস্ট্রেইন্ট প্রয়োগ:

ধরা যাক আমরা “Persons” নামের একটি টেবিল তৈরী করছি। “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট ব্যবহার কতে চাইলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

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)

)

একাধিক কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করতে গেলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

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)

)

ALTER TABLE কমান্ডের সাথে UNIQUE কনস্ট্রেইন্ট:

ধরা যাক “Persons” টেবিলটি তৈরী করা হয়ে গেছে। তৈরীর সময় UNIQUE কনস্ট্রেইন্ট প্রয়োগ করা হয়নি। এখন সেই কাজটি করতে চাইলে ALTER TABLE কমান্ড দিয়ে সেটি করতে হবে। নিচের স্টেটমেন্ট “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD UNIQUE (P_Id)

নিচের এসকিউএল স্টেটমেন্ট একাধিক কলামে (P_Id এবং LastName) UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

UNIQUE কনস্ট্রেইন্ট মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:

MySQL এর ক্ষেত্রে:

ALTER TABLE Persons

DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

SQL (এসকিউএল) UNIQUE কনস্ট্রেইন্ট . SQL Unique Constraint

SQL (এসকিউএল) UNIQUE কনস্ট্রেইন্ট

Author: Protap Chandra | sincerely.yours2512[at]gmail.com

UNIQUE অর্থ অনন্য বা অদ্বিতীয়। অর্থাত একই জিনিস দুটি হতে পারবে না। একটি ডাটাবেজ টেবিলে ইউনিক ডাটা স্টোর করা হয় ডাটা সার্চ করার সময় বিভ্রান্তি এড়াতে। যে কলামের ডাটা ইউনিক হিসেবে ঘোষণা করা হবে সেই কলামের একটি রেকর্ডের সঙ্গে অন্য রেকর্ডের সামান্য হলেও তফাত থাকতে হবে।

UNIQUE এবং PRIMARY KEY উভয় কনস্ট্রেইন্ট এক বা একাধিক কলামে অনন্য মান প্রবেশ করানো নিশ্চিত করে। PRIMARY KEY কনস্ট্রেইন্ট স্বয়ংক্রিয়ভাবে ইউনিক মান জমা করানোর নির্দেশ প্রাপ্ত হয়। তবে এটা স্মরণ রাখা প্রয়োজন যে একটি টেবিলে অনেকগুলো কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করা যায় কিন্তু প্রতি টেবিল মাত্র একটি PRIMARY KEY কনস্ট্রেইন্ট ধারণ করতে পারে।

টেবিল তৈরীর সময় এসকিউএল UNIQUE কনস্ট্রেইন্ট প্রয়োগ:

ধরা যাক আমরা “Persons” নামের একটি টেবিল তৈরী করছি। “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট ব্যবহার কতে চাইলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

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)

)

একাধিক কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করতে গেলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

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)

)

ALTER TABLE কমান্ডের সাথে UNIQUE কনস্ট্রেইন্ট:

ধরা যাক “Persons” টেবিলটি তৈরী করা হয়ে গেছে। তৈরীর সময় UNIQUE কনস্ট্রেইন্ট প্রয়োগ করা হয়নি। এখন সেই কাজটি করতে চাইলে ALTER TABLE কমান্ড দিয়ে সেটি করতে হবে। নিচের স্টেটমেন্ট “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD UNIQUE (P_Id)

নিচের এসকিউএল স্টেটমেন্ট একাধিক কলামে (P_Id এবং LastName) UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

UNIQUE কনস্ট্রেইন্ট মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:

MySQL এর ক্ষেত্রে:

ALTER TABLE Persons

DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

SQL (এসকিউএল) LEFT JOIN কীওয়ার্ড . SQL LEFT JOIN Keyword

SQL (এসকিউএল) UNIQUE কনস্ট্রেইন্ট

Author: Protap Chandra | sincerely.yours2512[at]gmail.com

UNIQUE অর্থ অনন্য বা অদ্বিতীয়। অর্থাত একই জিনিস দুটি হতে পারবে না। একটি ডাটাবেজ টেবিলে ইউনিক ডাটা স্টোর করা হয় ডাটা সার্চ করার সময় বিভ্রান্তি এড়াতে। যে কলামের ডাটা ইউনিক হিসেবে ঘোষণা করা হবে সেই কলামের একটি রেকর্ডের সঙ্গে অন্য রেকর্ডের সামান্য হলেও তফাত থাকতে হবে।

UNIQUE এবং PRIMARY KEY উভয় কনস্ট্রেইন্ট এক বা একাধিক কলামে অনন্য মান প্রবেশ করানো নিশ্চিত করে। PRIMARY KEY কনস্ট্রেইন্ট স্বয়ংক্রিয়ভাবে ইউনিক মান জমা করানোর নির্দেশ প্রাপ্ত হয়। তবে এটা স্মরণ রাখা প্রয়োজন যে একটি টেবিলে অনেকগুলো কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করা যায় কিন্তু প্রতি টেবিল মাত্র একটি PRIMARY KEY কনস্ট্রেইন্ট ধারণ করতে পারে।

টেবিল তৈরীর সময় এসকিউএল UNIQUE কনস্ট্রেইন্ট প্রয়োগ:

ধরা যাক আমরা “Persons” নামের একটি টেবিল তৈরী করছি। “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট ব্যবহার কতে চাইলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

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)

)

একাধিক কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করতে গেলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

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)

)

ALTER TABLE কমান্ডের সাথে UNIQUE কনস্ট্রেইন্ট:

ধরা যাক “Persons” টেবিলটি তৈরী করা হয়ে গেছে। তৈরীর সময় UNIQUE কনস্ট্রেইন্ট প্রয়োগ করা হয়নি। এখন সেই কাজটি করতে চাইলে ALTER TABLE কমান্ড দিয়ে সেটি করতে হবে। নিচের স্টেটমেন্ট “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD UNIQUE (P_Id)

নিচের এসকিউএল স্টেটমেন্ট একাধিক কলামে (P_Id এবং LastName) UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

UNIQUE কনস্ট্রেইন্ট মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:

MySQL এর ক্ষেত্রে:

ALTER TABLE Persons

DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

SQL (এসকিউএল) RIGHT JOIN কীওয়ার্ড . SQL RIGHT JOIN Keyword

SQL (এসকিউএল) UNIQUE কনস্ট্রেইন্ট

Author: Protap Chandra | sincerely.yours2512[at]gmail.com

UNIQUE অর্থ অনন্য বা অদ্বিতীয়। অর্থাত একই জিনিস দুটি হতে পারবে না। একটি ডাটাবেজ টেবিলে ইউনিক ডাটা স্টোর করা হয় ডাটা সার্চ করার সময় বিভ্রান্তি এড়াতে। যে কলামের ডাটা ইউনিক হিসেবে ঘোষণা করা হবে সেই কলামের একটি রেকর্ডের সঙ্গে অন্য রেকর্ডের সামান্য হলেও তফাত থাকতে হবে।

UNIQUE এবং PRIMARY KEY উভয় কনস্ট্রেইন্ট এক বা একাধিক কলামে অনন্য মান প্রবেশ করানো নিশ্চিত করে। PRIMARY KEY কনস্ট্রেইন্ট স্বয়ংক্রিয়ভাবে ইউনিক মান জমা করানোর নির্দেশ প্রাপ্ত হয়। তবে এটা স্মরণ রাখা প্রয়োজন যে একটি টেবিলে অনেকগুলো কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করা যায় কিন্তু প্রতি টেবিল মাত্র একটি PRIMARY KEY কনস্ট্রেইন্ট ধারণ করতে পারে।

টেবিল তৈরীর সময় এসকিউএল UNIQUE কনস্ট্রেইন্ট প্রয়োগ:

ধরা যাক আমরা “Persons” নামের একটি টেবিল তৈরী করছি। “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট ব্যবহার কতে চাইলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

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)

)

একাধিক কলামে UNIQUE কনস্ট্রেইন্ট ঘোষণা করতে গেলে নিচের এসকিউএল স্টেটমেন্ট ব্যবহার করতে হবে:

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)

)

ALTER TABLE কমান্ডের সাথে UNIQUE কনস্ট্রেইন্ট:

ধরা যাক “Persons” টেবিলটি তৈরী করা হয়ে গেছে। তৈরীর সময় UNIQUE কনস্ট্রেইন্ট প্রয়োগ করা হয়নি। এখন সেই কাজটি করতে চাইলে ALTER TABLE কমান্ড দিয়ে সেটি করতে হবে। নিচের স্টেটমেন্ট “P_Id” কলামে UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD UNIQUE (P_Id)

নিচের এসকিউএল স্টেটমেন্ট একাধিক কলামে (P_Id এবং LastName) UNIQUE কনস্ট্রেইন্ট যুক্ত করবে:

MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

UNIQUE কনস্ট্রেইন্ট মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:

MySQL এর ক্ষেত্রে:

ALTER TABLE Persons

DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access এর ক্ষেত্রে:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

এসকিউয়েল দিয়ে ডেটাবেস তৈরী (SQL Database Creation Tutorial in Bangla) :

এসকিউয়েল দিয়ে ডেটাবেস তৈরী (SQL Database Creation Tutorial in Bangla) :

MySQL এ কাজ শুরুর আগে একটা ডেটাবেস তৈরী করে নিতে হবে। CREATE DATABASE এই স্টেটমেন্ট দিয়ে একটি ডেটাবেস তৈরী করতে হয়। XAMPP চালু করুন এবং ব্রাউজার খুলে এর এড্রেসবারে লিখুন http://localhost/ লিখে এন্টার দিন এবার এখানে বামদিকে নিচে Tools এর অধীনে phpMyadmin এ ক্লিক করুন সবশেষে SQL ট্যাবে ক্লিক করুন।

এখানে লিখুন “CREATE DATABASE designer” এবং go বাটনে ক্লিক করুন ব্যাস একটা ডেটাবেস তৈরী হয়ে গেল। এবার বাম দিকে দেখুন designer নামে একটা ডেটাবেস আসছে। আপনি চাইলে SQL ট্যাবে না গিয়ে সরাসরি “Databases” (SQL ট্যাবের বামে) ট্যাব থেকে একটি নতুন ডেটাবেস তৈরী করতে পারেন। Databases ট্যাবে গেলে “Create database” ফিল্ডে ডেটাবেসের কাংখিত নামটি দিয়ে “Create” বাটনে ক্লিক করতে হবে।

ধন্যবাদ।

SQL এর NOT NULL এর বাধ্যবাদকতা/Constraints। SQL Not Null Constraint

SQL এর NOT NULL এর বাধ্যবাদকতা।

সার্বিক ভাবে একটি টেবিলের কলামকে NULL বা খালী রাখা যায়।
SQL এর NOT NULL এর বাধ্যবাদকতা ।
NOT NULL এর বাধ্যবাধকতা কলামকে খালী না রাখতে বাধ্য করে বা খালী রাখাকে গ্রহণ করে না।
NOT NULL এর বাধ্যবাধকতা সর্বদা ক্ষেত্রকে কোন না কোন কিছু দিয়ে পরিপূর্ণ করতে হবে। এটার অর্থ এটা যে, তুমি কথন ও ঐ ক্ষেত্রে কোন কিছু দেয়া ব্যতিরেকে নতুন কোন রেকর্ড সংযোগ করা অথবা কোন ধরনের সংশোধন করতে পারবেনা।
নিন্মোক্ত SQL বাধ্য কর P_Id এর কলাম এবং LastName এর কলামে কোন কিছু না দিয়ে NULL বা খালী রাখাকে গ্রহণ করবেনা।

উদাহরণ।
CREATE TABLE PersonsNotNull
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)