| Docencia | Autor |
Llaves compuestas
Hasta ahora se ha visto, hacer una tabla con un código que sirve de llave única, pero es posible utilizar lo que se conoce como llaves compuestas (donde dos o mas campos juntos son una llave compuesta) y su uso es bastante común. Vea el siguiente ejemplo:
País
| Código | Nombre |
| 01 | Colombia |
| 02 | Venezuela |
| 03 | Ecuador |
| 04 | Brasil |
| 05 | Argentina |
Departamento
| Código País | Código Departamento | Nombre |
| 01 | A | Valle del Cauca |
| 01 | B | Antioquia |
| 01 | C | Cundinamarca |
| 01 | D | Santander |
Municipio
| Código País | Código Departamento | Código Municipio | Nombre |
| 01 | A | 1 | Cali |
| 01 | A | 2 | Jamundí |
| 01 | A | 3 | Yumbo |
Barrio
| Código País | Código Departamento | Código Municipio | Código Barrio | Nombre |
| 01 | A | 1 | b1 | Mayapan |
| 01 | A | 1 | b2 | Capri |
| 01 | A | 1 | b3 | Ciudad Jardín |
¿Cómo se representa en Access?
La tabla que tendrá llave compuesta debe señalarle los campos que serán compuestos y oprimir clave principal

Observe que ha quedado ambos campos como una sola llave compuesta

Sucede igual con municipio

Y con barrio
La integridad referencial se hace de esta manera

Ahora debe señalar dos, el código del país de la tabla departamento corresponde con el código país de la tabla de municipio


Lo mismo sucede con Barrio, el CodigoPais de Municipio corresponde a CodigoPais de Barrio y así sucesivamente

Lo importante aquí es que se hace muy fácil crear códigos para un barrio, y muy fácil deducir la jerarquía. Por supuesto, digitar un barrio requiere que el país exista, el departamento exista y que el municipio exista.
También esto conlleva problemas de eliminación: usted no puede borrar un país si este tiene a su vez departamentos, y cada departamento tiene municipios y cada municipio tiene sus barrios. Aparece el concepto de borrado en cascada que se implementa en algunas bases de datos (peligroso) y que usted borrando el padre puede borrar los hijos, nietos y bisnietos.
Ejercicio
Hacer las tablas y la integridad referencial de:
1. Continente, País, Departamento, Ciudad, Comuna, Barrio, Predio
2. ONG, asociación, fundación, organización, proyecto, tarea, paso
3. País, departamento, ciudad, distribuidor, armario, caja, parcaja
Llénelos de datos desde el padre hasta el hijo, trate de borrar algún padre, mire que errores genera Access, luego active el borrado en cascada y observe lo que sucede.