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

restriccion en mysql

Estas en el tema de restriccion en mysql en el foro de Mysql en Foros del Web. holas como estan saben yo quiero saber como poder hacer restricciones en mysql ya que nesesito hacer una restriccion sobre 2 tablas y no se ...
  #1 (permalink)  
Antiguo 27/12/2005, 11:52
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta restriccion en mysql

holas como estan saben yo quiero saber como poder hacer restricciones en mysql ya que nesesito hacer una restriccion sobre 2 tablas y no se como poder hacerla podrian ayudarme porfavor....alguna sentencia en mysql que me ayude con este con este problema porfa..

lo que pasa es que tengo q restringir con una consulta en sql la dispocicion de camas disponibles por piesa siendo cama y piesas una tabla diferente que estan enlasadas con paciente, que es a este al cual se le asigna las camas ... con una consulta en sql como se podria restringir eso ...

... grcias de ante mano
  #2 (permalink)  
Antiguo 28/12/2005, 04:02
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
¿Puedes poner un ejemplo? no entiendo a qué te refieres con "restricción" ¿a que tenga un número limtado? ¿a que no se pueda modificar? ¿...?
  #3 (permalink)  
Antiguo 29/12/2005, 12:19
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
restriccion

un ejemplo seria este mira

caso:1
llega un pciente se registra se le asigna una sala 600 y una cama nª1

en este caso hay una tabla hospitalisacion que es donde se le asigan la sala al paciente y su cama
hay dos tablas enlasadas con la tabla hospitalizacion(principal) que es sala y cama
tabla hospitalizacion I SALA I CAMA
id_registro I id_sala I id_cama
id_sala I sala I cama
id_cama I I
rut I I

estrucctura de las tablas

caso:2

llega el paciente y se le asigna una sala 600 nª2 porque lla la uno esta ocupada con otra persona, una sala seberia mostrar todas las camas disponibles osea las que no estan registradas de esa sala

entonces lo que yo quiero hacer por medio de una consulta es como puedo hacer que solo me muestre las camas disponibles por sala
  #4 (permalink)  
Antiguo 29/12/2005, 12:26
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Añade un campo de tipo booleano (si/no) que sea "disponible", y en la consulta pides las que sean "si"
  #5 (permalink)  
Antiguo 30/12/2005, 01:53
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
pero como se yo por ejenplo si quiero saber las camas disponibles de la sala 1 si cuando en la ficha hospitalizacion es donde se guarda la info de las camas ocupadas y del la sala a la que pertenese por q hay arts salas y por cada sala ahy camas no se si me entiendes
entonces al mometo de hacer la consulta tendria que hacerla sobre la ficha hospitalizacion ya que es ahy donde esta la info. de las camas por piezas ocupadas y si le coloco ese disponible como atrivuto ala entidad cama mo me sirviria ya que almaceno la info como te dife en la ficha hospitalizacion

entonces tiene q aver una sentencia para saber las camas disponibles por ejenplo de la pieza 1

si tengo el la ficha hospitalizacion
javier/ sala 1 / cama 1 /
javier/ sala 1/ cama 2 /

las camas llegan hasta 8
entonces yo por medio de una consulta deberia arrojarme el numero de camas no registradas aunque se encuentren registradas por otra sala
oase deberia mostarme 3,4,5,8,6,7,8 si en la sala 2 ya estan todas ocupadas esas camas ahora no se si me entiendes


como se podriahacer...
  #6 (permalink)  
Antiguo 30/12/2005, 10:32
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Cita:
Iniciado por sevastian

[...] ahora no se si me entiendes [...]
Pues la verdad, si la ortografia no se cuida un poco, poco puedo entender yo...

Intenta explicarte mejor, incluso podrias poner el script que usas para crear las tablas, así quizás podamos echarte un cable...

Última edición por masterjail; 01/01/2006 a las 14:02
  #7 (permalink)  
Antiguo 30/12/2005, 11:29
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Pues no, no entiendo nada, no sólo por la ortografía [Dios mío : espero que sea que tu idioma natal no es el español y acabas de empezar a hablarlo... no te ofendas... pero resulta difícil ayudar si no se comprende tu problema], sino también porque las frases no dan una idea clara de qué ocurre.

Si puedes, pon un ejemplo de las tablas con datos, y ejemplos de cómo deberían quedar las consultas, a ver si así...

P.D.: ¿a qué le llamas "piesas"?¿plantas/pisos/alturas/habitaciones/salas/...?

¡ánimo, que seguro que podemos ayudarte!

Última edición por ludovico2000; 02/01/2006 a las 03:48
  #8 (permalink)  
Antiguo 31/12/2005, 02:18
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
MIRA AQUI ESTAN LOS SCRIPT DE LAS TABLAS LAS CUALES ME SIRVEN PARA PODER HACER LA CONSULTA

