CREATE TABLE cliente (
codigo INT(4) UNSIGNED AUTO_INCREMENT,
DNI VARCHAR(9) UNIQUE,
nombre VARCHAR(30),
telefono VARCHAR(9),
direccion VARCHAR(40),
PRIMARY KEY(codigo)
);
CREATE TABLE avala (
codigo_avalador INT(4) UNSIGNED,
codigo_avalado INT(4) UNSIGNED,
PRIMARY KEY (codigo_avalador,codigo_avalado),
FOREIGN KEY (codigo_avalador) REFERENCES cliente(codigo),
FOREIGN KEY (codigo_avalado) REFERENCES cliente(codigo)
);
CREATE TABLE reservas (
codigo INT(5) AUTO_INCREMENT,
codigo_cliente INT(4) UNSIGNED NOT NULL,
entregado BOOL,
precio_total DEC(3,2),
agencia VARCHAR(10),
PRIMARY KEY(codigo),
INDEX(codigo_cliente),
FOREIGN KEY (codigo_cliente) REFERENCES cliente(codigo)
);
CREATE TABLE ficha_reserva (
codigo_reserva INT(5) PRIMARY KEY,
inicio DATE,
fin DATE,
FOREIGN KEY (codigo_reserva) REFERENCES reservas(codigo)
);
CREATE TABLE coches (
matricula VARCHAR(7) PRIMARY KEY,
color VARCHAR(10),
marca VARCHAR(15),
modelo VARCHAR(10),
garaje INT(3)
);
CREATE TABLE incluye (
codigo_reserva INT(5),
matricula VARCHAR(7),
litros_gasolina TINYINT UNSIGNED,
precio_coche DEC(8,2),
PRIMARY KEY (codigo_reserva, matricula),
FOREIGN KEY (codigo_reserva) REFERENCES reservas(codigo),
FOREIGN KEY (matricula) REFERENCES coches(matricula)
);
No hay comentarios:
Publicar un comentario