Skip to main content

Una guia per comprendre les dependències de la base de dades

Anonim

Una dependència és una restricció que s'aplica o defineix la relació entre atributs. Es produeix en una base de dades quan la informació emmagatzemada a la mateixa taula de base de dades determina únicament una altra informació emmagatzemada a la mateixa taula. També podeu descriure-ho com una relació on conèixer el valor d'un atribut (o un conjunt d'atributs) és suficient per indicar-vos el valor d'un altre atribut (o conjunt d'atributs) a la mateixa taula.

Les dependències de base de dades sovint confonen tant als estudiants com als professionals de la base de dades. Afortunadament, no són tan complicats com semblen. Es pot explicar millor amb alguns exemples. Aquí, examinarem els tipus de dependència de la base de dades comuns.

Dependències de base de dades i dependències funcionals

Dir que hi ha una dependència entre atributs en una taula és el mateix que dir que hi ha una dependència funcional entre aquests atributs. Si hi ha una dependència en una base de dades tal que l'atribut B depèn de l'atribut A, escriviu això com:

A -> B

Per exemple, en una taula que inclou les característiques dels empleats, inclòs el número de la Seguretat Social (SSN) i el seu nom, es pot dir que el nom depèn del SSN (o SSN -> name) perquè el nom d'un empleat es pot determinar de manera exclusiva a partir d'un SSN. Tanmateix, la declaració inversa (nom -> SSN) no és certa perquè més d'un empleat pot tenir el mateix nom però sempre té SSN diferents.

Dependències funcionals trivials

Una dependència funcional trivial es produeix quan es descriu una dependència funcional d'un atribut en una col · lecció d'atributs que inclou l'atribut original. Per exemple, {A, B} -> B és una dependència funcional trivial, igual que {name, SSN} -> SSN. Aquest tipus de dependència funcional es diu trivial perquè es pot derivar del sentit comú. És obvi que si ja coneixeu el valor de B, el valor de B pot ser determinat únicament per aquest coneixement.

Dependències funcionals completes

Una dependència funcional completa es produeix quan ja compleix els requisits per a una dependència funcional i el conjunt d'atributs en el costat esquerre de la declaració de dependència funcional no es pot reduir encara més. Per exemple, el nom {SSN, age} -> és una dependència funcional, però no és una dependència funcional completa, ja que pot eliminar l'edat del costat esquerre de la declaració sense afectar la relació de dependència.

Dependències transitives

Les dependències transitives es produeixen quan hi ha una relació indirecta que causa una dependència funcional. Per exemple, A -> C és una dependència transitiva quan és cert només perquè tant A -> B com B -> C són certes.

Dependències multivalorades

Les dependències multivalorades es produeixen quan la presència d'una o més files en una taula implica la presència d'una o més files a la mateixa taula. Per exemple, imagineu una companyia de cotxes que fabrica molts models d'automòbils, però sempre fa colors vermells i blaus de cada model. Si teniu una taula que conté el nom del model, el color i l'any de cada cotxe fabricat per l'empresa, hi ha una dependència multivalor en aquesta taula. Si hi ha una fila per a un determinat nom i any de model en blau, també ha d'haver una fila similar corresponent a la versió vermella d'aquest mateix cotxe.

Importància de les dependències

Les dependències de la base de dades són importants per entendre perquè proporcionen els blocs bàsics utilitzats en la normalització de la base de dades, el procés d'organització eficient de dades en una base de dades. Per exemple:

  • Perquè una taula estigui en la segona forma normal (2NF), no hi ha cap cas d'un atribut no primari a la taula que depèn funcionalment d'un subconjunt d'una clau candidata.
  • Perquè una taula es trobi en la tercera forma normal (3NF), cada atribut no primari ha de tenir una dependència funcional no transitòria en cada clau candidata.
  • Perquè una taula es trobi en el Formulari Normal Boyce-Codd (BCNF), totes les dependències funcionals (excepte dependències trivials) han d'estar en un superkey.
  • Perquè una taula estigui en la quarta forma normal (4NF), no ha de tenir dependències multivalorades.