2010-11-16 9 views
11

Sto cercando di trovare una grande risorsa da studiare per la dipendenza funzionale e la normalizzazione.Dipendenza funzionale e normalizzazione

Qualcuno ha idea di dove dovrei cercare? Ho difficoltà a distinguere se un FD è in 1NF, 2NF o 3NF?

Ho letto Wikipedia e ho utilizzato la ricerca di Google per trovare una buona ricerca, ma non riesco a trovarne alcuna che la spieghi in termini semplici.

Forse tutti voi potete condividere su come avete imparato l'FD e la normalizzazione anche durante la vostra vita.

risposta

28

Una dipendenza funzionale definisce una relazione funzionale tra attributi. Ad esempio: PersonId determina funzionalmente BirthDate (normalmente scritto come PersonId -> BirthDate). Un altro modo per dire questo è: c'è esattamente una data di nascita per ogni data data qualsiasi istanza di una persona. Si noti che il contrario può o non può essere vero. Molte persone potrebbero essere nate lo stesso giorno. Dato un BirthDate possiamo trovare molti PersonId condividendo quella data.

È possibile utilizzare set di dipendenze funzionali per sintetizzare le relazioni (tabelle). La definizione di le prime 3 forme normali, tra cui Boyce Codd Normal Form (BCNF) è dichiarata in termini di come un dato insieme di relazioni rappresenta dipendenze funzionali. La quarta e la quinta forme normali coinvolgono dipendenze multivalore (un altro bollitore di pesci).

Ecco alcune risorse gratuite su Dipendenze funzionali, Normalizzazione e progettazione del database. Preparati a esercitare le tue abilità cerebrali e matematiche quando studi questo materiale.

Le seguenti sono "slide show" da vari siti universitari ...

Di seguito sono pubblicazioni accademiche. Leggere più pesantemente ma ne vale la pena.

Se siete seriamente interessati a questo argomento vi consiglio di mettere fuori il denaro per un buon libro sul tema della progettazione di database relazionale.Ad esempio: An Introduction to Database Systems by C.J. Date

+0

Grazie per tutte le spiegazioni, sto solo cercando di ottenere una piena comprensione di ciò per il mio esame – aherlambang

+0

4NF coinvolge dipendenze multivalore (MVD) e 5NF coinvolge dipendenze join (JD). Ma una JD binaria corrisponde ad una coppia di MVD (che vengono comunque in coppia). Quindi "4 & 5 NF coinvolgono" JD (non MVD). – philipxy

3

Possiamo capire la dipendenza funzionale in un modo che presuppone che abbiamo due attributi e un attributo totalmente dipendente dall'altro è chiamato dipendenza funzionale.

Dire prendere un esempio di vita reale. Sappiamo che tutti hanno un numero di previdenza sociale contro il nome della persona. Say Frank è una persona e vogliamo conoscere il numero di sicurezza sociale di questa persona, ma il database non sarà in grado di dare una mano con queste informazioni perché potrebbero esserci molte persone nominate frank ma possiamo determinare il nome della persona rispetto al numero di previdenza sociale la persona è totalmente funzionale dipendente dal numero di previdenza sociale.

5

Una dipendenza funzionale è un vincolo tra le colonne della tabella. Per esempio nella persona tabella:

 
SSN   | Name   | Date of birth | Address  | Phone number 
------------------------------------------------------------------------ 
123-98-1234 | Cindy Cry | 15-05-1983 | Los Angeles | 123-456-7891 
121-45-6145 | John O'Neill | 30-01-1980 | Paris  | 568-974-2562 
658-78-2369 | John Lannoy | 30-01-1980 | Dallas  | 963-258-7413 

Qui, il valore nella colonna di SSN (Social Security Number) determina i valori in nome colonne, data di nascita, indirizzo e numero di telefono. Ciò significa che se avessimo due righe con lo stesso valore nella colonna SSN, i valori nel nome di colonne, data di nascita, indirizzo e numero di telefono sarebbero uguali a. Una persona con SSN 123-98-1234 è sempre chiamata Cindy Cry, è nata il 15-05-1983 e così via. Una situazione come questa è chiamata dipendenza funzionale .

La nozione di dipendenze funzionali viene utilizzata per definire la seconda e terza forma normale e la forma normale Boyce-Codd (BCNF).

Per ulteriori informazioni sulle dipendenze funzionali e sulla normalizzazione, è possibile accedere a libri accademici ben noti come Introduzione ai database di C.J. Date o uno qualsiasi degli books by the H. Garcia-Molina, J.Ullman, J.Widom trio.

Se si desidera un approccio meno formale, siamo starting a series of posts on data normalization on our company blog.

2

Qual è Dipendenza funzionale?

Le dipendenze funzionali sono fondamentali per il processo di normalizzazione La dipendenza funzionale descrive la relazione tra attributi (colonne) in una tabella. In altre parole, una dipendenza FD: X → Y significa che i valori di Y sono determinati dai valori di X. Due tuple condividono gli stessi valori di X necessariamente avere gli stessi valori di Y. enter image description here

Che cos'è la normalizzazione del database?

Normalizzazione del database è un saggio processo formale passo che ci permette di scomporre tabelle di database in modo tale che sia la ridondanza dei dati e aggiornamento anomalie (vedi sopra per ulteriori informazioni sulle anomalie di aggiornamento) sono ridotti al minimo.

enter image description here Courtesy

0

Dipendenza funzionale

dipendenza funzionale può essere definita come rapporto che esce tra gli attributi in relazione. Le dipendenze funzionali sono utilizzate per creare una relazione in Boyce Codd Normal Form abbreviato in BCNF.Se C e D sono gli attributi della relazione R e l'attributo C determina in modo funzionale gli attributi D, allora la dipendenza funzionale tra entrambi gli attributi può essere espressa come C-> D.

Esempio: Di seguito lo schema persona

persona (national_id, nome, indirizzo);

Qui national_id determina in modo funzionale il nome_personale. Quindi la dipendenza funzionale è national_id -> name;

La dipendenza funzionale è importante nella progettazione di database relazionali allo scopo di eliminare la ridondanza.