Introducción a las Bases de Datos - Clave principal o Primary Key

4 - Clave principal o Primary Key

[editar]
Tutorial creado por Amanda. Extraido de: http://www.tomatoma.ws/subsecciones.php?forum_id=30&catid=22&todos=1
08 de Marzo de 2006
"Los datos operativos están formados por los ítems de datos superiores reconocidos por un nombre y estas entidades tienen unos atributos. Las entidades se componen de atributos que son todo aquello que puede tomar un valor en un dominio fijo. Para pasar de una entidad a otra se hace mediante conexiones basadas en atributos compartidos que le van a dar un carácter semántico"

Definido así puede dar un poco de miedo, pero en realidad es algo muy simple. Veamos otra vez nuestro ejemplo



"Los miserables" es uno más de los títulos de los libros que tenemos en nuestra biblioteca, denominamos a ese tipo de atributo ( que tiene unas características determinadas y son obvias ):" Titulo_libro", y no a otro. Este, junto a varios atributos más del libro: "Autor_libro", "Editorial_libro", "AñoEdicion_libro", "Idioma_libro", nos dan como resultado una: " Ficha del libro" (registro)

"Pedro" es uno más de los nombre de los lectores que tenemos en nuestra biblioteca, denominamos a este atributo ( que tiene unas características determinadas y son obvias):" Nombre_lector", y no a otro. Este, junto a varios atributos más de ese lector : "Apellidos_lector", "Domicilio_lector", "Telefono_lector", "DNI_lector", nos dan como resultado una: "Ficha del lector" (registro)

La entidad libros está formada por tantos registros como libros tengamos en la biblioteca.

La entidad lectores está formada por tantos registros como lectores tengamos registrados en nuestra biblioteca

La entidad "libros" y la entidad "lectores" se conectan a otra entidad "prestamos" por medio de unos atributos comunes que identifican inequívocamente a cada uno de sus registros, son: Ref_libro y Ref_lector
¿Cómo se conectan o relacionan las entidades?

Veamos dos entidades completamente diferentes : libros y prestamos

La ficha del libro es un registro formado por todos los atributos del libro y nos define las características de ese libro: su autor, el idioma en que está escrito, el título ... todos estos datos son esenciales al libro porque el conjunto de todos ellos define ese libro en particular. Si variásemos una sola característica dejaría de ser ese libro para pasar a convertirse en otro.

Ejemplo:

Título: El Romancero
Autor: anónimo

Recopilación de romances que en su momento se transmitían de forma oral
Título: El Romancero gitano
Autor: García Lorca

Otro libro completamente diferente, aunque sea un romancero
La ficha de lectura nos indica quién y cuándo ha leído ese libro. Que el libro lo haya leído Pedro o Juan en Enero, Febrero o Marzo, que lo tengan en su casa o que esté en la biblioteca, no altera en absoluto lo esencial del libro, no deja de ser ese libro para convertirse en otro. El total de las lecturas anotadas para todos los libros va formando una nueva entidad, una entidad que no es material, la transformamos en material cuando creamos el listado: prestamos. El listado dónde hemos registrado los lectores y las fechas en las que la biblioteca les ha prestado el libro.

Para saber que una determinada ficha de lectura se refiere a un determinado libro, tenemos que tener, tanto en la ficha del libro como en la ficha de lectura, un atributo que nos indique sin lugar a dudas, sin error posible, que se pertenecen. Este atributo es Ref_libro
¿os acordáis en el colegio? ¿no firmábamos con nuestro nombre en nuestro diccionario para saber que era nuestro y diferenciarlo del diccionario del resto de los alumnos? Nuestra firma escrita en el diccionario nos relacionaba inequívocamente con ese diccionario.

¿Cuál será el atributo inequívoco de un coche? ¿Cuál será ese identificador, por el que la Dirección General de Tráfico sabrá cuál es nuestro coche y nos pondrá una multa por saltarnos un stop en la autopista, sin confundirlo con los miles de coches que tienen el mismo color o son de la misma marca? 

Si pensáis un poco en los tres últimos ejemplos, os daréis cuenta que el hombre lleva manejando bases de datos y clasificando desde la época de Adán y ha buscado referencias inequívocas e identificadores únicos siempre. Ejemplos actuales de atributos inequívocos son: la matrícula de un coche, el número de pasaporte, el del documento nacional de identidad, el número de teléfono, el número de registro de la propiedad, el número de identificación fiscal, número de serie de los billetes, número de seguro ... todos ellos tienen algo en común, identifican inequívocamente a una persona o cosa entre un conjunto de personas o cosas de características semejantes. (coches, españoles, teléfonos, fincas, contribuyentes, billetes...)

En una base de datos computerizada, los identificadores únicos los creamos nosotros y los llamamos Clave principal
Características de la Clave principal

La clave principal debe ser inequívoca y para cada nuevo registro de datos se obtiene inmediatamente el correspondiente valor que no puede quedarse vacío. Por lo tanto:

Como este atributo siempre debe tener un valor, sea cuál sea, lo definiremos como
NOT NULL .

Como se tiene que incrementar en cada nueva ocurrencia y tiene que ser imposible modificarlo, lo definiremos como
AUTO_INCREMENT Este atributo puede estar expresamente definido para que sea invisible al usuario corriente, pero siempre será numérico, se generará automáticamente en cada ocurrencia, y aumentará en uno su valor en cada una de ellas.

La clave principal podría muy bien estar definida en un campo
INTEGER

Más fácil : el primero tendrá el valor de 1, el segundo de 2, el tercero de 3 , y así, cada vez que recojamos una ocurrencia el gestor irá nombrando inequívocamente cada una de ellas, irá nombrando cada registro.



Nuestra tabla libros podría ser muy bien ésta de aquí arriba. Cuándo se produzca una nueva ocurrencia en esta entidad, es decir, cuándo tengamos que dar de alta un nuevo libro creando un nuevo registro con los datos oportunos, el sistema gestor de nuestra base de datos creará automáticamente un nuevo valor en el campo Ref_libro que será el 531
Existen casos en los que no es suficiente determinar una única clave principal para identificar claramente un registro. Hay ocasiones en las que para realizar esa identificación precisa e inequívoca necesitamos utilizar dos o más atributos. Pensemos en los miembros de una familia.



Supongamos a tres hermanos: Pedro, Julián y Raúl; casados con Isabel y Luisa (hermanas entre ellas) y Adela. Si hiciésemos una tabla con los datos de padres e hijos necesitaríamos identificarlos claramente para no equivocarnos a la hora de introducir los datos pertenecientes a unos u otros.



Echando un primer vistazo vemos que no podríamos declarar único e irrepetible el nombre, tampoco el primer apellido o el segundo... pues en cualquiera de los tres casos tendríamos valores repetidos, si además los hijos son menores, tampoco tenemos un DNI único para cada uno ¿qué hacer entonces?

Podemos elegir varios valores cuya combinación no se repita. En lugar de elegir como clave principal o índice un solo atributo, podemos elegir dos atributos juntos, o tres, de manera que, aunque independientemente esos atributos se repitan en algunos registros, la combinación entre ellos sólo se dé una vez.

No podremos elegir los apellidos ya que la combinación de apellidos se repite dentro de una familia, y en nuestro caso se repite no solo la combinación de apellidos, sino la combinación del nombre, apellido1 y apellido2.

Pero pensemos qué es lo que identifica a un individuo dentro de un grupo familiar .... su nombre propio.

Dentro del grupo de hijos de una misma pareja, el nombre propio de cada hijo es único, ¿conocéis a dos hermanos que tengan el mismo nombre propio? , entre hermanos no se repite el mismo nombre, pero sí puede suceder entre primos, de hecho, en nuestro ejemplo tenemos a dos primos que se llaman Juan y a dos primas que se llaman Marta.

En el eslabón superior de esta familia también se dará esta característica: al ser hermanos entre sí los padres, ninguno de ellos tendrá el mismo nombre, por lo tanto, si designamos como clave principal de nuestra tabla la pareja formada por el nombre propio de cada hijo y el nombre propio de su padre respectivo, estaremos seguros que en cada registro anotaremos los datos de individuos completamente diferentes, aunque tengan el mismo nombre, el mismo apellido primero y el mismo apellido segundo.

Se podrá repetir el nombre del padre, se podrá repetir el nombre del hijo, pero nunca se podrá repetir la pareja (nombre_padre, nombre_hijo) porque en el caso de que así fuese, estaríamos hablando del mismo individuo.

Para ser más gráficos podemos pensar en estos diez guarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Su combinación por parejas nos da 100 valores completamente diferentes aunque se repita 19 veces cada uno de ellos : 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 .................85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 y 99.

Una clave primaria puede estar definida por un grupo de atributos, que si bien pueden repetirse en un mismo atributo, la combinaciones existente en cada línea es única.
[editar]

17 opiniones

puntaje de axiliares de lanus

quiero saver mi puntaje
tipos de gestores

datos
acces

deberian dar ejemplos de todos pro estubo algo imformativo
primary key

buen trabajo, ayuda bastante a resolver dudas
Muy buen aporte.

Muchas gracias por este curso, recien me estoy adentrandome a este tema y me ayudo mucho. Si se tuviera mas informacion por favor ayudenme. Gracias.
1 2 3 4 | siguiente >

Tutoriales relacionados con 'Introducción a las Bases de Datos'

Qué son y como funcionan las bases de datos. Trataremos conceptos muy básicos que os... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
El objetivo de este documento es enseñar las bases de la instalación de un cortafuegos... Más »
Este documento explica cómo usar su PalmPilot con un sistema Linux. A pesar de que... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »

Autor y licencia de 'Introducción a las Bases de Datos'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.