Dipendenza funzionale nel DBMS: cos'è, tipi ed esempi

Sommario:

Anonim

Cos'è la dipendenza funzionale?

Functional Dependency (FD) è un vincolo che determina la relazione di un attributo con un altro attributo in un Database Management System (DBMS). La dipendenza funzionale aiuta a mantenere la qualità dei dati nel database. Svolge un ruolo fondamentale per trovare la differenza tra una progettazione di database buona e cattiva.

Una dipendenza funzionale è indicata da una freccia "→". La dipendenza funzionale di X da Y è rappresentata da X → Y. Comprendiamo la dipendenza funzionale in DBMS con l'esempio.

Esempio:

Impiegato numero Nome dipendente Stipendio Città
1 Dana 50000 San Francisco
2 Francesco 38000 Londra
3 Andrea 25000 Tokyo

In questo esempio, se conosciamo il valore del numero del dipendente, possiamo ottenere il nome del dipendente, la città, lo stipendio, ecc. In questo modo, possiamo dire che la città, il nome del dipendente e lo stipendio dipendono funzionalmente dal numero del dipendente.

In questo tutorial imparerai:

  • Parole chiave
  • Regole delle dipendenze funzionali
  • Tipi di dipendenze funzionali nel DBMS
  • Dipendenza multivalore in DBMS
  • Banale dipendenza funzionale nel DBMS
  • Dipendenza funzionale non banale nel DBMS
  • Dipendenza transitiva in DBMS
  • Cos'è la normalizzazione?
  • Vantaggi della dipendenza funzionale

Parole chiave

Ecco alcuni termini chiave per la dipendenza funzionale nel database:

Parole chiave Descrizione
Assioma Axioms è un insieme di regole di inferenza utilizzate per inferire tutte le dipendenze funzionali su un database relazionale.
Decomposizione È una regola che suggerisce che se hai una tabella che sembra contenere due entità determinate dalla stessa chiave primaria, dovresti considerare di suddividerle in due tabelle diverse.
Dipendente Viene visualizzato sul lato destro del diagramma delle dipendenze funzionali.
Determinante Viene visualizzato sul lato sinistro del diagramma delle dipendenze funzionali.
Unione Suggerisce che se due tabelle sono separate e il PK è lo stesso, dovresti considerare di metterle. insieme

Regole delle dipendenze funzionali

Di seguito sono riportate le tre regole più importanti per la dipendenza funzionale nel database:

  • Regola riflessiva -. Se X è un insieme di attributi e Y è_sottoinsieme_di X, allora X contiene un valore di Y.
  • Regola di aumento: quando x -> y vale e c è un attributo impostato, vale anche ac -> bc. Ovvero l'aggiunta di attributi che non cambiano le dipendenze di base.
  • Regola di transitività: questa regola è molto simile alla regola di transitiva in algebra se vale x -> y e y -> z vale, allora vale anche x -> z. X -> y è chiamato funzionalmente che determina y.

Tipi di dipendenze funzionali nel DBMS

Esistono principalmente quattro tipi di dipendenza funzionale nel DBMS. Di seguito sono riportati i tipi di dipendenze funzionali nel DBMS:

  • Dipendenza multivalore
  • Banale dipendenza funzionale
  • Dipendenza funzionale non banale
  • Dipendenza transitiva

Dipendenza multivalore in DBMS

La dipendenza multivalore si verifica nella situazione in cui sono presenti più attributi multivalore indipendenti in una singola tabella. Una dipendenza multivalore è un vincolo completo tra due set di attributi in una relazione. Richiede che alcune tuple siano presenti in una relazione. Considera il seguente esempio di dipendenza multivalore per capire.

Esempio:

Modello d'auto Maf_year Colore
H001 2017 Metallico
H001 2017 verde
H005 2018 Metallico
H005 2018 Blu
H010 2015 Metallico
H033 2012 Grigio

In questo esempio, maf_year e color sono indipendenti l'uno dall'altro ma dipendono da car_model. In questo esempio, si dice che queste due colonne siano multivalore dipendenti da car_model.

Questa dipendenza può essere rappresentata in questo modo:

car_model -> maf_year

car_model-> color

Banale dipendenza funzionale nel DBMS

La dipendenza Trivial è un insieme di attributi che sono chiamati banali se l'insieme di attributi è incluso in quell'attributo.

Quindi, X -> Y è una dipendenza funzionale banale se Y è un sottoinsieme di X. Comprendiamo con un esempio di dipendenza funzionale banale.

Per esempio:

Emp_id Emp_name
AS555 Harry
AS811 Giorgio
AS999 Kevin

Considera questa tabella di con due colonne Emp_id e Emp_name.

{Emp_id, Emp_name} -> Emp_id è una banale dipendenza funzionale poiché Emp_id è un sottoinsieme di {Emp_id, Emp_name}.

Dipendenza funzionale non banale nel DBMS

La dipendenza funzionale, nota anche come dipendenza non banale, si verifica quando A-> B è vero dove B non è un sottoinsieme di A. In una relazione, se l'attributo B non è un sottoinsieme dell'attributo A, allora è considerato come un non banale dipendenza.

Azienda Amministratore delegato Età
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Mela Tim Cook 57

Esempio:

(Company} -> {CEO} (se conosciamo l'azienda, conosciamo il nome del CEO)

Ma il CEO non è un sottoinsieme di Company, e quindi è una dipendenza funzionale non banale.

Dipendenza transitiva in DBMS

Una dipendenza transitiva è un tipo di dipendenza funzionale che si verifica quando t è formata indirettamente da due dipendenze funzionali. Comprendiamo con il seguente esempio di dipendenza transitiva.

Esempio:

Azienda Amministratore delegato Età
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Company} -> {CEO} (se conosciamo l'azienda, conosciamo il nome del suo CEO)

{CEO} -> {Age} Se conosciamo il CEO, conosciamo l'Età

Quindi secondo la regola della regola della dipendenza transitiva:

{Azienda} -> {Età} dovrebbe contenere, questo ha senso perché se conosciamo il nome dell'azienda, possiamo conoscere la sua età.

Nota: è necessario ricordare che la dipendenza transitiva può verificarsi solo in una relazione di tre o più attributi.

Cos'è la normalizzazione?

La normalizzazione è un metodo di organizzazione dei dati nel database che aiuta a evitare la ridondanza dei dati, l'inserimento, l'aggiornamento e l'anomalia della cancellazione. È un processo di analisi degli schemi di relazione in base alle loro diverse dipendenze funzionali e alla chiave primaria.

La normalizzazione è inerente alla teoria dei database relazionali. Potrebbe avere l'effetto di duplicare gli stessi dati all'interno del database, il che potrebbe portare alla creazione di tabelle aggiuntive.

Vantaggi della dipendenza funzionale

  • La dipendenza funzionale evita la ridondanza dei dati. Pertanto gli stessi dati non si ripetono in più posizioni in quel database
  • Ti aiuta a mantenere la qualità dei dati nel database
  • Ti aiuta a definire significati e vincoli dei database
  • Ti aiuta a identificare i cattivi progetti
  • Ti aiuta a trovare i fatti riguardanti la progettazione del database

Sommario

  • La dipendenza funzionale è quando un attributo determina un altro attributo in un sistema DBMS.
  • Assioma, Decomposizione, Dipendente, Determinante, Unione sono termini chiave per la dipendenza funzionale
  • Quattro tipi di dipendenza funzionale sono 1) Multivalore 2) Banale 3) Non banale 4) Transitiva
  • La dipendenza multivalore si verifica nella situazione in cui sono presenti più attributi multivalore indipendenti in una singola tabella
  • La dipendenza Trivial si verifica quando un insieme di attributi che sono chiamati banali se l'insieme di attributi è incluso in quell'attributo
  • La dipendenza non banale si verifica quando A-> B è vero dove B non è un sottoinsieme di A
  • Un transitivo è un tipo di dipendenza funzionale che si verifica quando è formata indirettamente da due dipendenze funzionali
  • La normalizzazione è un metodo per organizzare i dati nel database che aiuta a evitare la ridondanza dei dati