Database- Create Table

                               DDL-(DATA DEFINATION LANGUAGE)

OBJECT # 1-(TABLE)

 

টেবিল পরিচিতি- (টেবিল তৈরী, টেবিল সংশোধন, টেবিল মোছা)

 

ডাটাবেস অবজেক্ট সমূহ

Sl

Object

Description

01

Table

Basic unit of storage: Composed of rows & Column

02

View

Logically represent subset of data from one or more table

03

Sequence

Gnerate primary key

04

Index

Improves the performance of some query

05

Synonym

Chose Alternative name to object


  • আমরা এখন টেবিল অবজেক্ট নিয়ে আলোচনা করবো।

 

1.  DATA BASE OBJECT- 1 (TABLE)


1. ‡Uwej wK? What is Table?

মূল ডাটার আধার। ডাটাবেসের প্রধান অবজেক্ট হচ্ছে টেবিল। সকল ডাটা মূলত এই টেবিলেই সংরক্ষিত হয়। এটি একটি Structure বা Format. কলাম ও রো এর সমন্বয়ে গঠিত হয় টেবিল। সমস্ত Informaion এই টেবিলেই জমা রাখা হয়। ঊীপবষ ডাটাসীট একই রকম। তবে ওরাকল ডাটাবেসের ক্ষেত্রে আমরা টেবিল নিজেরাই তৈরী করি।মূলতঃ আমরা টেবিলের কলাম তৈরী করি (Structure) এবং ডাটা এন্ট্রির সময় রো তৈরী হয়।এই ভাবে কলাম ও রো এর সমন্বয়ে মিলিয়ন, বিলিয়ন ডাটা সংরক্ষন করা যায় এবং তা পরে প্রয়োজনমত প্রসেস করে ব্যবস্থাপনা করা যায়।

 

কিভাবে এই টেবিল তৈরী করা যায় তা শিখবো, তবে তারপূর্বে টেবিল বা কলামের নাম দেওয়ার পদ্ধতি জেনে নিতে হবে।


    চিত্রের মাধ্যমে টেবিলের বিভিন্ন অংশ দেখানো হলো


Database-(SQL & MySQL) DDL- Table
Database-(SQL & MySQL) DDL- Table


টেবিল ও কলামের নাম করনের নিয়মাবলী

 

  1. টেবিল ও কলামের নাম সর্বোচ্চ ৩০ অক্ষর হতে পারবে।
  2. অক্ষর দিয়েই (A-Z) নাম শুরু করতে হবে।
  3. শব্দের মাঝে অর্থাৎ টেবিল বা কলামের নামের মাঝে কোন ফাকা বা স্পেস রাখা যাবে না। তবে মাঝে ও পরে (Numeric) / সংখ্যা লেখা যাবে।  তবে নামের শুরুতে কোন (Numeric-0-9) সংখ্যা বা (Sign-$, #, Ñ) লেখা যাবে না।
  4. '_' (Under Score),  $ (ডলার) এবং # (Not Equal to) সাইনগুলিও নিউমেরিক সংখার মত ব্যবহার করা যাবে কিন্তু এগুলি ব্যবহার না করাই উত্তম।
  5. একই নামে দুইটি টেবিল বা একই টেবিলের দুই কলামের নাম একই (Same) হতে পারবে না। একই ডাটাবেসের অধীনে ভিন্ন ভিন্ন ইউজারে একই নামের টেবিল থাকতে পারে।
  6. ওরাকল রিজার্ভড (Reserved word-select, connect insert, update etc.) শব্দ- টেবিল বা কলামের নাম হিসাবে ব্যবহার করা যাবেনা।
  7. টেবিল ও কলামের নাম (ডাটার) বিষয়বস্তুর সংগে সংগতিপূর্ণ হতে হবে, যাতে বুঝতে সুবিধা হয়।
   নিচের টেবিল / ছক দ্বারা টেবিলের নাম করনের বিষয়টি পরিষ্কার বোঝা যাবে। কলামের নাম করনের ক্ষেত্রেও এই নিয়ম ফলো করা হয়।

টেবিলের নাম

কলামের নাম

সঠিক/বেঠিক

07EMP

07EMP

X

70EMP

70EMP

X

EMP07

EMP07

EMP70sAL

EMP70sal

FATHER'S NAME

FATHER'S NAME

X

FATHERS_NAME

FATHERS_NAME

Emp

Emp

EMp

Emp

emP

emP

Update

Update

X - (Oracle reserved Word)

Date

Birsth date

X – (Space)

B_date

Join_date


আমরা টেবিল ও কলামের নাম দেওয়ার পদ্ধতি শিখলাম। এবার শিখবো কলামের ডাটা টাইপ ও কলামের প্রসস্ততা বা ডরফঃয.

নিচের টেবিল দ্বারা বিষয়টি পরিস্কার করার চেষ্টা করা যাক।
 

WvUv UvBc

eb©bv

mvBR

VARCHAR2

ভেরিয়েবল-লেন্থ ক্যারেক্ট টাইপ

ডিফল্ট সাইজ ০। এই কলামের সাইজ ৪০০০ পর্যন্ত হতে পারে।

CHAR

ফিক্সড-লেন্থ ক্যারেক্ট টাইপ

ডিফল্ট সাইজ ০। এই কলামের সাইজ ২০০০ পর্যন্ত হতে পারে।

NUMBER

নিউমেরিক টাইপ ডাটা

m‡ev©”P 38 msL¨v ch©šÍ †jLv hvq|

DATE

তারিখ ও সময় লেখার-ডেট টাইপ

খৃষ্টপূর্ব ১ জানুয়ারী ৪৭১২ থেকে খৃষ্টাব্দ ৩১, ডিসেন্বর ৯৯৯৯ সালের মধ্যের যে কোন তারিখ ও সময় এন্ট্রি করা যাবে যেকোন ফর্মেটে।

LONG

ভেরিয়েবল-লেন্থ ক্যারেক্টর টাইপ

এই কলামে ২ গিগাবাইট পর্যন্ত লেখা যেতে পারে।

CLOB

সিঙ্গেল-বাইট ক্যারেক্টর টাইপ

এই কলামে ৪ গিগাবাইট পর্যন্ত লেখা যেতে পারে।

RAW

লং রো বাইনারি ডাটা টাইপ

রো বাইনারি ডাটা টাইপ সর্বোচ্চ ২০০০ ক্যারেক্টর

LONG RAW

লং রো বাইনারি ডাটা টাইপ

ভেরিয়েবল-লেন্থ ’র’ বাইনারি ডাটা টাইপ ২ গিগাবাইট

BLOB

বাইনারি ডাটা টাইপ

এই কলামে ৪ গিগাবাইট পর্যন্ত লেখা যেতে পারে।

BFIE

বাইনারি ডাটা টাইপ

অন্য ফাইলের ৪ গিগাবাইট পর্যন্ত ডাটা এই কলামে রাখা যায়।


উপরে উলে­খিত টেবিল থেকে ডাটা টাইপ ও ডাটা লেন্থ (কলামের প্রসস্ততা) জানতে পারলাম। চিহিৃত (মার্ককৃত) চার টাইপের ডাটা সবচেয়ে বেশী ব্যবহার হয়ে থাকে। আমরা সাধারণত ক্যারেক্টর, নিউমেরিক ও ডেট টাইপ ডাটা নিয়ে বেশী কাজ করে থাকি। উপরের টেবিলের তিন ধরনের ডাটা টাইপ সম্পর্কে আরো আলোচনা করা হলো

  1.  Character data type- (অর্থাৎ  A-Z ) শুধু মাত্র অক্ষর দিয়ে লেখার জন্য অর্থাৎ যখন কোন কলামে ক্যারেক্ট লেখার দরকার হবে তখন ডাটা টাইপ নির্ধারন করতে হয়।VARCHAR2ডাটা টাইপ ব্যবহার অনেক সুবিধা জনক। কারণ এই ফিল্ড টাইপে সাইজ ৪০০০ ক্যারেক্টর পর্যন্ত লেখা যায়। কিন্তু সুবিধা হচ্ছে সাইজ যা-ই নির্ধারন করা হোক না কোন ডাটা এন্ট্রির সময়ে আপনি যে পরিমান লিখবেন সেই পরিমানই জায়গা দখল করবে। ভেরিয়েবল-লেন্থ ক্যারেক্ট টাইপ হওয়ার কারনে এই সুবিধা পাওয়া যায়। ডাটবেসে কম স্পেস দখল করে এই টাইপের ডাটা।

পক্ষান্তরে CHAR ফিক্সড লেন্থ ক্যারেক্ট ডাটা টাইপ হওয়ার কারনে- আপনি যত কমই এনিট্র করেন না কেন? টেবিলের কলামে নির্ধারিত পরিমান জায়গা দখল করবে। ফলে স্পেস বেশী লাগবে। কাজেই CHAR †P‡q VARCHAR2 ব্যবহারই উত্তম।

  1. স্পেস নষ্ট হয় বলে সাধারনত Char টাইপ ব্যবহার করা হয় না।
  2. নিউমেরিক (Newmeric) ডাটা ফিল্ডে শুধু মাত্র সংখ্যা এন্ট্রি করা যায়। সর্বোচ্চ ৩৮ সংখ্যা এন্ট্রি করা যায়। দশমিকে পূর্বের এবং দশমিকে পরের সংখ্যা সহ সর্বোমোট ৩৮ সংখ্যা এন্ট্রি করা যায়।
  3. কমা দিয়ে দশমিক সংখ্যার পরের অংশ নির্ধারন করা হয়। (যেমন- (NUMBER (১০,২) দশমিকের পূর্বে ৮ এবং পরে ২ সংখ্যা বোঝা যাবে।
  4. ডেট/তারিখও সময় ((Date)এন্ট্রি করার জন্য। ১০-১০-২০০৭, ১০/২/০৭, ১৪ এপ্রিল ২০০৭, শনিবার, ১৪ এপ্রিল ২০০৭ ইত্যাদি যে কোন ফর্মেটে ডাটা এনিট্র করা যায়।

 

আমরা টেবিল তৈরীর জন্য টেবিল ও কলামের নাম দেওয়ার পদ্ধতি, কলামের ডাটা টাইপ এবং কলামের প্রসস্ততা কত বা কেমন হবে ও নাম দেওয়ার পদ্ধতি জানতে পারলাম। কাজেই টেবিল তৈরীর করা যাক নিম্নের মত করে।

*** মনে রাখতে হবে টেবিল তৈরীর প্রয়োজনীয়  Privilege /Permission না থাকলে টেবিল তৈরী করা যাবে না। আর এই Privilege DBA Kর্তৃক প্রদত্ত হয়ে থাকে। পরবতী অংশে আরো বিস্তারিত জানা যাবে এ সম্পর্কে।

 

Create Table (টেবিল তৈরী)

Table তৈরীর মূল সুত্রঃ

Syntax

SQL> Create table (table name)

(Column name data type (size),

Clolumn name data type (size)); এন্টার করলে টেবিল তৈরী হবে।

 

Create Table

উদাহরন-১

আমরা
dept10 নামে একটি টেবিল তৈরী করবো।

 

SQL> CREATE TABLE dept10

(deptno number(2),

dname varchar2(15),

loc varchar2(20));

Table created.

dept10 নামে তৈরীকৃত টেবিলটি দেখতে হলে এভাবে নিচের মত করে কমান্ড দিতে হবে।

SQL> desc dept10;

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 DEPTNO                                             NUMBER(2)

 DNAME                                               VARCHAR2(15)

 LOC                                                     VARCHAR2(20)

 

এই টেবিলে তিনটি কলাম রয়েছে। যথা-

1. প্রথম কলামের নাম DEPTNO (DEPARTMENT NO), ডাটাটাইপ NUMBER এবং সাইজ  হচ্ছে (২)

2.   ২য় কলামের নাম DNAME (DEPARTMENT NAME), ডাটাটাইপ VARCHAR2 এবং সাইজ (১৫).

3.   এবং ৩য় কলামের নাম LOC (LOCATION), ডাটাটাইপ VARCHAR2 এবং সাইজ (২০)।

 

প্রথম কলামে DEPARTMENT নং অর্থাৎ ডিপার্টমেন্ট নম্বর, ২য় কলামে DEPARTMENT NAME অর্থাৎ ডিপার্টমেন্টের নাম লেখা হবে  এবং ৩য় কলামে DEPARTMENT LOCATION অর্থাৎ কোথায় অবস্থিত তা লেখা হবে।

এভাবে নিচে আরো কয়েকটি টেবিল তৈরীর উদাহরন দেওয়া হলোঃ

SQL> CREATE TABLE STUDENT_REGISTER

 (STU_ID NUMBER(3),

 STU_NAME VARCHAR2(25),

 STU_FATHERS_NAME VARCHAR2(25),

 STU_CLASS VARCHAR2(7),

 STU_AGE NUMBER(2),

 STU_ADD_DATE DATE,

 STU_FISH NUMBER(8))

Table created.

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন