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

Ayuda con este problema

Estas en el tema de Ayuda con este problema en el foro de Mysql en Foros del Web. Bueno soy nuevo, y queria pedir ayuda con esta tarea de mysql que me dejaron, no le se mucho al programa ya que apneas estoy ...
  #1 (permalink)  
Antiguo 08/06/2010, 16:12
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Ayuda con este problema

Bueno soy nuevo, y queria pedir ayuda con esta tarea de mysql que me dejaron, no le se mucho al programa ya que apneas estoy viendo eso en las clases, aver si me pueden ayudar l rpoblema es asi en el que se usan restricciones:

Necesito crear dos tablas

*Tabla estudiantes con los sigs campos: matricula (auto_incrementable) llave primaria NOMBRE (no nulo) Apellido (no nulo) Edad, Id _asignatura (no nulo) llave foranea

*Tabla Asignatura con los sigs campos :
Id_ASIGNATURA (entero no nulo, llave primaria) nombre_asignatura (no nulo), cupo_estudiante (numerico)

Le he intentado hacer crear esas tablas pero me salen error, me podrian decir como se hacen y ademas una explicada para ya no tener ese problema al crear las tablas con restricciones

gracias de antemano

EDIT: intente hacer la priemr atbal asi pero me da error

CREATE TABLE `estudiantes` (
-> `Nombre` VARCHAR (20) NOT NULL,
-> `Matricula` int auto_increment,
-> `Apellido` VARCHAR (20) NOT NULL,
-> `Edad` int,
-> PRIMARY KEY (`Nombre`),
-> Id_asignatura int NOT NULL,
-> FOREIGN KEY (Id_asignatura))
-> ;

Última edición por NecroDargoK; 08/06/2010 a las 17:40
  #2 (permalink)  
Antiguo 09/06/2010, 08:08
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Ayuda con este problema

Hola buenos dias
Bienvenidos a FDW (Foros Del Web)
NO mucho de mysql pero dos cositas
1. si tienes un auto_increment a Matricula porque le pones una llave a Nombre
2. si vas a colocar una llave foranea, hacia que tabla haras referencia esa llave foranea


CREATE TABLE `estudiantes` (
`Nombre` VARCHAR (20) NOT NULL,
`Matricula` int auto_increment,
`Apellido` VARCHAR (20) NOT NULL,
`Edad` int NOT NULL,
PRIMARY KEY (`Matricula`),
Id_asignatura int NOT NULL,
FOREIGN KEY (Id_asignatura) references asignatura(Id_ASIGNATURA));

Cita:
references asignatura(Id_ASIGNATURA))
tabla asignatura (tu 2da tabla) campo (Id_ASIGNATURA)

espera que de seguro en este post tributaran mas al conocimiento de los demás foristas y asi aclararme también a mi algunas dudas

google un ratico algo sencillo aqui
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #3 (permalink)  
Antiguo 09/06/2010, 08:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ayuda con este problema

Crea primero Asignatura y luego Estudiantes.
Toda tabla que lleva una FK debe ser creada después de crear la tabla a que la FK hace referencia, o no podrá encontrarla para validar la restricción.
Los DBMS no pueden "imaginar" que existe una tabla a la que harán referencia las FK. Las tablas deben existir.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 00:20.