Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Sigo con mis dudas y problemas en MySQL (https://www.clubdelphi.com/foros/showthread.php?t=65196)

JoAnCa 26-11-2009 23:30:00

Sigo con mis dudas y problemas en MySQL
 
Hola a todos
Necesito me aclaren si se puede hacer, y de ser así como puedo poner mas de una llave extranjera con la misma tabla (para la integridad referencial y actualizacion en cascada). Con access lo hacia sin problemas, pero ahora no me deja enlazar mas de una tabla, pues me da:
Error number 1005, que no puede crear la tabla (errno: 121)

Me explico mejor:
Tengo una Tabla Indicadores, que su llave primaria es llave extranjera en otras 5 tablas
Cuando le pongo la llave a la 1ra tabla no hay problemas, pero cuando se la voy a poner a una 2da tabla, me salta el error

Elimino la llave de esa 1ra tabla y pongo primero aquella 2da que me dio el error, y funciona bien

La cuestion es que solo puedo hacerlo en una sola tabla, parece que me falta algo o no se que

rgstuamigo 02-12-2009 16:26:13

Para ir al Grano(como dicen los mejicanos:D), deberias pegar tu script(código SQL) de como estas creando tus Tablas, para que podamos verlo.;)
Saludos...:)

JoAnCa 02-12-2009 20:56:30

Pues es asi como creo todas las tablas, el problema es cuando trato de enlazar mas de una tabla con la tabla "Indicadores"

Código SQL [-]
--
-- Create schema cmi
--

CREATE DATABASE IF NOT EXISTS cmi;
USE cmi;

--
-- Definition of table `acciones`
--

