Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Relacion de uno es a uno

Estas en el tema de Relacion de uno es a uno en el foro de SQL Server en Foros del Web. Amigos... tengo la siguiente inquietud y haber si me pueden hechar una mano... tengo que hacer una base de datos clinica... esta base de datos ...
  #1 (permalink)  
Antiguo 18/05/2012, 23:13
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Relacion de uno es a uno

Amigos... tengo la siguiente inquietud y haber si me pueden hechar una mano...

tengo que hacer una base de datos clinica... esta base de datos se compone de dos tablas una es PACIENTE con sus campos RUT, NOMBRE, N°CAMA, ETC.. Y HABITACION con sus campos N°CAMA, NUMERO-PISO.....

El problema que se me presenta es la relación, ya que para saber que cama se le asignó a un paciente hay que relacionar N°CAMA con N°CAMA..... y al hacer la consulta debería funcionar muy bien... pero ¿como hago que una habitación sea ocupada solo por un solo un paciente??

En una habitación no puede haber mas de un paciente... si ingreso un paciente nuevo tiene que ocupar otra habitación.

Les ruego me ayuden a ver como es que se relacionan y como se hace ya que soy nuevo en SQL Server, (uso el 2008)



otra inquietud... que me recomiendan ustedes?? hacer las tablas gráficamente o por código?


Saludos y gracias desde ya...
  #2 (permalink)  
Antiguo 20/05/2012, 11:17
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Relacion de uno es a uno

Pues no me quedo muy clara tu duda, si UNA HABITACION solo cuenta con UNA SOLA CAMA, es claro que si se le asigna dicha cama a UN PACIENTE, la relacion es UNO-a-UNO.

¿Donde esta la duda?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 20/05/2012, 22:20
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Respuesta: Relacion de uno es a uno

obviamente que si... el problema es que al crear las tablas normalmente.... al momento de crear dos pacientres se les puede asignar la misma cama cuantas veces quiera... eso es lo que quiero evitar....
Quiero que al poner al paciente con la cama Nº 2 no me deje crear otro paciente con la cama 2... cosa que ahora si me lo permite ya que la relación me queda uno es a muchos.

¿Como hago para que la relación quede uno es a uno?

gracias.
  #4 (permalink)  
Antiguo 20/05/2012, 22:23
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Relacion de uno es a uno

Cita:
Iniciado por juancenter Ver Mensaje
obviamente que si... el problema es que al crear las tablas normalmente.... al momento de crear dos pacientres se les puede asignar la misma cama cuantas veces quiera... eso es lo que quiero evitar....
Quiero que al poner al paciente con la cama Nº 2 no me deje crear otro paciente con la cama 2... cosa que ahora si me lo permite ya que la relación me queda uno es a muchos.

¿Como hago para que la relación quede uno es a uno?

gracias.
Hola juancenter, lo que tenes que crear es un indice UNIQUE sobre la columna nro de cama, de manera que el nro (dentro de esa columna) sea único e irrepetible.

Saludos
  #5 (permalink)  
Antiguo 21/05/2012, 10:09
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Relacion de uno es a uno

Y que tu aplicativo, el que asigna las camas, solo te muestre las camas SIN ASIGNAR al momento que vas a asignar una cama, ¿no?
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 21/05/2012, 14:02
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Respuesta: Relacion de uno es a uno

Asi, es... gracias, gracias... lo voy a probar... saludos.

Etiquetas: relacion, server, sql, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:18.