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

Duda de como crear restricciones

Estas en el tema de Duda de como crear restricciones en el foro de SQL Server en Foros del Web. Hola Soy estudiante y estoy haciendo un proyecto sobre una aerolinea y mi modelo debe de tener las siguientes restricciones • para poder comprar un ...
  #1 (permalink)  
Antiguo 12/04/2013, 01:18
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Duda de como crear restricciones

Hola
Soy estudiante y estoy haciendo un proyecto sobre una aerolinea y mi modelo debe de tener las siguientes restricciones

• para poder comprar un pasaje, el pasajero debe haber sido registrado previamente.
• evite que se vendan pasajes en vuelos que ya están llenos, que están cerrados o que ya despegaron.
• evite que se venda un pasaje a un pasajero que ya cuenta con un pasaje para el mismo vuelo.
• se validen cuestiones razonables al momento de hacer check-in a un pasajero.

Mis tablas tienen estos datos

TVuelo
[Id_Vuelo] [int] NOT NULL,
[Salida] [varchar](50) NOT NULL,
[Llegada] [varchar](50) NOT NULL,
[Id_Avion] [int] NOT NULL,
[Id_Ruta] [int] NOT NULL,
[Status] [varchar](2) NULL,

TBoleto
[Id_Boletos] [int] NOT NULL,
[Precio] [money] NOT NULL,
[Fecha] [date] NOT NULL,
[Checkin] [varchar](2) NOT NULL,
[Id_Pasajero] [int] NOT NULL,
[Id_Vuelo] [int] NOT NULL,
[Asiento] int Identity (1,1) NOT NULL,

Hasta el momento todo lo que he aprendido es sobre escribir en en una tabla mas no evitar que escriba o que te deje escribir si se comple una condicion, si alguien me pudiera dar algun ejemplo por que me siento relamente perdido ya busque en google peor no encuentro nada, tal ves no estoy usando las palabras adecuadas para mi busqueda

Espero su repsuesta

Muchas gracias

Última edición por armando2078; 12/04/2013 a las 01:25 Razón: agregar datos
  #2 (permalink)  
Antiguo 12/04/2013, 01:55
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Duda de como crear restricciones

Necesitas buscar/estudiar las Constaints (restricciones) que te serán de utilidad para resolver el problema, en especial
- Foreign Key (claves foraneas)
- Check (comprovaciones para realizar operaciones)
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 12/04/2013, 02:46
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Duda de como crear restricciones

Si he buscado pero solo encuentro resticciones en base al tipo de dato, rango o como escribir el dato, mas no algo que me permita o no escribir el dato simpre y cuando una condicion previa se cumpla.

lo que busco es por ejemplo algo asi

No permitir insert si Id_vuelo=idvuelo(para marcar a que vuelo me estoy refiriendo) and Asiento=Asiento(asiento repetido o ya asignado)

para ya de ahi hacer los demas

Si me pudieras ayudar con un ejemplo te lo agradeceria bastante
  #4 (permalink)  
Antiguo 12/04/2013, 05:25
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Duda de como crear restricciones

Para empezar... tienes Primary Keys en las tablas?
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 12/04/2013, 08:15
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Duda de como crear restricciones

creo que lo que necesitas seria validar tus datos con triggers :)


saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 12/04/2013, 09:06
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: Duda de como crear restricciones

O con los store procedure's que atacaran dicha base
__________________
MCTS Isaias Islas

Etiquetas: restricciones, tabla
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 19:10.