Oracle
 sql >> база данни >  >> RDS >> Oracle

Трябва ли да изтрия или деактивирам ред в релационна база данни?

Ако не изтриете, ще създадете нов клас грешки за всички бъдещи заявки. Не забравяйте, че писането на заявки често се извършва от опитни потребители (т.е. не-ИТ специалисти) и млади разработчици. Така че сега всяка таблица, която има невалидни данни, маркирани само с активен флаг на BIT, ще се нуждае от допълнително И в клаузата WHERE за всяка заявка от сега завинаги. Това ще помогне на потребителите да попаднат в ямата на провала вместо в ямата на успеха. Въпреки това силно ви насърчавам да внедрите тези системи с флаг, тъй като без лош дизайн няма нужда разработчиците на поддръжка да коригират многобройните грешки, които ще създаде.

Колко ценно е да има исторически данни в таблицата? Ако бизнесът е ориентиран към бъдещето, наличието на стари данни в таблиците може да бъде просто тежест - това ще доведе до проблеми при създаването на ограничения (всички ограничения ще трябва да бъдат променени, за да се изключат данни, които искате да не са там). Осигуряването на качеството на данните е сложно, тъй като се налага непрекъснато да идентифицираме отново кои са „стари глупости, които се страхуваме да изтрием, но никога повече не искаме да използваме или актуализираме“ и нови неща, които ни интересуват.

Изтрива ли се, защото е грешка? Ако редът съответства на обект в реалния живот, може би е интересно да запазите и зададете флаг "изпарен", "мъртъв", "напуснал сградата". Ако случайно сте вмъкнали ред, който не съответства на никакъв обект в реалния живот, ИЗТРИВАНЕ не е лошо нещо. Важни ли са въображаемите клиенти, които никога не са съществували, за да ги задържите в таблицата с клиенти?

И накрая, личността играе голяма роля. Хората също могат да бъдат пакети с данни. Ако DBA пази всичките си вестници отпреди 30 години и не обича да изтрива данни, може би трябва да се увери, че взема решения за дизайна на данни въз основа на достойнствата, а не на неуместни лични предпочитания.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групово вмъкване в базата данни на Oracle:Кое е по-добре:цикъл FOR Cursor или обикновен Select?

  2. Експортиране на CLOB в текстов файл с помощта на Oracle SQL Developer

  3. Как да декларирам и използвам променливи в PL/SQL, както правя в T-SQL?

  4. Oracle 'Partition By' и 'Row_Number' ключова дума

  5. работа с json в oracle