Diseño de base de datos

16/04/2007 - 22:22 por Esteban Yanson | Informe spam
Tenemos opiniones diferentes sobre la forma de colocar las PKs en unas tablas
y quiero consultar con ustedes cuál sería la opción más correcta y por qué.
GRACIAS !!!

*** OPCION 1 ***

Paises:
(PK) PaisId
Nombre

Provincias:
(PK) PaisId
(PK) ProvinciaId
Nombre
Superficie

Ciudades:
(PK) PaisId
(PK) ProvinciaId
(PK) CiudadId
Nombre


*** OPCION 2 ***

Paises:
(PK) PaisId
Nombre

Provincias:
(PK) ProvinciaId
Nombre
PaisId
Superficie

Ciudades:
(PK) CiudadId
Nombre
ProvinciaId

Preguntas similare

Leer las respuestas

#6 Alhambra Eidos Kiquenet
17/04/2007 - 11:56 | Informe spam
Hola a todos,

es recomendable el uso de claves compuestas ? cuándo se justifica ?

Si se arrastran las dos claves (una por tabla) de una relación n-m, la clave
mejor sería que fuera compuesta ??

O puede darse el caso que la clave de la tabla fuera un IDENTITY, y las
claves que se arrastran fueran FK pero no PK ?

Saludos.

"Maxi" wrote:

Hola,a mi me gusta la opcion 1, primero que representa mas a la entidad y
sus restricciones, ya que por ej una provincia puede estar repetida en mas
de un pais entonces es una clave compuesta donde vos si solamente lo haces
por id no estas permitiendo repetir provincias

"Esteban Yanson" wrote in message
news:
> Tenemos opiniones diferentes sobre la forma de colocar las PKs en unas
> tablas
> y quiero consultar con ustedes cuál sería la opción más correcta y por
> qué.
> GRACIAS !!!
>
> *** OPCION 1 ***
>
> Paises:
> (PK) PaisId
> Nombre
>
> Provincias:
> (PK) PaisId
> (PK) ProvinciaId
> Nombre
> Superficie
>
> Ciudades:
> (PK) PaisId
> (PK) ProvinciaId
> (PK) CiudadId
> Nombre
>
>
> *** OPCION 2 ***
>
> Paises:
> (PK) PaisId
> Nombre
>
> Provincias:
> (PK) ProvinciaId
> Nombre
> PaisId
> Superficie
>
> Ciudades:
> (PK) CiudadId
> Nombre
> ProvinciaId
>
Respuesta Responder a este mensaje
#7 Salvador Ramos
17/04/2007 - 12:36 | Informe spam
Hola,

Creo que este artículo te ayudará bastante a ver las diversas posibilidades,
con sus pros y sus contras.
http://www.helpdna.net/sqlserver_cl...ciales.htm

Un saludo
Salvador Ramos

www.sqlserverymicrosoft.net (información sobre SQL Server y .NET)
www.sqlserverymicrosoft.net/acerca_de_salvador_ramos.htm
[SQL Server MVP]

"Alhambra Eidos Kiquenet"
escribió en el mensaje
news:

Hola a todos,

es recomendable el uso de claves compuestas ? cuándo se justifica ?

Si se arrastran las dos claves (una por tabla) de una relación n-m, la
clave
mejor sería que fuera compuesta ??

O puede darse el caso que la clave de la tabla fuera un IDENTITY, y las
claves que se arrastran fueran FK pero no PK ?

Saludos.

"Maxi" wrote:

Hola,a mi me gusta la opcion 1, primero que representa mas a la entidad y
sus restricciones, ya que por ej una provincia puede estar repetida en
mas
de un pais entonces es una clave compuesta donde vos si solamente lo
haces
por id no estas permitiendo repetir provincias

"Esteban Yanson" wrote in
message
news:
> Tenemos opiniones diferentes sobre la forma de colocar las PKs en unas
> tablas
> y quiero consultar con ustedes cuál sería la opción más correcta y por
> qué.
> GRACIAS !!!
>
> *** OPCION 1 ***
>
> Paises:
> (PK) PaisId
> Nombre
>
> Provincias:
> (PK) PaisId
> (PK) ProvinciaId
> Nombre
> Superficie
>
> Ciudades:
> (PK) PaisId
> (PK) ProvinciaId
> (PK) CiudadId
> Nombre
>
>
> *** OPCION 2 ***
>
> Paises:
> (PK) PaisId
> Nombre
>
> Provincias:
> (PK) ProvinciaId
> Nombre
> PaisId
> Superficie
>
> Ciudades:
> (PK) CiudadId
> Nombre
> ProvinciaId
>
Respuesta Responder a este mensaje
#8 Esteban Yanson
17/04/2007 - 15:52 | Informe spam
GRACIAS A TODOS !

"Esteban Yanson" wrote:

Tenemos opiniones diferentes sobre la forma de colocar las PKs en unas tablas
y quiero consultar con ustedes cuál sería la opción más correcta y por qué.
GRACIAS !!!

*** OPCION 1 ***

Paises:
(PK) PaisId
Nombre

Provincias:
(PK) PaisId
(PK) ProvinciaId
Nombre
Superficie

Ciudades:
(PK) PaisId
(PK) ProvinciaId
(PK) CiudadId
Nombre


*** OPCION 2 ***

Paises:
(PK) PaisId
Nombre

Provincias:
(PK) ProvinciaId
Nombre
PaisId
Superficie

Ciudades:
(PK) CiudadId
Nombre
ProvinciaId

Respuesta Responder a este mensaje
#9 Jose Mariano Alvarez
18/04/2007 - 01:04 | Informe spam
En el post ,
DIJO .
Hola:
La primera en mi opinión es generalmente mejor. Con algunas
recomendaciones adicionales:
a) Agregar un UNIQUE sobre Nombre en Paises
b) Agregar un UNIQUE sobre Pais/Nombre en Provincias
c) Agregar un UNIQUE sobre PaisId, ProvinciaId, Nombre en Ciudades
Hay algunas ocasiones esta solucion no es la mejor, particularemente
cuando Ciudades esta referenciado en tablas transaccionales con muchas
filas.
Saludos,


Javier Loria
Costa Rica (MVP)
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.


"Esteban Yanson" wrote in message
news:
> Tenemos opiniones diferentes sobre la forma de colocar las PKs en unas
> tablas
> y quiero consultar con ustedes cuà¡l serà­a la opción mà¡s correcta y por
> qué.
> GRACIAS !!!
>
> *** OPCION 1 ***
>
> Paises:
> (PK) PaisId
> Nombre
>
> Provincias:
> (PK) PaisId
> (PK) ProvinciaId
> Nombre
> Superficie
>
> Ciudades:
> (PK) PaisId
> (PK) ProvinciaId
> (PK) CiudadId
> Nombre
>
>
> *** OPCION 2 ***
>
> Paises:
> (PK) PaisId




Opino igual.

Si hay que agregar una clave no natural un unico Id o GUID por tabla es
mi preferencia tanto por facilidad como por rendimiento. El resto de las
condiciones y restricciones se manejan con contraints muy facilmente.





Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el
problema también ayuda.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida