CREATE DATABASE IF NOT EXISTS san_romilla_db CHARACTER SET utf8 COLLATE utf8_general_ci; USE san_romilla_db; SET time_zone ="+00:00"; CREATE TABLE informacion( fecha TIMESTAMP, cartel VARCHAR(200), reglamento VARCHAR(200), inicio_inscripcion DATE, fin_inscripcion DATE, precio_camiseta TINYINT UNSIGNED, beneficio_camiseta TINYINT UNSIGNED ); CREATE TABLE categorias( id_categoria TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(100) NOT NULL UNIQUE, descripcion VARCHAR(500) NOT NULL, edad TINYINT UNSIGNED NOT NULL, precio TINYINT UNSIGNED NOT NULL, distancia SMALLINT UNSIGNED, recorrido VARCHAR(200), hora TIME ); CREATE TABLE inscripciones( id_inscripcion SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR (200) NOT NULL, apellidos VARCHAR (200) NOT NULL, genero CHAR(1), fecha_nacimiento DATE NOT NULL, dni VARCHAR(9) NOT NULL, email VARCHAR (254) NOT NULL, telefono CHAR(15) NOT NULL, info_adicional VARCHAR(500), dorsal SMALLINT UNSIGNED UNIQUE, codigo_inscripcion CHAR(5) NOT NULL , talla_camiseta CHAR(3), importe TINYINT UNSIGNED NOT NULL, estado_pago BOOLEAN NOT NULL, id_categoria TINYINT UNSIGNED NOT NULL, CONSTRAINT FK_inscripciones_categorias FOREIGN KEY (id_categoria) REFERENCES categorias (id_categoria) ); CREATE TABLE imagenes ( id_imagenes SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, url VARCHAR(200) NOT NULL, fecha_subida TIMESTAMP NOT NULL DEFAULT current_timestamp(), id_categoria TINYINT UNSIGNED NOT NULL, CONSTRAINT FK_imagenes_categorias FOREIGN KEY (id_categoria) REFERENCES categorias (id_categoria) ); CREATE TABLE posiciones ( id_posicion SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, marca_llegada SMALLINT UNSIGNED NOT NULL, general CHAR(3), masculino CHAR(3), femenino CHAR(3), ritmo SMALLINT UNSIGNED, id_inscripcion SMALLINT UNSIGNED NOT NULL UNIQUE, CONSTRAINT FK_posicion_inscripciones FOREIGN KEY (id_inscripcion) REFERENCES inscripciones (id_inscripcion) ); CREATE TABLE colaboradores( id_colaborador TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(300) NOT NULL, correo VARCHAR(254) NOT NULL UNIQUE, telefono CHAR(9) ); CREATE TABLE roles( id_rol TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(50) NOT NULL UNIQUE, descripcion VARCHAR(500) NOT NULL ); CREATE TABLE roles_colaboradores( id_rol TINYINT UNSIGNED, id_colaborador TINYINT UNSIGNED, CONSTRAINT FK_rc_roles FOREIGN KEY (id_rol) REFERENCES roles (id_rol), CONSTRAINT FK_rc_colaboradores FOREIGN KEY (id_colaborador) REFERENCES colaboradores (id_colaborador) ); # BORRAR TABLAS Y BBDD DROP TABLE posiciones; DROP TABLE imagenes; DROP TABLE inscripciones; DROP TABLE informacion; DROP TABLE roles_colaboradores; DROP TABLE roles; DROP TABLE colaboradores; DROP TABLE categorias; DROP DATABASE san_romilla_db;