Claves Artificiales o Naturales.

09/06/2004 - 20:11 por Ruben Dario | Informe spam
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.

Preguntas similare

Leer las respuestas

#1 Maxi
09/06/2004 - 20:56 | Informe spam
Hola, la ventaja si usas un identity es en permormance y haceleras los
Querys ya que solo deberias poner un solo campo y no N

Claro no todo es color de rosas en este mundo, yo particularmente los
identity los uso para otra cosa ;-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Ruben Dario" escribió en el mensaje
news:1a51901c44e4d$2bcd9c40$
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004
Respuesta Responder a este mensaje
#2 Javier Loria
10/06/2004 - 07:41 | Informe spam
Hola Ruben:
Ummm. Me da la impresion que ID_Empleado no es una llave natural, a
menos que efectivamente se emita algun tipo de carnet, codigo con este
numero. La idea de una llave natural es lo que en "el mundo real" identifica
plenamente a una intancia de la entidad. O sea que identifica a un empleado
y lo distingue del otro sin la menor duda?. Podria ser un numero de Empleado
si existe como te digo un carnet o codigo de empleado pero si esto no existe
probablemente tengas que recurrir a algun numero de identificacion de
persona (cedula o documento de identificacion). En algunas ocasiones no es
posible encontrar es la llave primaria y hay que inventar una (podria ser
ID_Empleado!!!).
En el caso de Registros no exactamente a que te refieres.
Asumiendo que los dos ID's fueran llaves si Detalles representa la
relacion entre estas dos entidades, puede ocurrir que tenga su propia llave
primaria o que la llave primaria sea la combinacion de ID_Empleados e
ID_Registro. Si decidieras "inventar" una llave en este caso es muy probable
que se deteriore la velocidad de las consultas, se ocupa mas espacio en
disco y se corre el riego de perder integridad. Usar llaves artificiales aun
cuando es posible e incluso recomendable en algunos casos requiere mucho
cuidado y control.
En otros casos cuando las llaves primarias naturales son muy grandes y
muy poco densas (pocas filas) y se referencias en muchas tablas tiene mucho
sentido usar una llave artificial para mejorar el desempeno de la consultas.
Una llave artificial de este tipo debe quedar "escondida" a los usuarios, y
no exponerse.
En el caso que expusiste, es mi opinion, que siempre pierdes con un
llave artificial.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Ruben Dario escribio:
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.
Respuesta Responder a este mensaje
#3 Keko
10/06/2004 - 09:24 | Informe spam
Hola, perdon, pero podrias poner el vinculo al articulo que mencionas?

Gracias
KEKO


"Ruben Dario" escribió en el mensaje
news:1a51901c44e4d$2bcd9c40$
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.
Respuesta Responder a este mensaje
#4 Eladio Rincón
10/06/2004 - 10:27 | Informe spam
Keko,

creo que se refiere a este:
http://www.configuracionesintegrale...p?articulo!9


Eladio Rincón
Consultor, SQL Server MVP
Solid Quality Learning Iberoamericana
http://www.SolidQualityLearning.com

http://www.siquelnet.com
"Comparte lo que sabes, aprende lo que no sepas." FGG


Keko wrote:
Hola, perdon, pero podrias poner el vinculo al articulo que mencionas?

Gracias
KEKO


"Ruben Dario" escribió en el
mensaje news:1a51901c44e4d$2bcd9c40$
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.
Respuesta Responder a este mensaje
#5 Keko
10/06/2004 - 13:18 | Informe spam
Muchas gracias


"Eladio Rincón" escribió en el mensaje
news:
Keko,

creo que se refiere a este:
http://www.configuracionesintegrale...p?articulo!9


Eladio Rincón
Consultor, SQL Server MVP
Solid Quality Learning Iberoamericana
http://www.SolidQualityLearning.com

http://www.siquelnet.com
"Comparte lo que sabes, aprende lo que no sepas." FGG


Keko wrote:
Hola, perdon, pero podrias poner el vinculo al articulo que mencionas?

Gracias
KEKO


"Ruben Dario" escribió en el
mensaje news:1a51901c44e4d$2bcd9c40$
Que tal grupo.

Vi un articulo muy importante del compañero Miguel Egea
donde explica las claves Artificiales (campos Identity) y
claves Naturales(campo normal).

A pesar de que entendi bien el articulo tengo la siguiente
pregunta:

Tengo 2 Tablas las cuales se enlazan a una tabla,esta
ultima tiene 2 claves principales para poder agregar
registros.

Tablas--> Empleados Registros Detalles_R
Id_Empleado Id_Registro Id_Empleado
Id_Registro

Mi duda es si es conveniente tener en la Tabla Detalles_R
con dos claves principales, o poner una clave Identity y
las relaciones principales que queden normales.

Cual es la ventaja de utilizarlo de las 2 formas?

Saludos y gracias de antemano por su ayuda.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida