Buenas, tenia creada una base de datos en Oracle para una tienda de cartas y la quiero meter en MySql.
Mi pregunta es, no deberia servirme el mismo codigo sql?, esta pregunta ya se que no porque ya lo he provado.
Mi base es la siguiente, modificada ya para MySql:
CREATE TABLE PERSONA(
NICK VARCHAR( 20 ) NOT NULL ,
NOMBRE VARCHAR( 20 ) ,
APELLIDO1 VARCHAR( 20 ) ,
APELLIDO2 VARCHAR( 20 ) ,
DIRECCION VARCHAR( 50 ) ,
CIUDAD VARCHAR( 50 ) ,
CODIGOP CHAR( 9 ) ,
TELEFONO CHAR( 9 ) ,
MAIL VARCHAR( 50 ) ,
PASS VARCHAR( 20 ) ,
ROL CHAR( 1 ) ,
CONSTRAINT NICK PRIMARY KEY ( NICK )
)
CREATE TABLE CARTA(
CODIGOCARTA CHAR( 8 ) NOT NULL ,
NOMBRECARTA VARCHAR( 50 ) ,
COLOR VARCHAR( 50 ) ,
TIPO VARCHAR( 50 ) ,
EDICION VARCHAR( 50 ) ,
DESCRIPCION VARCHAR( 1000 ) ,
PRECIO INT,
STOCK INT,
CONSTRAINT ARTICULO_DVD PRIMARY KEY ( CODIGOCARTA )
)
CREATE TABLE VENTA(
CODIGOV CHAR( 8 ) NOT NULL ,
TOTAL INT,
FECHA DATE,
PAGADO CHAR( 2 ) ,
NICK VARCHAR( 20 ) ,
CONSTRAINT CODIGO_VENTA PRIMARY KEY ( CODIGOV )
)
CREATE TABLE ARTICULO(
CODIGO CHAR( 8 ) NOT NULL ,
CODIGOV CHAR( 8 ) NOT NULL ,
NUMERO INT,
CONSTRAINT ARTICULO_VENTA PRIMARY KEY ( CODIGO, CODIGOV )
)
ALTER TABLE VENTA ADD CONSTRAINT LIG_AUTOR
FOREIGN KEY (NICK)
REFERENCES PERSONA (NICK) ;
ALTER TABLE ARTICULO ADD CONSTRAINT LIG_VENTA
FOREIGN KEY (CODIGOV)
REFERENCES VENTA (CODIGOV) ;
ALTER TABLE ARTICULO ADD CONSTRAINT LIG_CD
FOREIGN KEY (CODIGO)
REFERENCES CARTA (CODIGOCARTA) ;
Es necesario meter TYPE = INNODB; en las relaciones para que estas funcionen, lo digo porque yo las meto en mysql y en principio no me da error al meterlas pero como no puedo verlas no se si se han metido correctamente.
Gracias!.