sql >> Database >  >> RDS >> Oracle

Moet ik een rij in een relationele database verwijderen of uitschakelen?

Als u niet verwijdert, wordt er een nieuwe klasse bugs gecreëerd voor alle toekomstige zoekopdrachten. Vergeet niet dat het schrijven van query's vaak wordt gedaan door ervaren gebruikers (d.w.z. niet-IT-professionals) en junior ontwikkelaars. Dus nu heeft elke tabel met ongeldige gegevens die alleen zijn gemarkeerd met een actieve BIT-vlag, een extra AND in de WHERE-component nodig voor elke query vanaf nu tot voor altijd. Dit zal gebruikers helpen om in de put van mislukking te vallen in plaats van in de put van succes. Ik raad je echter ten zeerste aan om deze vlagsystemen hoe dan ook te implementeren, want zonder een slecht ontwerp is het niet nodig dat onderhoudsontwikkelaars de talrijke bugs oplossen die het zal veroorzaken.

Hoe waardevol is het om historische gegevens in de tabel te hebben? Als het bedrijf toekomstgericht is, kan het een last zijn om oude gegevens in de tabellen te hebben - het veroorzaakt problemen bij het maken van beperkingen (alle beperkingen zullen moeten worden aangepast om gegevens uit te sluiten waarvan u wenste dat ze er niet waren). Gegevenskwaliteitsborging wordt bemoeilijkt door voortdurend opnieuw te moeten identificeren wat "oude rotzooi is die we niet willen verwijderen, maar die we nooit meer willen gebruiken of bijwerken" en nieuwe dingen waar we om geven.

Wordt het verwijderd omdat het een vergissing was? Als de rij overeenkomt met een entiteit in het echte leven, is het misschien interessant om een ​​vlag "verdampt", "dood", "het gebouw verlaten" te behouden en in te stellen. Als je per ongeluk een rij hebt ingevoegd die overeenkomt met geen enkele entiteit in het echte leven, is een VERWIJDEREN geen slechte zaak. Zijn denkbeeldige klanten die nooit hebben bestaan ​​belangrijk om in de klantentabel te houden?

En tot slot speelt persoonlijkheid een grote rol. Mensen kunnen ook packrats zijn met gegevens. Als een DBA al zijn kranten van 30 jaar terug bewaart en het niet leuk vindt om gegevens te verwijderen, moet hij er misschien voor zorgen dat hij beslissingen neemt over het ontwerp van gegevens op basis van de verdiensten en niet op een irrelevante persoonlijke voorkeur.



  1. Hoe JDBC-configuratie te laden vanuit het eigenschappenbestand Voorbeeld

  2. PostgreSQL Connection Pooling:Deel 4 – PgBouncer vs. Pgpool-II

  3. Meer over de introductie van tijdzones in langlevende projecten

  4. Overwegingen bij versleuteling van gegevens in rust voor MariaDB