Database Normalization
Normalizzazione del database
La normalizzazione del database divide i fatti correlati in tabelle ben formate. Questo riduce i dati ripetuti e gli errori quando un fatto cambia.
Un altro esempio
Una clinica smette di copiare il telefono di un paziente, il nome di un medico e tre colonne di medicinali in ogni riga di visita. Pazienti, clinici, visite e `visit_medications` diventano tabelle correlate. Un cambiamento di telefono aggiorna un solo fatto; solo una vista di reporting controllata combina i dati per una lettura più veloce.
Parti principali
- 01Fatti e dipendenze
- 02Tasti e relazioni
- 03Aggiornamenti senza anomalie
Usalo quando
Usa fatti, le loro dipendenze e chiavi per costruire una fonte unica di verità affidabile. Denormalizza solo più tardi quando le prove sulle prestazioni lo supportano.
Non usarlo quando
Non inseguire forme normali superiori senza far corrispondere le reali relazioni dei dati. Non denormalizzare troppo presto senza chiare regole di proprietà e sincronizzazione.
Nome usato nel codice
functional dependencies + candidate keys + 1NF/2NF/3NF/BCNF as appropriate Prima di spedire
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Normalizzazione del database (Database Normalization). User context: Una clinica smette di copiare il telefono di un paziente, il nome di un medico e tre colonne di medicinali in ogni riga di visita. Pazienti, clinici, visite e `visit_medications` diventano tabelle correlate. Un cambiamento di telefono aggiorna un solo fatto; solo una vista di reporting controllata combina i dati per una lettura più veloce. Technical concept or control: Normalizzazione del database (Database Normalization). Why it fits: Usa fatti, le loro dipendenze e chiavi per costruire una fonte unica di verità affidabile. Denormalizza solo più tardi quando le prove sulle prestazioni lo supportano. Do not use it when: Non inseguire forme normali superiori senza far corrispondere le reali relazioni dei dati. Non denormalizzare troppo presto senza chiare regole di proprietà e sincronizzazione. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nessun singolo standard ufficiale controlla l'intero termine. Il suo significato può cambiare tra team, piattaforme o framework. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Controlla questa richiesta
Review how Normalizzazione del database (Database Normalization) is used now. Definition: La normalizzazione del database divide i fatti correlati in tabelle ben formate. Questo riduce i dati ripetuti e gli errori quando un fatto cambia. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.