Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2007, 13:12
cuyawero
 
Fecha de Ingreso: abril-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
Problema al crear tablas relacionadas

Hola.. mis estimados.. he tenido un gran problema al crear las tablas de mi base de datos....estoy tratando de colocar FK a las tablas y me arroja el siguiente error.. he leido bastante y cambiado mi script de base de datos y no logro crear mi base de datos .. si alguien sabe... le agradeceria mucho aqui voy adjuntar el script de mi base de datos.. y el error que me arroja...!
Cita:
-- phpMyAdmin SQL Dump
-- version 2.9.2
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 25-09-2007 a las 23:37:57
-- Versión del servidor: 5.0.27
-- Versión de PHP: 4.4.5
--
-- Base de datos: `sistema`
-- --------------------------------------------------------
-- Estructura de tabla para la tabla `aula`
CREATE TABLE `aula` (
`CedulaD` int(11) NOT NULL,
`IdAula` int(11) NOT NULL auto_increment,
`NombreA` varchar(20) NOT NULL,
PRIMARY KEY (`IdAula`),
INDEX (`CedulaD`),
FOREIGN KEY (`CedulaD`) REFERENCES `docente` (`CedulaD`)

) ENGINE=InnoDB;

-- Volcar la base de datos para la tabla `aula`
-- --------------------------------------------------------
-- Estructura de tabla para la tabla `boletin`

CREATE TABLE `boletin` (
`CedulaD` int(11) NOT NULL,
`IdInfante` int(11) NOT NULL,
`CedulaR` int(11) NOT NULL,
`IdBoletin` int(11) NOT NULL auto_increment,
`LogrosAlcanzados` varchar(500) NOT NULL,
`Fecha` datetime NOT NULL,
PRIMARY KEY (`IdBoletin`),
INDEX (`CedulaD`),
FOREIGN KEY (`CedulaD`) REFERENCES docente(`CedulaD`),
INDEX (`IdInfante`),
FOREIGN KEY (`IdInfante`) REFERENCES infante(`IdInfante`)


) ENGINE=InnoDB;
-- Volcar la base de datos para la tabla `boletin`
-- --------------------------------------------------------
-- Estructura de tabla para la tabla `cita`

CREATE TABLE `cita` (
`CedulaD` int(11) NOT NULL,
`IdCita` int(11) NOT NULL auto_increment,
`Observacion` varchar(500) NOT NULL,
`FechaColocada` datetime NOT NULL,
`FechaCita` date NOT NULL,
`CedulaR` varchar(20) NOT NULL,
PRIMARY KEY (`IdCita`),
INDEX (`CedulaR`),
FOREIGN KEY (`CedulaR`) REFERENCES representante(`CedulaR`),
INDEX (`CedulaD`),
FOREIGN KEY (`CedulaD`) REFERENCES docente(`CedulaD`)

) ENGINE=InnoDB;

-- Volcar la base de datos para la tabla `cita`
-- --------------------------------------------------------
-- Estructura de tabla para la tabla `controlboletincita`

CREATE TABLE `controlboletincita` (
`IdBoletin` int(11) NOT NULL,
`IdCita` int(11) NOT NULL,
INDEX (`IdBoletin`),
FOREIGN KEY (`IdBoletin`) REFERENCES boletin(`IdBoletin`),
INDEX (`IdCita`),
FOREIGN KEY (`IdCita`) REFERENCES cita(`IdCita`)

) ENGINE=InnoDB;

