in

DBMS BCNF – punto de javat

  • BCNF es la versión avanzada de 3NF. Es más estricto que 3NF.
  • Una tabla está en BCNF si cada dependencia funcional X → Y, X es la superclave de la tabla.
  • Para BCNF, la tabla debe estar en 3NF, y para cada FD, LHS es superclave.

Ejemplo: Supongamos que hay una empresa donde los empleados trabajan en más de un departamento.

Tabla EMPLEADO:

EMP_ID EMP_COUNTRY EMP_DEPT DEPT_TYPE EMP_DEPT_NO
264 India Diseño D394 283
264 India Pruebas D394 300
364 Reino Unido Historias D283 232
364 Reino Unido Desarrollando D283 549

En la tabla anterior, las dependencias funcionales son las siguientes:

Clave de candidato: {EMP-ID, EMP-DEPT}

La tabla no está en BCNF porque ni EMP_DEPT ni EMP_ID por sí solos son claves.

Para convertir la tabla dada en BCNF, la descomponemos en tres tablas:

Tabla EMP_COUNTRY:

EMP_ID EMP_COUNTRY
264 India
264 India

Tabla EMP_DEPT:

EMP_DEPT DEPT_TYPE EMP_DEPT_NO
Diseño D394 283
Pruebas D394 300
Historias D283 232
Desarrollando D283 549

Tabla EMP_DEPT_MAPPING:

EMP_ID EMP_DEPT
D394 283
D394 300
D283 232
D283 549

Dependencias funcionales:

Claves candidatas:

Para la primera mesa: EMP_ID
Para la segunda mesa: EMP_DEPT
Para la tercera mesa: {EMP_ID, EMP_DEPT}

Ahora, esto está en BCNF porque la parte del lado izquierdo de ambas dependencias funcionales es una clave.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Etiqueta de sección HTML

60 83486 1512649303

¿Qué significa «desreferenciar» un puntero en C / C ++?