Ако не изтриете, ще създадете нов клас грешки за всички бъдещи заявки. Не забравяйте, че писането на заявки често се извършва от опитни потребители (т.е. не-ИТ специалисти) и млади разработчици. Така че сега всяка таблица, която има невалидни данни, маркирани само с активен флаг на BIT, ще се нуждае от допълнително И в клаузата WHERE за всяка заявка от сега завинаги. Това ще помогне на потребителите да попаднат в ямата на провала вместо в ямата на успеха. Въпреки това силно ви насърчавам да внедрите тези системи с флаг, тъй като без лош дизайн няма нужда разработчиците на поддръжка да коригират многобройните грешки, които ще създаде.
Колко ценно е да има исторически данни в таблицата? Ако бизнесът е ориентиран към бъдещето, наличието на стари данни в таблиците може да бъде просто тежест - това ще доведе до проблеми при създаването на ограничения (всички ограничения ще трябва да бъдат променени, за да се изключат данни, които искате да не са там). Осигуряването на качеството на данните е сложно, тъй като се налага непрекъснато да идентифицираме отново кои са „стари глупости, които се страхуваме да изтрием, но никога повече не искаме да използваме или актуализираме“ и нови неща, които ни интересуват.
Изтрива ли се, защото е грешка? Ако редът съответства на обект в реалния живот, може би е интересно да запазите и зададете флаг "изпарен", "мъртъв", "напуснал сградата". Ако случайно сте вмъкнали ред, който не съответства на никакъв обект в реалния живот, ИЗТРИВАНЕ не е лошо нещо. Важни ли са въображаемите клиенти, които никога не са съществували, за да ги задържите в таблицата с клиенти?
И накрая, личността играе голяма роля. Хората също могат да бъдат пакети с данни. Ако DBA пази всичките си вестници отпреди 30 години и не обича да изтрива данни, може би трябва да се увери, че взема решения за дизайна на данни въз основа на достойнствата, а не на неуместни лични предпочитания.