-- Volcar la base de datos para la tabla `controlboletincita`
-- --------------------------------------------------------
-- Estructura de tabla para la tabla `docente`
--
CREATE TABLE `docente` (
`CedulaD` int(11) NOT NULL,
`Nombre` varchar(20) NOT NULL,
`Apellido` varchar(20) NOT NULL,
`FechaNacimiento` date NOT NULL,
`Direccion` varchar(100) NOT NULL,
`Telefono` int(11) NOT NULL,
`Celular` int(11) default NULL,
`Email` varchar(50) default NULL,
`GradoInstruccion` varchar(20) NOT NULL,
`Especialidad` varchar(20) default NULL,
`ExperienciaLaboral` varchar(100) default NULL,
`Sexo` varchar(20) NOT NULL,
`Imagen` varchar(100) default NULL,
PRIMARY KEY (`CedulaD`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `docente`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `infante`
--

CREATE TABLE `infante` (
`IdInfante` int(11) NOT NULL auto_increment,
`CedulaR` int(11) NOT NULL,
`Nombre` varchar(20) NOT NULL,
`Apellido` varchar(20) NOT NULL,
`FechaNacimiento` date NOT NULL,
`LugarNacimiento` varchar(20) NOT NULL,
`Sexo` varchar(10) NOT NULL,
`TallaCamisa` varchar(20) NOT NULL,
`TallaPantalon` varchar(20) NOT NULL,
`TallaCalzado` varchar(20) NOT NULL,
`ProcedenciaPreescolar` varchar(20) default NULL,
`Imagen` varchar(100) default NULL,
PRIMARY KEY (`IdInfante`),
INDEX (`CedulaR`),
FOREIGN KEY (`CedulaR`) REFERENCES representante(`CedulaR`)
) ENGINE=InnoDB;

-- Volcar la base de datos para la tabla `infante`
--
-- --------------------------------------------------------

-- Estructura de tabla para la tabla `inscripcion`

CREATE TABLE `inscripcion` (
`IdInfante` int(11) NOT NULL,
`IdInscripcion` int(11) NOT NULL auto_increment,
`Nivel` varchar(20) NOT NULL,
`FechaInscripcion` datetime NOT NULL,
`AnoEscolar` varchar(20) NOT NULL,
PRIMARY KEY (`IdInscripcion`),
INDEX (`IdInfante`),
FOREIGN KEY (`IdInfante`) REFERENCES infante(`IdInfante`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `inscripcion`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `lapso`
--

CREATE TABLE `lapso` (
`IdLapso` int(11) NOT NULL auto_increment,
`Fecha` varchar(9) NOT NULL,
PRIMARY KEY (`IdLapso`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `lapso`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `menu`
--

CREATE TABLE `menu` (
`IdMenu` int(11) NOT NULL auto_increment,
`DescripcionMenu` varchar(20) NOT NULL,
PRIMARY KEY (`IdMenu`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `menu`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `opciones`
--

CREATE TABLE `opciones` (
`IdOpcion` int(11) NOT NULL auto_increment,
`IdMenu` int(11) NOT NULL,
`DescripcionOpcion` varchar(20) NOT NULL,
`LinkOpcion` varchar(100) NOT NULL,
PRIMARY KEY (`IdOpcion`),
INDEX (`IdMenu`),
FOREIGN KEY (`IdMenu`) REFERENCES menu(`IdMenu`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `opciones`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `representante`
--

CREATE TABLE `representante` (
`CedulaR` int(11) NOT NULL,
`Nombre` varchar(20) NOT NULL,
`Apellido` varchar(20) NOT NULL,
`FechaNacimiento` date NOT NULL,
`Direccion` varchar(100) NOT NULL,
`Telefono` varchar(20) NOT NULL,
`Celular` varchar(20) default NULL,
`Email` varchar(20) default NULL,
`NivelInstruccion` varchar(100) NOT NULL,
`Ocupacion` varchar(100) NOT NULL,
`NombreEmpresa` varchar(20) default NULL,
`DireccionEmpresa` varchar(100) default NULL,
`NombrePersonaExtra` varchar(50) NOT NULL,
`Sexo` varchar(20) NOT NULL,
`Imagen` varchar(100) default NULL,
`TParentesco` varchar(40) NOT NULL,
PRIMARY KEY (`CedulaR`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `representante`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `rol`
--

CREATE TABLE `rol` (
`Entidad` int(11) unsigned NOT NULL,
`DescripcionRol` varchar(45) NOT NULL,
PRIMARY KEY (`Entidad`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `rol`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `rolopciones`
--

CREATE TABLE `rolopciones` (
`Entidad` int(11) NOT NULL,
`IdOpcion` int(11) NOT NULL,
INDEX (`Entidad`),
FOREIGN KEY (`Entidad`) REFERENCES rol(`Entidad`),
INDEX (`IdOpcion`),
FOREIGN KEY (`IdOpcion`) REFERENCES opciones(`IdOpcion`)
) ENGINE=InnoDB;
--
-- Volcar la base de datos para la tabla `rolopciones`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `turno`
--

CREATE TABLE `turno` (
`CedulaD` int(11) NOT NULL,
`IdAula` int(11) NOT NULL,
`IdTurno` int(11) NOT NULL auto_increment,
`NombreTurno` varchar(20) NOT NULL,
PRIMARY KEY (`IdTurno`),
INDEX (`CedulaD`),
FOREIGN KEY (`CedulaD`) REFERENCES docente(`CedulaD`),
INDEX (`IdAula`),
FOREIGN KEY (`IdAula`) REFERENCES aula(`IdAula`)
) ENGINE=InnoDB;

--
-- Volcar la base de datos para la tabla `turno`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE `usuarios` (
`IdUsuario` int(11) NOT NULL auto_increment,
`Entidad` int(11) NOT NULL,
`usuario` varchar(20) NOT NULL,
`clave` varchar(20) NOT NULL,
`FRegistro` datetime NOT NULL,
`status` varchar(20) character set utf8 collate utf8_bin NOT NULL,
`Nombre` varchar(45) NOT NULL,
`Apellido` varchar(45) NOT NULL,
PRIMARY KEY (`IdUsuario`),
INDEX (`Entidad`),
FOREING KEY (`Entidad`) REFERENCES rol(`Entidad`)

) ENGINE=InnoDB;
--
-- Volcar la base de datos para la tabla `usuarios`
--
y este el error que me da cuando importo el script

Cita:
Error
consulta SQL:

-- phpMyAdmin SQL Dump
-- version 2.9.2
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generaci�n: 25-09-2007 a las 23:37:57
-- Versi�n del servidor: 5.0.27
-- Versi�n de PHP: 4.4.5
--
-- Base de datos: `sistema`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `aula`
--
CREATE TABLE `aula` (

`CedulaD` int( 11 ) NOT NULL ,
`IdAula` int( 11 ) NOT NULL AUTO_INCREMENT ,
`NombreA` varchar( 20 ) NOT NULL ,
PRIMARY KEY ( `IdAula` ) ,
INDEX ( `CedulaD` ) ,
FOREIGN KEY ( `CedulaD` ) REFERENCES `docente` ( `CedulaD` )
) ENGINE = InnoDB;



MySQL ha dicho:

#1005 - Can't create table '.\septiembre\aula.frm' (errno: 150)




POr favor.. si alguien me puede guiar o recomendarme unos manuales.. estaria agradecido..!!

Saludos desde Venezuela..!