Header Ads

Header ADS

Data Types Example

                                          

PostgreSQL-এ অনেক ধরণের ডেটা টাইপ (Data Types) রয়েছে, যেগুলো বিভিন্ন ধরণের ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। নিচে PostgreSQL-এর সবগুলো গুরুত্বপূর্ণ ডেটা টাইপ, ব্যাখ্যা এবং উদাহরণসহ তালিকা আকারে দিলাম:


🗂️ PostgreSQL-এর Data Types


1. 📃 Textual Data Types (স্ট্রিং/টেক্সট)

টাইপ ব্যাখ্যা উদাহরণ
CHAR(n) Fixed length string (n অক্ষরের) name CHAR(10)
VARCHAR(n) Variable length string (সর্বোচ্চ n অক্ষর) title VARCHAR(255)
TEXT Unlimited length text description TEXT

2. 🔢 Numeric Data Types (সংখ্যা)

টাইপ ব্যাখ্যা উদাহরণ
SMALLINT 2-byte integer (-32,768 to 32,767) age SMALLINT
INTEGER বা INT 4-byte integer score INTEGER
BIGINT 8-byte integer population BIGINT
DECIMAL(p, s) Exact numeric (precision ও scale সহ) salary DECIMAL(10, 2)
NUMERIC(p, s) Same as DECIMAL price NUMERIC(8, 2)
REAL Approximate 4-byte float rating REAL
DOUBLE PRECISION Approximate 8-byte float temperature DOUBLE PRECISION
SERIAL Auto-incrementing integer id SERIAL PRIMARY KEY

3. 🗓️ Date/Time Types

টাইপ ব্যাখ্যা উদাহরণ
DATE শুধুমাত্র তারিখ birth_date DATE
TIME শুধুমাত্র সময় (HH:MM:SS) start_time TIME
TIMESTAMP তারিখ ও সময় created_at TIMESTAMP
TIMESTAMPTZ Timestamp with time zone login_time TIMESTAMPTZ
INTERVAL সময়ের ব্যবধান duration INTERVAL

4. ✅ Boolean Type

টাইপ ব্যাখ্যা উদাহরণ
BOOLEAN true, false, বা null is_active BOOLEAN

5. 📦 Enumerated Type (ENUM)

টাইপ ব্যাখ্যা উদাহরণ
ENUM নির্দিষ্ট string ভ্যালুর সীমা
CREATE TYPE gender AS ENUM ('male', 'female', 'other');

6. 🗺️ Geometric Types

টাইপ ব্যাখ্যা
POINT, LINE, CIRCLE, BOX, ইত্যাদি গ্রাফিক বা ম্যাথমেটিকাল কো-অর্ডিনেট

7. 🌐 Network Address Types

টাইপ ব্যাখ্যা
INET, CIDR, MACADDR IP address বা MAC address সংরক্ষণ করতে

8. 💾 Binary Data

টাইপ ব্যাখ্যা
BYTEA Binary data (images, files ইত্যাদি)

9. 🧬 JSON/JSONB (NoSQL-like)

টাইপ ব্যাখ্যা
JSON JSON ফরম্যাটের ডেটা (text form)
JSONB Binary form of JSON, বেশি efficient

10. 📂 Array Type

টাইপ ব্যাখ্যা উদাহরণ
TEXT[], INT[] একাধিক ভ্যালুর array tags TEXT[]

✅ উদাহরণ টেবিল:

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100),
  age INT,
  email TEXT UNIQUE,
  salary NUMERIC(10, 2),
  is_active BOOLEAN DEFAULT true,
  signup_date DATE DEFAULT CURRENT_DATE,
  preferences JSONB
);



Example : 


🏗️ Table Creation (All Data Types সহ)

-- ENUM type create
CREATE TYPE gender_type AS ENUM ('male', 'female', 'other');

-- Table create
CREATE TABLE full_example (
  id SERIAL PRIMARY KEY,
  full_name VARCHAR(100) NOT NULL,
  age SMALLINT CHECK (age >= 0),
  email TEXT UNIQUE,
  salary NUMERIC(10,2),
  rating REAL,
  total_score DOUBLE PRECISION,
  is_active BOOLEAN DEFAULT true,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  birth_date DATE,
  login_time TIME,
  timezone_login TIMESTAMPTZ,
  experience INTERVAL,
  ip_address INET,
  mac_address MACADDR,
  user_position POINT,
  preferences JSONB,
  tags TEXT[],
  profile_picture BYTEA,
  gender gender_type
);

📥 Data Insert করা (সব Data Type সহ)

INSERT INTO full_example (
  full_name,
  age,
  email,
  salary,
  rating,
  total_score,
  is_active,
  birth_date,
  login_time,
  timezone_login,
  experience,
  ip_address,
  mac_address,
  user_position,
  preferences,
  tags,
  profile_picture,
  gender
)
VALUES (
  'Ali Haidar',
  24,
  'ali.haidar@example.com',
  50000.75,
  4.5,
  98.55,
  true,
  '2000-01-01',
  '09:00:00',
  '2025-05-01 09:00:00+06',
  '2 years 3 mons',
  '192.168.1.1',
  '08:00:27:12:90:FA',
  '(3.5,4.5)',
  '{"theme":"dark", "language":"bangla"}',
  ARRAY['developer', 'learner', 'full-stack'],
  decode('aGVsbG8gd29ybGQ=', 'base64'),
  'male'
);

🔑 Note:

  1. profile_picture ফিল্ডে আমি একটি Base64 encoded text ব্যবহার করেছি (hello world → aGVsbG8gd29ybGQ=), এটা demo image বা binary file represent করার জন্য।

  2. preferences হচ্ছে JSONB ফরম্যাট।

  3. user_position হচ্ছে একটি (x,y) point (geometry type)।



Powered by Blogger.