Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Gli effetti di Agriturismo I riferimenti a DBMS

Alcuni database di gestione delle applicazioni si occupano di informazioni gerarchiche , come ad esempio gli stati composti da contee , che a loro volta contengono le città . Si potrebbe essere tentati di organizzare queste informazioni in tabelle separate nel vostro DBMS - uno per ciascun livello della gerarchia - ma una soluzione più elegante utilizza una tabella autoreferenziale , che è più facile da gestire e ospitare un maggior numero di dati . Autoreferenziale Tabella

Per creare una tabella autoreferenziale , comincerete con due campi , un numero ID e un numero ID genitore . Per questi campi , è possibile aggiungere tutti gli altri opportuni per l'applicazione , quali il nome, descrizione , ubicazione o popolazione . Per comodità, è possibile impostare il numero ID di un tipo di campo di numerazione automatica in modo che il database di numeri automaticamente i nuovi record in ordine crescente. I riferimenti ID principale del numero ID del record padre nella gerarchia , se il record non ha un genitore , è possibile impostare questo campo su zero . Per esempio , il record per California ha un ID di uno e un ID genitore di zero. Il record per la contea di San Francisco ha un ID di due e un ID di un genitore . Ogni record figlio in tavola references record padre nello stesso tavolo , . Della tabella è autoreferenziale
Consolidamento

Un effetto di tavoli autoreferenziale è un consolidamento di più tabelle in un'unica tabella . Avere un minor numero di tabelle del database semplifica e facilita la manutenzione . Sistemi di database moderni accomodano facilmente milioni di record per tabella , in modo da mantenere tutti gli elementi di dati di una gerarchia in una singola tabella non è un problema . Impostando il campo ID di una chiave primaria e l'ID del genitore di un indice, è possibile individuare facilmente tutti i record su uno qualsiasi ramo della gerarchia .
Flessibilità

un database con una tabella per ogni livello di una gerarchia funziona bene fino a quando compare un nuovo livello , come è necessario quindi aggiungere una nuova tabella per accogliere il cambiamento e modificare tutti i programmi applicativi che utilizzano il database . Al contrario, una tabella autoreferenziale ospitare qualsiasi numero di livelli gerarchici . Il campo ID genitore punta sempre ad un livello superiore nella gerarchia , in modo che i record di formare una catena coerente . Il numero di livelli della gerarchia può essere la stessa per tutti i record padre o può variare ; la tabella autoreferenziale gestisce entrambi i casi
Cascading Elimina

Quando . una tabella autoreferenziale contiene molti record di dati , ci si potrebbe chiedere che cosa fare quando si elimina un record padre . A meno che non si eliminano anche tutti i record figlio , si rischia di creare "orfani ", o record con ID genitore non validi. Fortunatamente, esiste un meccanismo per gestire automaticamente questa situazione. Quando si crea il campo ID genitore , è possibile specificare che essa ha un campo chiave esterna , e di utilizzare il campo ID come chiave primaria della tabella. Una volta fatto questo , è possibile aggiungere il vincolo , "ON DELETE CASCADE " al campo . Con il vincolo e le impostazioni delle chiavi esterne in atto, il database eliminerà tutti i record figlio corrispondenti quando si elimina un record padre .

 

software © www.354353.com