6.1 ডাটাবেসের গঠন পরিবর্তন

এবং অবশেষে, ডাটাবেসগুলির সাথে কাজ করার সবচেয়ে সুস্বাদু অংশ হল ডাটাবেস পরিবর্তন করা। আপনি যদি মনে করেন যে এটি খুব সহজ কিছু, তাহলে এই বিষয়ে আপনার জন্য একটি উপাখ্যান রয়েছে:


The service station master, wiping his hands, hands over the car to the client and chats along the way:
- But who do you work for?
- I am a cardiac surgeon, I perform heart operations.
- And they pay a lot?
- $20,000 per operation.
- Nothing for myself ... But we, in fact, are doing the same thing, sorting out the engines, and they pay me only $ 300 ...
- Do you want to earn as much as I do?
- Want...
The surgeon starts the engine in the car and turns to the master:
- Move over!

পরিস্থিতি ডাটাবেসের সাথে ঠিক একই। আপনি আলাদা টেবিলে ডেটার একটি অংশ নিতে চান? ঠিক আছে, আপনার প্রয়োজন:

  • একটি নতুন টেবিল তৈরি করুন
  • এই নতুন টেবিলে ডেটা অনুলিপি করুন
  • পুরানো টেবিল থেকে কলাম সরান
  • পুরানো টেবিলে উল্লেখ করা সমস্ত SQL প্রশ্ন পরিবর্তন করুন
  • এসকিউএল কোয়েরি যোগ করুন যা নতুন টেবিলে প্রবেশ করবে
  • পুরানো উপায়ে টেবিলের সাথে কাজ করা জাভা কোড পরিবর্তন করুন
  • ব্যাকআপ পরিবর্তন করুন এবং স্ক্রিপ্টগুলি পুনরুদ্ধার করুন, যেহেতু এখন টেবিলের কাঠামো মেলে না
  • আপনার কাছে ডেভেলপারদের জন্য পরীক্ষার ডেটা থাকলে, আপনাকে সেগুলিও পরিবর্তন করতে হবে

যদিও বাস্তবে এটি আরও খারাপ:

নতুন ডাটাবেস গঠন:

  • প্রথমে আপনি বিকাশকারীর মেশিনে টেবিলের কাঠামো পরিবর্তন করুন
  • তারপর আপনি নিশ্চিত যে এই ধরনের একটি গঠন সত্যিই ভাল
  • নতুন ডাটাবেস গঠন অনুমোদন

মাইগ্রেশন স্ক্রিপ্ট:

  • আপনি এমন স্ক্রিপ্ট লিখবেন যা একটি বাস্তব ডাটাবেসে টেবিলের ডেটা ইত্যাদি পরিবর্তন করবে
  • পুরানো ডাটাবেস কাঠামো সহ একটি মেশিনে এই স্ক্রিপ্টগুলি চালান এবং দেখুন কিভাবে এটি পরিবর্তন হয়
  • নতুন ঘাঁটির সমস্ত গুরুত্বপূর্ণ স্থান যাচাই করুন

বিক্রয়ের উপর আপডেট

  • উত্পাদন ডাটাবেস বন্ধ করুন
  • একটি সম্পূর্ণ ব্যাকআপ করুন
  • স্ক্রিপ্ট নির্বাহ করা
  • যেহেতু বাজারে সাধারণত অনেক থাকে, এই স্ক্রিপ্টগুলি ঘন্টার জন্য কাজ করতে পারে

আপনি পণ্যটি চালু করেন এবং আশা করি যে আপনাকে সবকিছু ফিরিয়ে আনতে হবে না।

6.2 টেবিলের বিবৃতি পরিবর্তন করুন

অন্যদিকে, স্ক্রিপ্ট নিজেই, যা টেবিলের কাঠামো পরিবর্তন করে, খুব সহজ। কিছু উপায়ে, এটি একটি টেবিল তৈরি স্ক্রিপ্টের অনুরূপ। একটি টেবিল পরিবর্তন অনুরোধের সাধারণ দৃশ্য:

ALTER TABLE table
team 1,
team 2,
Team N

কমান্ডগুলি খুব আলাদা, তবে তিনটি প্রধান গ্রুপকে আলাদা করা যেতে পারে:

  • ADD- টেবিলে কিছু যোগ করে
  • MODIFY- টেবিলে কিছু পরিবর্তন করে
  • DROP- টেবিলে কিছু মুছে দেয়

এবং যখন আমি কিছু বলি, এটি ডেটা সম্পর্কে নয়, তবে টেবিলের গঠন সম্পর্কে।

উদাহরণস্বরূপ, আপনি টেবিলে একটি নতুন কলাম যোগ করার সিদ্ধান্ত নেন, তারপর আপনাকে নিম্নলিখিত ক্যোয়ারীটি চালাতে হবে:

ALTER TABLE table
	ADD COLUMN Name type

আসুন একটি প্রশ্ন লিখি যা আমাদের কর্মচারী টেবিলে একটি ইমেল কলাম যুক্ত করবে :

ALTER TABLE employee
	ADD COLUMN email  VARCHAR(10)

এখন ইমেইল স্ট্রিং এর দৈর্ঘ্য 10 থেকে 100 এ পরিবর্তন করা যাক: এর জন্য আমাদের একটি নতুন স্ক্রিপ্ট দরকার:

ALTER TABLE employee
	MODIFY COLUMN email VARCHAR(100)

আপনি যদি একটি কলামের কিছু বৈশিষ্ট্য পরিবর্তন করতে চান, কিন্তু তার ধরন পরিবর্তন করতে চান না, তাহলে আপনার কমান্ডটি ALTER COLUM প্রয়োজন । ডিফল্ট ইমেল মান সেট করা যাক :

ALTER TABLE employee
	ALTER COLUMN email VARCHAR(100)  DEFAULT 'test@test.com'

এবং অবশেষে, আপনার প্রয়োজন না হলে কলামটি সরানো যেতে পারে:

ALTER TABLE employee
	DROP COLUMN email 

6.3 একটি প্রাথমিক কী যোগ করা এবং অপসারণ করা

এবং কিছু আরো দরকারী উদাহরণ.

ধরা যাক আমরা আইডি কলামটিকে প্রাথমিক কী হিসাবে ঘোষণা করতে ভুলে গেছি। আপনি সর্বদা এর মাধ্যমে আলাদাভাবে এটি করতে পারেন ALTER TABLE:

ALTER TABLE employee
	ADD PRIMARY KEY (email);

এটি অপসারণ করা আরও সহজ:

ALTER TABLE employee
	DELETE PRIMARY KEY;