Java + SQL
Saya pikir ini cocok dengan tujuan dari pertanyaan yang lebih baik - yaitu kerusakan yang tidak disengaja.
Katakanlah ini adalah aplikasi untuk pencatatan kelahiran, di mana mereka merekam bayi yang baru lahir dalam database dan mengeluarkan akta kelahiran. Beberapa "genius" mendesain meja agak seperti ini:
CREATE TABLE birth (
year CHAR(2),
month CHAR(2),
date CHAR(2),
surname VARCHAR(50),
...
)
Dan aplikasi java untuk mendaftarkan kelahiran memiliki beberapa kode di sepanjang baris:
public void recordNewBirth(...) {
...
executeQuery("INSERT INTO birth VALUES(?, ?, ?, ?, ...)", date.getYear(), date.getMonth(), date.getDate(), surname, ...);
}
Kemudian INSERT akan mulai gagal pada tahun 2000 dan tidak ada yang bisa mendapatkan akta kelahiran lagi. Alasan - java.util.Date # getYear () mengembalikan tahun minus 1900, yang memiliki 3 digit mulai tahun 2000.