Archivio per 'chiavi primarie' categoria

Le relazioni in un database

Martedì, 15 gennaio 2008 |

Dopo aver impostato le tabelle differenti per ogni oggetto nel database, è necessario un modo per dire a Microsoft Access come raccogliere queste informazioni ancora. Il primo passo in questo processo è quello di definire le relazioni tra le tabelle. Dopo aver fatto questo, è possibile creare query, maschere e report per visualizzare le informazioni da più tabelle in una sola volta.

Come i rapporti?

Un uno-a-molti
L'uno-a-molti è il tipo più comune di relazione. In una relazione uno-a-molti, un record nella tabella A può avere molti record corrispondenti nella tabella B, ma un record nella tabella B ha solo un record corrispondente nella tabella A.

A molti-a-molti
In una relazione molti-a-molti, un record nella tabella A può avere molti record corrispondenti nella tabella B, e un record nella tabella B può avere molti record corrispondenti nella tabella A. Questo tipo di relazione è possibile solo definendo una terza tabella (chiamata tabella di associazione), la cui chiave primaria consiste di due campi  chiavi esterne di entrambe le tabelle A e B. In realtà, una relazione molti-a-molti sono un rapporto due-a-molti con una terza tabella. Ad esempio, la tabella Ordini e la tabella Prodotti hanno una relazione molti-a-molti definita creando due relazioni uno-a-molti per la tabella Dettagli ordini.

Uno-a-one
In uno one-to-one, ogni record nella tabella A può avere solo un record corrispondente nella Tabella B, e ogni record nella Tabella B può avere solo un record corrispondente nella tabella A. Questo tipo di relazione non è comune perché molte delle informazioni relative anche essere in una singola tabella. L'uso di un uno-a-uno è consigliato quando si desidera condividere una tabella con molti campi, per isolare parte di una tabella per le informazioni di sicurezza o un negozio che si applica solo a un sottoinsieme della tabella principale. È possibile, ad esempio, creare una tabella per registrare i dipendenti che partecipano a una partita di calcio per raccogliere fondi.

Definizione delle relazioni
È possibile definire una relazione aggiungendo le tabelle da correlare alla finestra Relazioni e quindi trascinando il campo chiave di una tabella e rilasciandolo nella chiave di un'altra tabella.
Il tipo di rapporto che Microsoft Access crea dipende da come i campi correlati sono definiti:
• Una relazione uno-a-molti viene creata se solo uno dei campi correlati è una chiave primaria o ha un indice univoco.
• Un one-to-one viene creato quando entrambi i campi correlati sono chiavi primarie o hanno indici univoci.
• In realtà, una relazione molti-a-molti sono un due-a-molti con una terza tabella la cui chiave primaria consiste di due campi  chiavi esterne delle altre due tabelle.
Nota Se si trascina un campo che non è una chiave primaria e non ha un indice univoco ad un altro campo che non è una chiave primaria e non ha un indice univoco, un rapporto indeterminato è stato creato. Nelle query contenenti tabelle con una relazione di indeterminato, verrà visualizzato un valore predefinito linea di join tra le tabelle, ma l'integrità referenziale non viene applicata e non vi è alcuna garanzia che i record sono unici in ogni tabella.

Standardization (Scelta delle chiavi primarie)

Sabato 22 DIC 2007 |

È il processo passo dopo passo formale per esaminare gli attributi di un'entità, al fine di evitare anomalie osservate in aggiunta, la cancellazione e la modifica delle sequenze uniche.

Obiettivi

1) Minimizzazione delle duplicazioni e incoerenze;
2) Facilità di gestione di database;
3) la manutenibilità del sistema dell'informazione.

Prima forma normale (1NF)

Una relazione è in 1NF se solo tutti i campi base contengono solo i valori univoci (non contiene gruppi ripetuti).

Procedure:

a) Individuare la chiave primaria dell'entità;
b) Identificare il gruppo ripetitivo e lo rimuove dal corpo;
c) Creare una nuova entità con la chiave principale del soggetto e il gruppo prima di ripetere.

La chiave primaria della nuova entità sarà ottenuto concatenazione della chiave principale del soggetto originale e il gruppo ripetitivo.

Es: Richiesta

(Numero_pedido; data_pedido, cod_cliente, customer_name, endereco_cliente, (codigo_produto, numero_produto, quantidade_produto, preco_produto; total_produto) total_pedido)

Richiesta => (numero_pedido; data_pedido, cod_cliente, customer_name; endereco_cliente)

Item_Pedido => (numero_pedido; cod_produto, nome_produto, quantità, preco_produto; total_produto)

Dipendenza funzionale

Un rapporto R dato, la X attributo è funzionalmente dipendente R X attributo di R è necessaria solo quando due sequenze R per combinare i valori di X anche corrispondere al valore di X.

Seconda forma normale (2NF)

Una relazione R è in 2NF se e solo se è il primo e tutti gli attributi non chiave sono completamente dipendenti da chiave primaria (in base alla chiave di tutto e non solo parte di esso).

Procedure:

a) Individuare gli attributi che non sono funzionalmente dipendente dalla chiave primaria.
b) Rimuovere il soggetto identificato tutti questi attributi e creare una nuova entità con loro.
La chiave primaria della nuova entità sarà l'attributo di cui vengono rimossi gli attributi attributi che sono funzionalmente dipendenti.

Product => (cod_produto, nome_produto, preco_produto)

Dipendenza transitiva

Sia A, B e C tre attributi di un'entità X. C a seconda che B e B dipendono dalla C è poi detto di A. transitivamente dipendente

Terza forma normale (3NF)

Una relazione R è in 3NF se solo si è in 2NF e ogni attributi non chiave dipendono dalla chiave primaria non è transitiva (ogni attributo è funzionalmente dipende solo gli attributi chiave primaria delle componenti o se tutti i suoi attributi non chiave sono reciprocamente indipendenti) .

Procedure:

a) Identificare tutti gli attributi che sono funzionalmente dipendente da altri attributi non chiave;
b) siano eliminati e creare una nuova entità con lo stesso.
La chiave primaria della nuova entità sarà l'attributo che ha eliminato gli attributi sono funzionalmente dipendenti.

Cliente (cod_cliente; customer_name; endereco_cliente)
Prodotto (cod_produto; nome_produto; preco_produto)
Richiesta (numero_pedido; data_pedido; ; Total_pedido)

Presentazione

Avatar

Grazie per aver visitato.
Iscriviti al feed per non perdere alcun messaggio.

Qui nel blog ho fornirà esempi di lavoro con Microsoft Access e fare domande a coloro che chiedono. More

Vuoi iscriverti?

Iscriviti o iscriversi via e-mail:
Inserisci la tua email:


Annunci