create table SALA
(
ID_SALA int not null,
SALA int not null,
primary key (ID_SALA)
);

.............................................
create table HOSPITALIZACION
(
ID_FICHA int not null,
RUT char(12) not null,
RUT_DOCTOR char(10) not null,
ID_EMFERMEDAD int not null,
ID_ESTADO int not null,
ID_RESIDIR int not null,
ID_CAMA int not null,
ID_SALA int not null,
FECHA char(10) not null,
DIAGNOSTICO_INGRESO char(50),
DIAGNOSTICO_INGRESO2 char(50),
DIAGNOSTICO_INGRESO3 char(40),
primary key (ID_FICHA)
);

.................................................. ....................
create table CAMA
(
ID_CAMA int not null,
NUMERO int not null,
primary key (ID_CAMA)
);

MIRA LO QUE QUIERO ES QUE ME ARROJE LAS CAMAS QUE ESTAN DISPONIBLES POR SALA

ESTABA PENSANDO EN UNA CONSULAT ES SOLO UN EJEMPLO USTEDES ME CORRIGEN PORFA SI ESTA MAL

select id_cama
from cama
where id_cama not in (select cama.id_cama from hospitalizacion where id_sala=1)

ahora con esta consulta quiero que me de las camas q no estan registradas en los registros de hospitalizacion.

(lo que entiendo por esa consulta que pueden ver es:
la parte de () la sub consulta arroja solo las camas ocupadas por una sala en especifico. y la otra parte dela consulta con el not in saca las camas registrada de la tabla cama y muestra solo las que no estan ocupadas por esa sala )


sala:es una habitacion
registros hospitalizacion vamos also datos que osupo yo q son id_ficha, sala, nº cama
1) nº_ficha:1 sala:1 cama:1
2) nº_ficha:2 sala:1 cama:2

registro por cama

1) id_cama:1 cama:1
2) id_cama:2 cama:2
3) id_cama:3 cama:3
4) id_cama:4 cama:4

registros por sala
1) id_sala:1 sala:1
2) id_sala:2 sala:2

entoces la consulta deberia mostrar como se debe hacer sobre la tabla hospitalizacion
las camas disponibles por una sala especifica
el resultado seria este :
por la sala 1 camas 3,4 estan disponibles porq no estan registradas en hozpitalizacion
por sala 2 cama 1,2,3,4 por q no se encunatra registrada ninguna cama en la sala 2

ahora es un poco mas claro???
  #9 (permalink)  
Antiguo 01/01/2006, 14:18
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Mmmm... a mi el diseño de las tablas no acaba de gustarme... tengo algunas dudas, podrias explicar que significa cada atributo de cada tabla?
  #10 (permalink)  
Antiguo 03/01/2006, 18:14
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
AHY ESTA LA DESCRIPCION DELAS TABLAS


SALA DONE SE UBICARA EL PACIENTE
create table SALA
(
ID_SALA int not null, EL IDENTIFICADOR DE CADA SALA
SALA int not null, EL NUMERO DE SALA
primary key (ID_SALA)
);

*******************************
FICHA DE CADA PACIENTE
create table HOSPITALIZACION
(
ID_FICHA int not null, IDENTIFICADOR DE LA FICHA QUE POCEE CADA PACIENTE
RUT char(12) not null, RUT DEL PACIENTE
RUT_DOCTOR char(10) not null, RUT DOCTOR
ID_EMFERMEDAD int not null, EL MUNERO DE ENFERMEDAD Q ES OTRA TABLA (FK)
ID_ESTADO int not null, (FK) ESTADO DEL PACIENTE PROBIENE DE UNA TABLA ESTADO
ID_RESIDIR int not null, (FK) SI ESTA HOSPITALIZADO O NO
ID_CAMA int not null, (FK) TABLA CAMA EN QUE NUMERO DE CAMA SE QUEDARA
ID_SALA int not null, (FK) TABLA SALA EL NUMERO DODNE SE QUEDARA HOSPITALIZADO
FECHA char(10) not null, FECHA DE HOSPITALIZACION
DIAGNOSTICO_INGRESO char(50), DIAGNIOSTICO 1
DIAGNOSTICO_INGRESO2 char(50), DIAGNIOSTICO 2
DIAGNOSTICO_INGRESO3 char(40), DIAGNIOSTICO 3
primary key (ID_FICHA)
);

**********************************
create table CAMA
(
ID_CAMA int not null, IDENTIFICADOR DE LA CAMA
NUMERO int not null, NUMERO DE CAMA
primary key (ID_CAMA)
);

PERO COMO ESTA LA CONSULTA Q TE DI COMO EJENPLO BA POR AHY O LA CONSULTA???
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 15:02.