Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/09/2011, 05:26
carolina3
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: error al crear tablas vida o muerte plis

gnzsoloyo para empezar muchas gracias por tus aclaraciones te debo unas cuantas ya en estos foros,

la tabla tienda tienes razón he eliminado el identificador con el campo tienda para PK es suficiente ya que el nombre de las tiendas no debe repetirse nunca.

en el caso de usuarios me dices por que tengo dos tablas con usuario y usuario_user bueno es sencillo te explicare un poco la idea pues aclarare algunas dudas, un usuario se registra en la web el cual crea su tienda y dentro de esta tienda debe tener sus propios usuarios por eso las dos tablas, los usuarios de mi web gestionaran a sus propios usuarios.

La tabla producto básicamente sirve para que los propietarios de las tiendas puedan rellenar las características del producto, con su foto precio etc... ahy tengo una duda de como crear una referencia para los productos teniendo en cuenta de que cada tienda debe tener referencias diferentes por no ser de la misma.

la tabla factura he optado por eliminarla en definitiva esta y la de pedido era para posteriores ampliaciones del proyecto de momento optare por quedarme con la de pedido para poder saber cuantos pedidos realizan los usuarios de cada tienda.


bueno ya se parece un poco lioso pero por hay va la idea, asi me quedaron las tablas después de tu aporte ahora mysql me las coje todas, pero seguro que se puede mejorar y mucho supongo que me iré encontrando con problemas uno de ellos los indices que por mucho que leo sobre ellos sigo sin entender muy bien su función.


Código MySQL:
Ver original
  1. CREATE TABLE tienda
  2. (
  3. tienda INT NOT NULL,
  4. tipo_de_tienda VARCHAR(100),
  5. PRIMARY KEY (tienda),
  6. INDEX (tienda))
  7.  
  8.  
  9. CREATE TABLE usuarios
  10. (
  11. tienda INT NOT NULL,
  12. nombre VARCHAR(50),
  13.  apellidos VARCHAR(50),
  14. email VARCHAR(100),
  15. pasword VARCHAR(50),
  16. fecha_alta TIMESTAMP,
  17. PRIMARY KEY (usuario_id),
  18. FOREIGN KEY (tienda) REFERENCES tienda (tienda))
  19.  
  20.  
  21. CREATE TABLE productos
  22. (
  23. producto_id INT NOT NULL AUTO_INCREMENT,
  24. tienda  INT NOT NULL,
  25. precio_producto DOUBLE  NOT NULL ,
  26. detalle_producto CHAR NOT NULL,
  27. foto_producto VARCHAR (100),
  28. existencias_producto DOUBLE,
  29. ref_producto DOUBLE,
  30. nombre_producto VARCHAR (100),
  31. PRIMARY KEY (producto_id),
  32. FOREIGN  KEY (tienda) REFERENCES tienda (tienda))
  33.  
  34. CREATE TABLE usuario_user
  35. (
  36. usuario_user_id INT NOT NULL  AUTO_INCREMENT,
  37. email_user VARCHAR(100)NOT NULL,
  38. nombre_user VARCHAR(60) NOT NULL,
  39. apellido_user VARCHAR(70) NOT NULL,
  40. tienda INT NOT NULL,
  41. password_user_invitado VARCHAR(50),
  42. fecha_alta_invitado TIMESTAMP,
  43. PRIMARY KEY (usuario_user_id,email_user),
  44. INDEX(email_user),
  45. FOREIGN KEY (tienda) REFERENCES tienda (tienda)
  46.  
  47.  
  48. CREATE TABLE noticias_tienda
  49. (
  50. tienda INT NOT NULL,
  51. titular VARCHAR(100),
  52. texto TEXT,
  53. grupo INT,
  54. fecha_notocia TIMESTAMP,
  55. PRIMARY KEY (noticia_id),
  56. FOREIGN KEY (tienda) REFERENCES tienda (tienda)
  57. )
  58.  
  59.  
  60.  
  61. CREATE TABLE pedidos
  62. (
  63. pedido_id INT NOT NULL  AUTO_INCREMENT,
  64. email_user VARCHAR(100)NOT NULL,
  65.  total_factura DOUBLE   NOT  NULL,
  66. tienda  INT NOT NULL,
  67. fecha_pedido TIMESTAMP,
  68. PRIMARY KEY (pedido_id),
  69. FOREIGN KEY (tienda) REFERENCES tienda (tienda),
  70. FOREIGN KEY (email_user) REFERENCES usuario_user(email_user)
  71. )