Votre application peut s'exécuter sans aucune modification. MySQL est Architecture ANSI-SPARC conforme. Avec un schéma externe, vous atteignez la règle de codd 9 "Indépendance des données logiques" :
Vous pouvez renommer vos tables et créez des vues avec des noms de table originaux. Un exemple :
Supposons une table nommée my_data
:
REMAME TABLE my_data TO my_data_flagged
ALTER TABLE my_data_flagged
ADD COLUMN is_deleted boolean NOT NULL default 0;
CREATE VIEW my_data AS
SELECT *
FROM my_data_flagged
WHERE is_deleted = '0'
Une autre façon est de créer un déclencheur et de faire une copie des lignes effacées dans une table indépendante.