DROP TABLE IF EXISTS `acciones`;
CREATE TABLE `acciones` (
  `IdAcciones` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Accion` varchar(255) DEFAULT NULL,
  `Causa` varchar(128) DEFAULT NULL,
  `FechaCump` datetime DEFAULT NULL,
  `EstadoCump` varchar(25) DEFAULT NULL,
  `FechaVerif` datetime DEFAULT NULL,
  `Verifica` varchar(25) DEFAULT NULL,
  `CODIND` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`IdAcciones`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `acciones`
--

/*!40000 ALTER TABLE `acciones` DISABLE KEYS */;
/*!40000 ALTER TABLE `acciones` ENABLE KEYS */;


--
-- Definition of table `areas`
--

DROP TABLE IF EXISTS `areas`;
CREATE TABLE `areas` (
  `CodArea` varchar(10) NOT NULL,
  `CodEntidad` varchar(10) DEFAULT NULL,
  `NombreArea` varchar(50) DEFAULT NULL,
  `Director` varchar(50) DEFAULT NULL,
  `CorreoE` varchar(50) DEFAULT NULL,
  `Mision` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`CodArea`),
  KEY `DecripEmp` (`NombreArea`),
  KEY `EntidadesAreas` (`CodEntidad`),
  CONSTRAINT `CodEntidad` FOREIGN KEY (`CodEntidad`) REFERENCES `entidades` (`CodEntidad`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `areas`
--

/*!40000 ALTER TABLE `areas` DISABLE KEYS */;
/*!40000 ALTER TABLE `areas` ENABLE KEYS */;


--
-- Definition of table `criterios`
--

DROP TABLE IF EXISTS `criterios`;
CREATE TABLE `criterios` (
  `IdCriterio` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `Criterio` varchar(50) DEFAULT NULL,
  `Desde` double(7,2) DEFAULT NULL,
  `Hasta` double(7,2) DEFAULT NULL,
  `Color` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdCriterio`),
  KEY `IdCriterio` (`IdCriterio`),
  KEY `IndicadoresCriterios` (`CodInd`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `criterios`
--

/*!40000 ALTER TABLE `criterios` DISABLE KEYS */;
/*!40000 ALTER TABLE `criterios` ENABLE KEYS */;


--
-- Definition of table `entidades`
--

DROP TABLE IF EXISTS `entidades`;
CREATE TABLE `entidades` (
  `CodEntidad` varchar(10) NOT NULL,
  `NombreEntidad` varchar(50) DEFAULT NULL,
  `Organismo` varchar(50) DEFAULT NULL,
  `Mision` varchar(255) DEFAULT NULL,
  `Vision` varchar(255) DEFAULT NULL,
  `Director` varchar(45) NOT NULL,
  `CorreoE` varchar(45) NOT NULL,
  PRIMARY KEY (`CodEntidad`),
  KEY `DecripEmp` (`NombreEntidad`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `entidades`
--

/*!40000 ALTER TABLE `entidades` DISABLE KEYS */;
/*!40000 ALTER TABLE `entidades` ENABLE KEYS */;


--
-- Definition of table `evaluacion`
--

DROP TABLE IF EXISTS `evaluacion`;
CREATE TABLE `evaluacion` (
  `IdEval` int(10) NOT NULL AUTO_INCREMENT,
  `IdCriterio` int(10) DEFAULT NULL,
  `Mayor` double(7,2) DEFAULT NULL,
  `Igual` double(7,2) DEFAULT NULL,
  `Menor` double(7,2) DEFAULT NULL,
  PRIMARY KEY (`IdEval`),
  KEY `IdEval` (`IdEval`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `evaluacion`
--

/*!40000 ALTER TABLE `evaluacion` DISABLE KEYS */;
/*!40000 ALTER TABLE `evaluacion` ENABLE KEYS */;


--
-- Definition of table `indicadores`
--

DROP TABLE IF EXISTS `indicadores`;
CREATE TABLE `indicadores` (
  `CodInd` varchar(5) NOT NULL,
  `CodObjOp` varchar(6) DEFAULT NULL,
  `Descripcion` varchar(255) DEFAULT NULL,
  `Variable` varchar(50) DEFAULT NULL,
  `Proposito` varchar(250) DEFAULT NULL,
  `Formula` varchar(50) DEFAULT NULL,
  `OrigenInf` varchar(50) DEFAULT NULL,
  `Frecuencia` varchar(50) DEFAULT NULL,
  `Perspectiva` varchar(50) DEFAULT NULL,
  `Observaciones` varchar(50) DEFAULT NULL,
  `CMICentral` enum('Si','No') DEFAULT NULL,
  `EsCoef` enum('Si','No') DEFAULT NULL,
  PRIMARY KEY (`CodInd`),
  UNIQUE KEY `Id_Ind` (`CodInd`),
  KEY `ObjetOperativosIndicadores` (`CodObjOp`),
  CONSTRAINT `CodObjOp` FOREIGN KEY (`CodObjOp`) REFERENCES `objetoperativos` (`CodObjOp`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

--
-- Dumping data for table `indicadores`
--

/*!40000 ALTER TABLE `indicadores` DISABLE KEYS */;
/*!40000 ALTER TABLE `indicadores` ENABLE KEYS */;


--
-- Definition of table `iniciativasest`
--

DROP TABLE IF EXISTS `iniciativasest`;
CREATE TABLE `iniciativasest` (
  `IdIniciativas` int(10) NOT NULL AUTO_INCREMENT,
  `Iniciativa` varchar(255) DEFAULT NULL,
  `FechaInicio` datetime DEFAULT NULL,
  `FechaFin` datetime DEFAULT NULL,
  `EstadoCump` varchar(25) DEFAULT NULL,
  `CODIND` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`IdIniciativas`),
  KEY `IdAcciones` (`IdIniciativas`),
  KEY `IndicadoresIniciativasEst` (`CODIND`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `iniciativasest`
--

/*!40000 ALTER TABLE `iniciativasest` DISABLE KEYS */;
/*!40000 ALTER TABLE `iniciativasest` ENABLE KEYS */;


--
-- Definition of table `objetestrategicos`
--

DROP TABLE IF EXISTS `objetestrategicos`;
CREATE TABLE `objetestrategicos` (
  `CodObjEst` varchar(6) NOT NULL,
  `CodArea` varchar(10) DEFAULT NULL,
  `Descripcion` longtext,
  `Desde` int(10) DEFAULT NULL,
  `Hasta` int(10) DEFAULT NULL,
  PRIMARY KEY (`CodObjEst`),
  KEY `AreasObjetEstrategicos` (`CodArea`),
  CONSTRAINT `CodArea` FOREIGN KEY (`CodArea`) REFERENCES `areas` (`CodArea`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `objetestrategicos`
--

/*!40000 ALTER TABLE `objetestrategicos` DISABLE KEYS */;
/*!40000 ALTER TABLE `objetestrategicos` ENABLE KEYS */;


--
-- Definition of table `objetoperativos`
--

DROP TABLE IF EXISTS `objetoperativos`;
CREATE TABLE `objetoperativos` (
  `CodObjOp` varchar(6) NOT NULL,
  `CodObjEst` varchar(6) DEFAULT NULL,
  `Descripcion` longtext,
  `Anno` int(10) DEFAULT NULL,
  `EsGlobal` enum('Si','No') DEFAULT NULL,
  `Responsable` varchar(50) NOT NULL,
  PRIMARY KEY (`CodObjOp`),
  KEY `ObjetEstrategicosObjetOperativos` (`CodObjEst`),
  CONSTRAINT `CodObjEst` FOREIGN KEY (`CodObjEst`) REFERENCES `objetestrategicos` (`CodObjEst`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

--
-- Dumping data for table `objetoperativos`
--

/*!40000 ALTER TABLE `objetoperativos` DISABLE KEYS */;
/*!40000 ALTER TABLE `objetoperativos` ENABLE KEYS */;


--
-- Definition of table `plananual`
--

DROP TABLE IF EXISTS `plananual`;
CREATE TABLE `plananual` (
  `IdPlan` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `Plan` double(7,2) DEFAULT NULL,
  `Anno` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdPlan`),
  KEY `IndicadoresPlanAnual` (`CodInd`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `plananual`
--

/*!40000 ALTER TABLE `plananual` DISABLE KEYS */;
/*!40000 ALTER TABLE `plananual` ENABLE KEYS */;


--
-- Definition of table `recursos`
--

DROP TABLE IF EXISTS `recursos`;
CREATE TABLE `recursos` (
  `IdRecurso` int(10) NOT NULL AUTO_INCREMENT,
  `Descripcion` varchar(128) DEFAULT NULL,
  `UM` varchar(16) DEFAULT NULL,
  `Cant` int(10) DEFAULT NULL,
  `Precio` decimal(19,4) DEFAULT NULL,
  `IdAcciones` int(10) unsigned NOT NULL,
  PRIMARY KEY (`IdRecurso`),
  KEY `IdRecursos` (`IdRecurso`),
  KEY `IdAcciones` (`IdAcciones`),
  CONSTRAINT `IdAcciones` FOREIGN KEY (`IdAcciones`) REFERENCES `acciones` (`IdAcciones`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `recursos`
--

/*!40000 ALTER TABLE `recursos` DISABLE KEYS */;
/*!40000 ALTER TABLE `recursos` ENABLE KEYS */;


--
-- Definition of table `responsables`
--

DROP TABLE IF EXISTS `responsables`;
(null);


--
-- Definition of table `submayor`
--

DROP TABLE IF EXISTS `submayor`;
CREATE TABLE `submayor` (
  `IdSubMayor` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `PlanMes` double(7,2) DEFAULT NULL,
  `RealMes` double(7,2) DEFAULT NULL,
  `PlanAcum` double(7,2) DEFAULT NULL,
  `RealAcum` double(7,2) DEFAULT NULL,
  `Mes` tinyint(3) unsigned DEFAULT NULL,
  `Anno` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdSubMayor`),
  KEY `IdSubMayor` (`IdSubMayor`),
  KEY `IndicadoresSubmayor` (`CodInd`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `submayor`
--

/*!40000 ALTER TABLE `submayor` DISABLE KEYS */;
/*!40000 ALTER TABLE `submayor` ENABLE KEYS */;


--
-- Definition of table `valores`
--

DROP TABLE IF EXISTS `valores`;
CREATE TABLE `valores` (
  `IdValores` int(10) NOT NULL AUTO_INCREMENT,
  `Valores` varchar(128) DEFAULT NULL,
  `CODENTIDAD` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`IdValores`),
  KEY `EntidadesValores` (`CODENTIDAD`),
  KEY `IdValores` (`IdValores`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


La franja horaria es GMT +2. Ahora son las 04:07:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi