Ver Mensaje Individual
  #30 (permalink)  
Antiguo 06/12/2014, 05:10
gralf
 
Fecha de Ingreso: noviembre-2014
Mensajes: 76
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: dudas para comenzar proyecto

bueno, me he echado palante y he llegado a esto


Código MySQL:
Ver original
  1. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  2.  
  3. --
  4. -- Database: `stocklentesbrujuleando`
  5. --
  6.  
  7. -- --------------------------------------------------------
  8.  
  9. --
  10. -- Table structure for table `cilindro`
  11. --
  12.  
  13. CREATE TABLE `cilindro` (
  14.   `ID_cil` int(2) NOT NULL AUTO_INCREMENT,
  15.   `cilindro` decimal(5,2) NOT NULL,
  16.   PRIMARY KEY (`ID_cil`)
  17.  
  18. -- --------------------------------------------------------
  19.  
  20. --
  21. -- Table structure for table `entrada`
  22. --
  23.  
  24. CREATE TABLE `entrada` (
  25.   `id_entrada` int(5) NOT NULL AUTO_INCREMENT,
  26.   `entrada` int(5) DEFAULT NULL,
  27.   `fecha_entrada` timestamp NULL DEFAULT NULL,
  28.   `tipo_entrada` enum('compra','regul') DEFAULT NULL,
  29.   `id_item` int(5) NOT NULL,
  30.   PRIMARY KEY (`id_entrada`),
  31.   KEY `fk_entrada_item1_idx` (`id_item`)
  32.  
  33. -- --------------------------------------------------------
  34.  
  35. --
  36. -- Table structure for table `esfera`
  37. --
  38.  
  39. CREATE TABLE `esfera` (
  40.   `ID_esf` int(5) NOT NULL AUTO_INCREMENT,
  41.   `esfera` decimal(5,2) NOT NULL,
  42.   PRIMARY KEY (`ID_esf`)
  43.  
  44. -- --------------------------------------------------------
  45.  
  46. --
  47. -- Table structure for table `item`
  48. --
  49.  
  50. CREATE TABLE `item` (
  51.   `item_ID` int(5) NOT NULL AUTO_INCREMENT,
  52.   `ID_Item_Rx_cil` int(2) NOT NULL,
  53.   `ID_Item_RX_esf` int(5) NOT NULL,
  54.   `ID_Item_RX_lente` int(2) NOT NULL,
  55.   PRIMARY KEY (`item_ID`)
  56.  
  57. -- --------------------------------------------------------
  58.  
  59. --
  60. -- Table structure for table `lentes`
  61. --
  62.  
  63. CREATE TABLE `lentes` (
  64.   `ID_lente` int(2) NOT NULL AUTO_INCREMENT,
  65.   `lente` varchar(25) NOT NULL,
  66.   `desc` varchar(45) NOT NULL,
  67.   `Abbe` int(2) NOT NULL,
  68.   `densidad` varchar(15) NOT NULL,
  69.   `geometría` varchar(15) NOT NULL,
  70.   `id_item` int(5) NOT NULL,
  71.   PRIMARY KEY (`ID_lente`),
  72.   UNIQUE KEY `tipo` (`lente`),
  73.   KEY `fk_lentes_item1_idx` (`id_item`)
  74.  
  75. -- --------------------------------------------------------
  76.  
  77. --
  78. -- Table structure for table `rx`
  79. --
  80.  
  81. CREATE TABLE `rx` (
  82.   `Id_Rx` int(2) NOT NULL DEFAULT '0',
  83.   `ID_Rx_cil` int(2) NOT NULL,
  84.   `ID_Rx_esf` int(5) NOT NULL,
  85.   `id_item` int(5) NOT NULL,
  86.   `rxcol` varchar(45) DEFAULT NULL,
  87.   PRIMARY KEY (`Id_Rx`),
  88.   KEY `fk_cilindro_has_esfera_idx_idx` (`ID_Rx_cil`),
  89.   KEY `fk_esfera_has_cilindro_idx_idx` (`ID_Rx_esf`),
  90.   KEY `fk_rx_item1_idx` (`id_item`)
  91.  
  92. -- --------------------------------------------------------
  93.  
  94. --
  95. -- Table structure for table `salida`
  96. --
  97.  
  98. CREATE TABLE `salida` (
  99.   `id_salida` int(5) NOT NULL AUTO_INCREMENT,
  100.   `salida` int(5) DEFAULT NULL,
  101.   `fecha_salida` timestamp NULL DEFAULT NULL,
  102.   `tipo_salida` enum('venta','taller','regul') DEFAULT NULL,
  103.   `id_item` int(5) NOT NULL,
  104.   PRIMARY KEY (`id_salida`),
  105.   KEY `fk_salida_item1_idx` (`id_item`)
  106.  
  107. --
  108. -- Constraints for dumped tables
  109. --
  110.  
  111. --
  112. -- Constraints for table `entrada`
  113. --
  114. ALTER TABLE `entrada`
  115.   ADD CONSTRAINT `fk_entrada_item1` FOREIGN KEY (`id_item`) REFERENCES `item` (`item_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
  116.  
  117. --
  118. -- Constraints for table `lentes`
  119. --
  120. ALTER TABLE `lentes`
  121.   ADD CONSTRAINT `fk_lentes_item1` FOREIGN KEY (`id_item`) REFERENCES `item` (`item_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
  122.  
  123. --
  124. -- Constraints for table `rx`
  125. --
  126.   ADD CONSTRAINT `fk_cilindro_has_esfera_idx` FOREIGN KEY (`ID_Rx_cil`) REFERENCES `cilindro` (`ID_cil`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  127.   ADD CONSTRAINT `fk_esfera_has_cilindro_idx` FOREIGN KEY (`ID_Rx_esf`) REFERENCES `esfera` (`ID_esf`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  128.   ADD CONSTRAINT `fk_rx_item1` FOREIGN KEY (`id_item`) REFERENCES `item` (`item_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
  129.  
  130. --
  131. -- Constraints for table `salida`
  132. --
  133. ALTER TABLE `salida`
  134.   ADD CONSTRAINT `fk_salida_item1` FOREIGN KEY (`id_item`) REFERENCES `item` (`item_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;

os pongo el err



creo que está bien para ese control de stock.

mis dudas están en las FK, os parece que están puestas correctamente?

gracias de antemano