জাভা + এসকিউএল
আমি মনে করি এটি প্রশ্নের লক্ষ্যটির সাথে আরও ভাল মেলে - অর্থাত্ অনিচ্ছাকৃত ভাঙন।
ধরা যাক এটি একটি জন্ম নিবন্ধের জন্য একটি অ্যাপ্লিকেশন, যেখানে তারা একটি নতুন ডাটাবেসে নতুন জন্মগ্রহণকারী শিশুদের রেকর্ড করে এবং জন্ম শংসাপত্র জারি করে। কিছু "প্রতিভা" টেবিলটি কিছুটা এরকমভাবে ডিজাইন করেছিলেন:
CREATE TABLE birth (
year CHAR(2),
month CHAR(2),
date CHAR(2),
surname VARCHAR(50),
...
)
এবং জন্ম নিবন্ধনের জন্য জাভা অ্যাপ্লিকেশনটির লাইনগুলির সাথে কিছু কোড রয়েছে:
public void recordNewBirth(...) {
...
executeQuery("INSERT INTO birth VALUES(?, ?, ?, ?, ...)", date.getYear(), date.getMonth(), date.getDate(), surname, ...);
}
তারপরে ইনসার্টটি 2000 সালে ব্যর্থ হতে শুরু করবে এবং কেউ আর জন্মের শংসাপত্র পাবে না। কারণ - java.util. তারিখ # getYear () বছর বিয়োগ 1900 প্রদান করে, যার 2000 সালে শুরু 3 টি সংখ্যা রয়েছে।