Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/01/2011, 13:37
Avatar de gnzsoloyo
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, 6 meses
Puntos: 2658
Respuesta: error en base datos

La idea sería:
Código MySQL:
Ver original
  1. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  2. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  3. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
  4.  
  5. DROP SCHEMA IF EXISTS `prueba` ;
  6. CREATE SCHEMA IF NOT EXISTS `prueba` DEFAULT CHARACTER SET latin1 ;
  7. USE `prueba` ;
  8.  
  9. -- -----------------------------------------------------
  10. -- Table `administrador`
  11. -- -----------------------------------------------------
  12. DROP TABLE IF EXISTS `administrador` ;
  13.  
  14. CREATE  TABLE IF NOT EXISTS `administrador` (
  15.   `adm_cod` INT(11) NOT NULL AUTO_INCREMENT ,
  16.   `adm_usuario` VARCHAR(10) NOT NULL COMMENT 'nombre del usuario' ,
  17.   `adm_clav` VARCHAR(10) NOT NULL COMMENT 'contraseña del sistema' ,
  18.   `adm_nom` VARCHAR(10) NOT NULL ,
  19.   `adm_apell` VARCHAR(20) NOT NULL ,
  20.   PRIMARY KEY (`adm_cod`) ,
  21.   UNIQUE INDEX `adm_usuario` (`adm_usuario` ASC) ,
  22.   UNIQUE INDEX `adm_clav` (`adm_clav` ASC) )
  23. DEFAULT CHARACTER SET = latin1
  24. COMMENT = 'administracion de validacion de usuarios';
  25.  
  26.  
  27. -- -----------------------------------------------------
  28. -- Table `sede`
  29. -- -----------------------------------------------------
  30. DROP TABLE IF EXISTS `sede` ;
  31.  
  32. CREATE  TABLE IF NOT EXISTS `sede` (
  33.   `sed_cod` VARCHAR(20) NOT NULL COMMENT 'sede' ,
  34.   `sed_nom` VARCHAR(20) NULL DEFAULT NULL ,
  35.   `sed_ubic` VARCHAR(20) NOT NULL COMMENT 'ubicacion' ,
  36.   `sed_telf` CHAR(10) NOT NULL COMMENT 'telefono' ,
  37.   PRIMARY KEY (`sed_cod`) ,
  38.   UNIQUE INDEX `sed_nom` (`sed_nom` ASC) )
  39. DEFAULT CHARACTER SET = latin1;
  40.  
  41.  
  42. -- -----------------------------------------------------
  43. -- Table `tipo`
  44. -- -----------------------------------------------------
  45. DROP TABLE IF EXISTS `tipo` ;
  46.  
  47. CREATE  TABLE IF NOT EXISTS `tipo` (
  48.   `tip_cod` VARCHAR(20) NOT NULL ,
  49.   `tip_nom` CHAR(20) NOT NULL COMMENT 'nombre' ,
  50.   PRIMARY KEY (`tip_cod`) )
  51. DEFAULT CHARACTER SET = latin1
  52. COMMENT = 'tipo de afiliado\r\n';
  53.  
  54.  
  55. -- -----------------------------------------------------
  56. -- Table `afiliados`
  57. -- -----------------------------------------------------
  58. DROP TABLE IF EXISTS `afiliados` ;
  59.  
  60. CREATE  TABLE IF NOT EXISTS `afiliados` (
  61.   `afil_cod` VARCHAR(50) NOT NULL COMMENT 'codigo' ,
  62.   `afil_nom` VARCHAR(20) NOT NULL COMMENT 'nombre' ,
  63.   `afil_apell` VARCHAR(20) NOT NULL COMMENT 'apellido' ,
  64.   `afil_sex` CHAR(1) NOT NULL COMMENT 'sexo' ,
  65.   `afil_ced` VARCHAR(8) NULL DEFAULT NULL COMMENT 'cedula' ,
  66.   `afil_ed` VARCHAR(2) NOT NULL COMMENT 'edad' ,
  67.   `afil_fnac` DATE NOT NULL COMMENT 'fecha de nacimiento' ,
  68.   `afil_direcc` CHAR(100) NOT NULL COMMENT 'direccion' ,
  69.   `afil_telf` CHAR(10) NOT NULL COMMENT 'telefono' ,
  70.   `afil_tip` VARCHAR(20) NOT NULL ,
  71.   `afil_sed` VARCHAR(20) NOT NULL ,
  72.   PRIMARY KEY (`afil_cod`) ,
  73.   UNIQUE INDEX `afil_ced` (`afil_ced` ASC) ,
  74.   INDEX `Relationship3` (`afil_tip` ASC) ,
  75.   INDEX `Relationship5` (`afil_sed` ASC) ,
  76.   CONSTRAINT `Relationship5`
  77.     FOREIGN KEY (`afil_sed` )
  78.     REFERENCES `sede` (`sed_cod` ),
  79.   CONSTRAINT `Relationship3`
  80.     FOREIGN KEY (`afil_tip` )
  81.     REFERENCES `tipo` (`tip_cod` ))
  82. DEFAULT CHARACTER SET = latin1
  83. COMMENT = 'afiliados al ipasme (pacientes)\r\n';
  84.  
  85.  
  86. -- -----------------------------------------------------
  87. -- Table `historia`
  88. -- -----------------------------------------------------
  89. DROP TABLE IF EXISTS `historia` ;
  90.  
  91. CREATE  TABLE IF NOT EXISTS `historia` (
  92.   `hist_cod` VARCHAR(20) NOT NULL ,
  93.   `hist_adm` INT(11) NOT NULL ,
  94.   `afil_cod` VARCHAR(50) NOT NULL ,
  95.   PRIMARY KEY (`hist_cod`) ,
  96.   INDEX `Relationship14` (`hist_adm` ASC) ,
  97.   INDEX `fk_historia_afiliados1` (`afil_cod` ASC) ,
  98.   CONSTRAINT `Relationship14`
  99.     FOREIGN KEY (`hist_adm` )
  100.     REFERENCES `administrador` (`adm_cod` ),
  101.   CONSTRAINT `fk_historia_afiliados1`
  102.     FOREIGN KEY (`afil_cod` )
  103.     REFERENCES `afiliados` (`afil_cod` )
  104. DEFAULT CHARACTER SET = latin1
  105. COMMENT = 'historia medica\r\n';
  106.  
  107.  
  108. -- -----------------------------------------------------
  109. -- Table `especialidad`
  110. -- -----------------------------------------------------
  111. DROP TABLE IF EXISTS `especialidad` ;
  112.  
  113. CREATE  TABLE IF NOT EXISTS `especialidad` (
  114.   `esp_cod` VARCHAR(20) NOT NULL ,
  115.   `esp_nom` VARCHAR(20) NULL DEFAULT NULL ,
  116.   `esp_ubic` CHAR(20) NOT NULL ,
  117.   PRIMARY KEY (`esp_cod`) ,
  118.   UNIQUE INDEX `esp_nom` (`esp_nom` ASC) )
  119. DEFAULT CHARACTER SET = latin1;
  120.  
  121.  
  122. -- -----------------------------------------------------
  123. -- Table `medico`
  124. -- -----------------------------------------------------
  125. DROP TABLE IF EXISTS `medico` ;
  126.  
  127. CREATE  TABLE IF NOT EXISTS `medico` (
  128.   `med_cod` VARCHAR(20) NOT NULL COMMENT 'codigo' ,
  129.   `med_nom` VARCHAR(20) NOT NULL COMMENT 'nombre' ,
  130.   `med_apell` VARCHAR(20) NOT NULL COMMENT 'apellido' ,
  131.   `med_sex` CHAR(1) NOT NULL COMMENT 'sex' ,
  132.   `med_ced` VARCHAR(8) NOT NULL COMMENT 'cedula' ,
  133.   `med_telf` VARCHAR(10) NOT NULL COMMENT 'telefono' ,
  134.   `med_tur` CHAR(10) NOT NULL COMMENT 'turno' ,
  135.   `med_cons` CHAR(2) NOT NULL COMMENT 'consultorio' ,
  136.   `med_esp` VARCHAR(20) NOT NULL ,
  137.   PRIMARY KEY (`med_cod`) ,
  138.   UNIQUE INDEX `med_ced` (`med_ced` ASC) ,
  139.   INDEX `Relationship15` (`med_esp` ASC) ,
  140.   CONSTRAINT `Relationship15`
  141.     FOREIGN KEY (`med_esp` )
  142.     REFERENCES `especialidad` (`esp_cod` ))
  143. DEFAULT CHARACTER SET = latin1;
  144.  
  145.  
  146. -- -----------------------------------------------------
  147. -- Table `cita`
  148. -- -----------------------------------------------------
  149. DROP TABLE IF EXISTS `cita` ;
  150.  
  151. CREATE  TABLE IF NOT EXISTS `cita` (
  152.   `cit_cod` VARCHAR(20) NOT NULL COMMENT 'codigo' ,
  153.   `cit_med` VARCHAR(20) NOT NULL ,
  154.   `cit_fech` DATE NOT NULL COMMENT 'fecha' ,
  155.   `cit_hora` TIME NOT NULL ,
  156.   `cit_hist` VARCHAR(20) NOT NULL ,
  157.   PRIMARY KEY (`cit_cod`) ,
  158.   INDEX `Relationship18` (`cit_med` ASC) ,
  159.   INDEX `Relationship7` (`cit_hist` ASC) ,
  160.   CONSTRAINT `Relationship7`
  161.     FOREIGN KEY (`cit_hist` )
  162.     REFERENCES `historia` (`hist_cod` ),
  163.   CONSTRAINT `Relationship18`
  164.     FOREIGN KEY (`cit_med` )
  165.     REFERENCES `medico` (`med_cod` ))
  166. DEFAULT CHARACTER SET = latin1;
  167.  
  168.  
  169. -- -----------------------------------------------------
  170. -- Table `laboratorio`
  171. -- -----------------------------------------------------
  172. DROP TABLE IF EXISTS `laboratorio` ;
  173.  
  174. CREATE  TABLE IF NOT EXISTS `laboratorio` (
  175.   `lab_cod` VARCHAR(20) NOT NULL ,
  176.   `lab_cit` VARCHAR(20) NOT NULL ,
  177.   `lab_nom` VARCHAR(20) NOT NULL ,
  178.   `lab_descp` VARCHAR(20) NULL DEFAULT NULL ,
  179.   PRIMARY KEY (`lab_cod`) ,
  180.   UNIQUE INDEX `lab_nom` (`lab_nom` ASC) ,
  181.   INDEX `Relationship16` (`lab_cit` ASC) ,
  182.   CONSTRAINT `Relationship16`
  183.     FOREIGN KEY (`lab_cit` )
  184.     REFERENCES `cita` (`cit_cod` ))
  185. DEFAULT CHARACTER SET = latin1;
  186.  
  187.  
  188.  
  189. SET SQL_MODE=@OLD_SQL_MODE;
  190. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  191. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Y su graficación:
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)