এসকিউয়েল দিয়ে ডেটাবেস তৈরী (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)
)

এসকিউয়েল ইনার জয়েন টিউটোরিয়ালঃ SQL INNER JOIN Keyword

এসকিউয়েল ইনার জয়েন টিউটোরিয়ালঃ

SQL INNER JOIN Keyword

দুটি সম্পর্কযুক্ত টেবিল থেকে ডেটা তোলার জন্য এসকিউয়েলে কিছু জয়েন (join) ব্যবহার করা হয়। বেশির ভাগ সময়েই ৩টি জয়েন ব্যবহার হয়ে থাকে। যেমনঃ
১. ইনার জয়েন (INNER JOIN),
২. লেফট জয়েন (LEFT JOIN),
৩. রাইট জয়েন (RIGHT JOIN)

এই টিউটোরিয়ালে ইনার জয়েন নিয়ে আলোচনা করা হলঃ
ইনার জয়েনঃ
প্রথমে দুটি টেবিল তৈরী করা যাক যাদের মধ্যে রিলেশন আছে।
এর আগে “users” টেবিল তৈরী করে সেটার সাথে one-to-one রিলেশন করে আরেকটা “profiles” টেবিল তৈরীর কোড নিচে দেয়া হলঃ

01.CREATE TABLE IF NOT EXISTS `profiles` (
02.`profile_id` int(11) NOT NULL AUTO_INCREMENT,
03.`about_me` text NOT NULL,
04.`favorite_color` varchar(200) NOT NULL,
05.`user_id` int(11) NOT NULL,
06.PRIMARY KEY (`profile_id`),
07.KEY `user_id` (`user_id`)
08.) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
09.
10.
11.INSERT INTO `profiles` (`profile_id`, `about_me`, `favorite_color`, `user_id`) VALUES
12.(4, ‘Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis …’, ‘black’, 1),
13.(5, ‘Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis …’, ‘green’, 2),
14.(6, ‘Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis …’, ‘maroon’, 3);

এই কোয়েরিটি চালান দেখবেন ডেটাসহ একটা টেবিল তৈরী হবে।
INNER JOIN দিয়ে ঐসব ডেটাগুলি (সারিগুলি) তুলে আনা যায় (দুই টেবিল থেকেই) যেগুলির মধ্যে রিলেশন বিদ্যমান। উপরের টেবিলদুটি থেকে ডেটা তুলে আনার জন্য নিচের কোয়েরিটি রান করান-

1.SELECT username, age, favorite_color FROM users INNER JOIN profiles ON users.user_id = profiles.user_id;

এর আউটপুট ৩টি সারি আসবে। কারন “profiles” টেবিলে “user_id” কলামটি দেখুন যেটা এই টেবিলের ফরেন কি, এখানে ১, ২ এবং ৩ নম্বর ইউজারের জন্য একটি করে সারি আছে। যদি এখানে কোন সারিই না থাকত তাহলে কোন আউটপুটই আসত না, একটা সারি থাকলে একটা আউটপুট আসত। আরও একভাবে এই কোয়েরিটি করা যায়ঃ

view source
print?
1.SELECT username, age, favorite_color FROM users INNER JOIN profiles USING(user_id)

USING কিওয়ার্ডটি তখনি ব্যবহার করা যাবে যখন দুটো টেবিলেই “user_id” কলামটির নাম একই হবে। এই “user_id” কলামটি দিয়ে টেবিল দুটি সংযোগ হয়েছে, এটার নাম দিলাম ধরুন ব্রিজ কলাম।

ধন্যবাদ।

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

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 (এসকিউএল) BETWEEN অপারেটর: SQL BETWEEN Operator

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 (এসকিউএল) CREATE TABLE স্টেটমেন্ট .

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 (এসকিউএল) Joins

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

AngularJS Input Validation

AngularJS Input Validation

AngularJS প্রয়োগকৃত Data এর বৈধতা গঠন এবং নিয়ন্ত্রন করে

Input Validation

পূর্ববর্তী অধ্যায়ে আমরা AngularJS forms and controls শিখেছিলাম
AngularJS প্রয়োগকৃত Data এর বৈধতা গঠন এবং নিয়ন্ত্রন করে এবং ব্যবহারকারিকে ভুল তথ্য Input করার সময় Notify (সতর্ক) করে

Client-side validation একা ব্যবহারকারির input তথ্যকে নিরাপত্তা দিতে পারে না, Server side validation ও দরকার এই জন্য

Application Code

DOCTYPE html>
<html>

<head>

</head>

<body>
<h2>Validation Example</h2>

<form ng-app=”” ng-controller=”validateCtrl”
name=”myForm” novalidate>

<p>Username:<br>
<input type=”text” name=”user” ng-model=”user” required>
<span style=”color:red” ng-show=”myForm.user.$dirty && myForm.user.$invalid”>
<span ng-show=”myForm.user.$error.required”>Username is required.</span>
</span>
</p>

<p>Email:<br>
<input type=”email” name=”email” ng-model=”email” required>
<span style=”color:red” ng-show=”myForm.email.$dirty && myForm.email.$invalid”>
<span ng-show=”myForm.email.$error.required”>Email is required.</span>
<span ng-show=”myForm.email.$error.email”>Invalid email address.</span>
</span>
</p>

<p>
<input type=”submit”
ng-disabled=”myForm.user.$dirty && myForm.user.$invalid ||
myForm.email.$dirty && myForm.email.$invalid”>
</p>

</form>

<script>
function validateCtrl($scope) {
$scope.user = ‘John Doe’;
$scope.email = ‘john.doe@gmail.com’;
}
</script>

</body>
</html>

নিজে চেষ্টা করুন

The HTML এর অবৈধগুন (novalidate) ব্যবহার করা হয় default browser validation অক্ষম (Disable) করতে

উদাহরনের ব্যখাঃ

AngularJS নিরদেশক ng-model input ডাঁটা গুলকে একটা মডেলের মাধমে সাজিয়ে ফেলে

The model object এর দুইটা অংশ আছে : User আর Email

ng-show এর কারনে , spans লাল রঙ্গে প্রদর্শিত হয় তখন ই যখন User অথবা Email $dirty (ত্রুটি পূর্ণ ) and $invalid(অবৈধ)

অ্যাঙ্গুলার জাভাস্ক্রিপ্ট মডিউল (AngularJS Modules in Bangla

1. লিখেছেন সুদীপ্ত সাহা

অ্যাঙ্গুলার জাভাস্ক্রিপ্ট মডিউল

মডিউল বলতে অ্যাপ্লিকেশনকে বোঝানো হয়। সকল অ্যাপ্লিকেশন কন্ট্রোলারই মডিউলের অংশ। মডিউল আপনার অ্যাপ্লিকেশনকে ভালোভাবে বুঝতে সাহায্য করে এবং একইসাথে গ্লোবাল নেমস্পেসকে সুসংগঠিত রাখে।

অ্যাঙ্গুলার জাভাস্ক্রিপ্ট মডিউল উদাহরনঃ
এই উদাহরনে myApp.js অ্যাপ্লিকেশন মডিউল ধারন করে এবং myCtrl.js কন্ট্রোলার ধারন করেঃ
DOCTYPE html>
<html>

<head>

</head>

<body>
myApp” ng-controller=”myCtrl”>
{{ firstName + ” ” + lastName }}
</div>

</body>
</html>

কন্ট্রোলার গ্লোবাল নেমস্পেসকে অসংগঠিত করে তোলেঃ
এই টিউটোরিয়ালের একটি উদাহরণে গ্লোবাল ভ্যালু ব্যবহার করা হয়েছে (গ্লোবাল ভ্যারিয়েবল বা গ্লোবাল ফাংশন)।
কোন অ্যাপ্লিকেশনে গ্লোবাল ভ্যালু এরিয়ে চলা উচিৎ। গ্লোবাল ভ্যালুকে খুব সহজে অন্য কোন স্ক্রিপ্ট দ্বারা নষ্ট করা যায় অথবা ওভাররাইট করা যায়। অ্যাঙ্গুলার জাভাস্ক্রিপ্ট মডিউল দ্বারা এই সমস্যার সমাধান করা যায়।

মডিউলবিহীন কন্ট্রোলারঃ
এই উদাহরণের অ্যাপ্লিকেশনে নেম নেই এবং এর কন্ট্রোলার ফাংশন গ্লোবালঃ
DOCTYPE html>
<html>

<head>

</head>

<body>
<div ng-app=”” ng-controller=”myCtrl”>
{{ firstName + ” ” + lastName }}
</div>

<script>
function myCtrl($scope) {
$scope.firstName = “John”;
$scope.lastName = “Doe”;
}
</script>

</body>
</html>

মডিউলযুক্ত কন্ট্রোলারঃ
এই উদাহরণের অ্যাপ্লিকেশনের নেম হচ্ছে ng-app=”myApp” নেই এবং এর কন্ট্রোলার মডিউলের একটি প্রপার্টিঃ
DOCTYPE html>
<html>

<head>

</head>

<body>
<div ng-app=”myApp” ng-controller=”myCtrl”>
{{ firstName + ” ” + lastName }}
</div>

<script>
var app = angular.module(“myApp”, []);
app.controller(“myCtrl”, function($scope) {
$scope.firstName = “John”;
$scope.lastName = “Doe”;
});
</script>

</body>
</html>

একটি লাইব্রেরি কখন লোড করতে হয়?
উপরের সবগুলো উদাহরনে অ্যাঙ্গুলার জাভাস্ক্রিপ্ট লাইব্রেরি <head> এর মধ্যে লোড হয়।

HTML অ্যাপ্লিকেশনের ক্ষেত্রে সকল স্ক্রিপ্ট ফাইলগুলো <body> এর একদম নিচের দিকে লোড করা ভালো। কিন্তু বেশিরভাগ অ্যাঙ্গুলার জাভাস্ক্রিপ্টের উদাহরণে দেখা যায়, লাইব্রেরি ফাইলগুলো <head> এর মধ্যে লোড করা হয়। এর কারণ হচ্ছে, শুধুমাত্র লাইব্রেরি ফাইল লোড হওয়ার পর অ্যাঙ্গুলার মডিউল কম্পাইল করা সম্ভব। অন্য একটি সমাধান হলঃ পেজের নিজস্ব অ্যাঙ্গুলার জাভাস্ক্রিপ্ট লোড হওয়ার পূর্বে অ্যাঙ্গুলার জাভাস্ক্রিপ্ট লাইব্রেরিকে <body> এর মধ্যে লোড করানো।
DOCTYPE html>
<html>
<body>

<div ng-app=”myApp” ng-controller=”myCtrl”>
{{ firstName + ” ” + lastName }}
</div>
<script src=”http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js”></script>

<script>
var app = angular.module(“myApp”, []);

app.controller(“myCtrl”, function($scope) {
$scope.firstName = “John”;
$scope.lastName = “Doe”;
});
</script>

</body>
</html>

অ্যাঙ্গুলার জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন ফাইলঃ
মডিউল কি এবং কিভাবে কাজ করে তা আমরা এখন জানি, তাই এখন আমরা আমাদের নিজেদের অ্যাপ্লিকেশন ফাইল তৈরি করতে পারব।
একটি অ্যাপ্লিকেশনে কমপক্ষে একটি অ্যাপ্লিকেশন ফাইল এবং একটি মডিউল ফাইল থাকতে হবে।

প্রথমে “myApp.js” নামের একটি মডিউল ফাইল তৈরি করিঃ
var app = angular.module(“myApp”, []);

মডিউলের প্যারামিটার [] কোন ডাটার উপর নির্ভরশীল মডিউলকে নির্দেশ করে।

এরপর “myCtrl.js” নামের একটি কন্ট্রোলার ফাইল তৈরি করিঃ
app.controller(“myCtrl”, function($scope) {
$scope.firstName = “John”;
$scope.lastName = “Doe”;
});

এবং সবশেষে HTML ফাইলকে এডিট করতে হবেঃ
DOCTYPE html>
<html>

<head>
<script src=”http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js”></script>
</head>

<body>
<div ng-app=”myApp” ng-controller=”myCtrl”>
{{ firstName + ” ” + lastName }}
</div>

<script src=”myApp.js”></script>
<script src=”myCtrl.js”></script>

</body>
</html>

অঙ্গুলার জেএস এইচটিটিপি রিকুয়েস্ট AngularJS XMLHttpRequest . AngularJS XMLHttpRequest

অঙ্গুলার জেএস এইচটিটিপি রিকুয়েস্ট AngularJS XMLHttpRequest
মো: আসাদুজ্জামান (Md. Asaduzzaman)
ফ্রিল্যান্সার (ওয়েব ডিজাইনার এবং ডেভেলপার)

$http রিমোট সার্ভার থেকে তথ্য পড়ার জন্য একটি AngularJS সার্ভিস।

একটি JSON ফাইল পড়া (Reading a JSON File)

নিম্নলিখিত স্ট্যাটিক JSON ফাইল একটি ওয়েব সার্ভারে সংরক্ষণ করা হয়:

http://www.justetc.com/website/Customers_JSON.php
[
{
“Name” : “Alfreds Futterkiste”,
“City” : “Berlin”,
“Country” : “Germany”
},
{
“Name” : “Berglunds snabbköp”,
“City” : “Luleå”,
“Country” : “Sweden”
},
{
“Name” : “Centro comercial Moctezuma”,
“City” : “México D.F.”,
“Country” : “Mexico”
},
{
“Name” : “Ernst Handel”,
“City” : “Graz”,
“Country” : “Austria”
},
{
“Name” : “FISSA Fabrica Inter. Salchichas S.A.”,
“City” : “Madrid”,
“Country” : “Spain”
},
{
“Name” : “Galería del gastrónomo”,
“City” : “Barcelona”,
“Country” : “Spain”
},
{
“Name” : “Island Trading”,
“City” : “Cowes”,
“Country” : “UK”
},
{
“Name” : “Königlich Essen”,
“City” : “Brandenburg”,
“Country” : “Germany”
},
{
“Name” : “Laughing Bacchus Wine Cellars”,
“City” : “Vancouver”,
“Country” : “Canada”
},
{
“Name” : “Magazzini Alimentari Riuniti”,
“City” : “Bergamo”,
“Country” : “Italy”
},
{
“Name” : “North/South”,
“City” : “London”,
“Country” : “UK”
},
{
“Name” : “Paris spécialités”,
“City” : “Paris”,
“Country” : “France”
},
{
“Name” : “Rattlesnake Canyon Grocery”,
“City” : “Albuquerque”,
“Country” : “USA”
},
{
“Name” : “Simons bistro”,
“City” : “København”,
“Country” : “Denmark”
},
{
“Name” : “The Big Cheese”,
“City” : “Portland”,
“Country” : “USA”
},
{
“Name” : “Vaffeljernet”,
“City” : “Århus”,
“Country” : “Denmark”
},
{
“Name” : “Wolski Zajazd”,
“City” : “Warszawa”,
“Country” : “Poland”
}
]

AngularJS $http

AngularJS $http ওয়েব সার্ভার থেকে তথ্য রিড করার জন্য একটি কোর সার্ভিস।

$http.get (url) ফাংশনটি সার্ভার ডাটা রিড করার জন্য ব্যবহৃত হয়।

অঙ্গুলার জেএস উদাহরণ:
customersController”>

<ul>
<li ng-repeat=”x in names”>
{{ x.Name + ‘, ‘ + x.Country }}
</li>
</ul>

</div>

<script>
function customersController($scope,$http) {
$http.get(“http://www.justetc.com/website/Customers_JSON.php”)
.success(function(response) {$scope.names = response;});
}
</script>

এপ্লিকেশন ব্যাখ্যা:

AngularJS এপ্লিকেশন ng-app দ্বারা ডিফাইন করা হয়। এপ্লিকেশনটি

ভিতরে রান করে।

ng-controller ডিরেক্টিভ কন্ট্রোলার অবজেক্ট এর নামকরণ করে।

customersController ফাংশন একটি আদর্শ জাভাস্ক্রিপ্ট অবজেক্ট কন্সট্রাক্টর।

AngularJS একটি $scope এবং $http অবজেক্ট এর সাথে customersController কে কল করবে।
$scope অ্যাপ্লিকেশন অবজেক্ট ( ভেরিয়েবল এবং ফাংশন এপ্লিকেশন এর স্বত্ত্বাধিকারী (Owner))।

$http একটি XMLHttpRequest অবজেক্ট এক্সটার্নাল ডাটা রিকুয়েস্ট এর জন্য।

$ http.get() স্ট্যাটিক JSON ডাটা করে http://www.justetc.com/website/Customers_JSON.php থেকে।

যদি সফল হয় (success), কন্ট্রোলার (names) প্রোপার্টি ক্রিয়েট করে স্কোপ এর মধ্যে, সার্ভার থেকে JSON ডাটা এর সাথে।
নোট: উপরের উল্লেখ্য কোড একটি ডাটাবেস থেকে তথ্য সংগ্রহ করার জন্যও ব্যবহার করা যেতে পারে.

AngularJS will invoke customersController with a $scope and $http object.

$scope is the application object (the owner of application variables and functions).

$http is an XMLHttpRequest object for requesting external data.

$http.get() reads static JSON data from http://www.justetc.com/website/Customers_JSON.php.

If success, the controller creates a property (names) in the scope, with JSON data from the server.

Note The code above can also be used to fetch data from a database.