MySQL - AYUDA CON LAS CLAVES

 
Vista:

AYUDA CON LAS CLAVES

Publicado por gatty (1 intervención) el 29/01/2010 16:18:09
HOLA A TODOS LOS JUGADORES DE LA WWW NECESITO UNA AYUDA:

CREE UNA BASE DE DATOS EN LA CUAL INDIQUE MI LLAVE PRIMARIA(PRIMARY KEY) LA CUAL ES LA CLAVE UNICA
PARA QUE NO EXISTA REDUNDANCIA DE DATOS AK BIENE LA PREGUNTA
SE PUEDE DECLARAR OTRAS VARIABLES COMO UNICAS O CUAL ES LA MAXIMA CANTIDAD DE VARIABLES SE PUEDEN DECLARAR UNICAS A PAARTE DE LA LLAVE PRIMARY ALGUIEN POR FAVOR ME PUEDA AYUDAR
SE LO AGRADECE POR FAVOR PERO ALGUIEN QUE ME DE UNA RESPUESTA URGENTE SIIIIIIIIIIIIIIII1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Primero que nada: NO GRITES...

Publicado por Gonzalo (339 intervenciones) el 30/01/2010 02:40:02
Como puse en el título, primero que nada: NO GRITES.
En los foros se considera de mala educación escribir con mayúsculas el mensaje porque eso es igual que gritar... Y a nadie le gusta que le griten.. Son reglas de cortesía.
Entendido esto, pasemos a tu pregunta:

1) Una PK no se usa para que no se repita un campo. Se usa para identificar un registro en la tabla, por lo que debe entenderse que un campo PK es como el documento de identidad de una persona: ÚNICO, pero solamente referido a ella.
2) Es posible definir un campo como UNIQUE, y esto generará dos cosas: Por un lado creará un índice de tipo UNIQUE sobre ese campo, y por otro lado, permitiría usar ese índice como ordenamiento alternativo de búsquedas en consultas. Para ello solamente tienes que crear el índice CREATE INDEX UNIQUE... (el código completo buscalo en el manual de referencia: http://dev.mysql.com/doc/refman/5.0/es/index.html).
3) Una consecuencia de definir un campo como UNIQUE es que estás definiendo lo que se denomina una "clave candidata", es decir, un campo o conjunto de campos que podrían usarse como PK en lugar de la que has definido. Es muy raro encontrar en una tabla muchas formas de crear claves candidatas, por cuanto eso podría implicar que a esa tabla le está faltando normalización.
4) En cuanto a la cantidad de UNIQUEs definibles, esto está limitado por la cantidad de índices que se pueden definir en una misma tabla: 64, de hasta 100 bytes de clave. El problema es que una mayor cantidad de índices redunda en descenso de la performance de inserciones/borrados/actualizaciones, ya que cada UNIQUE es un índice a mantener (ordenar, actualizar, optimizar), cosa que al motor del MySQL le insume tiempo. Por ello no se recomienda crear más indices de los estrictamente necesarios...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Corrección sobre índices

Publicado por Gonzalo (339 intervenciones) el 30/01/2010 02:42:50
Un detalle que se me escapó: La longitud máxima de una clave en un índice es de 1.000 bytes y no 100. Lo que sucede es que esta web no te deja corregir lo que posteas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar