Last active
August 29, 2015 14:21
-
-
Save ricardosiri68/8eba0ee2821ff7596af0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /*VER SI SE BORRA UN JUGADOR SE TIEN QUE BORRAR | |
| LA PARTIDA*/ | |
| DROP TABLE IF EXISTS jugador; | |
| CREATE TABLE jugador( | |
| id int, | |
| nick VARCHAR(20), | |
| email VARCHAR(20), | |
| nombreAPellido VARCHAR(30), | |
| fechaNac DATE, | |
| edad int, /* calculado */ | |
| CONSTRAINT jugador_pk PRIMARY KEY (id) | |
| ); | |
| /*Insercion de jugador 1*/ | |
| DROP TABLE IF EXISTS partida; | |
| CREATE TABLE partida( | |
| idpartida INT PRIMARY KEY, | |
| resultado ENUM("Ganador","Empate","Perdedor"), | |
| estado bool, | |
| fecha DATE, | |
| fila INT, | |
| columna INT, | |
| horaFin VARCHAR (10), | |
| horaInicio VARCHAR (10), | |
| id1 int, | |
| id2 int, | |
| CONSTRAINT fk_id1 FOREIGN KEY (id1) REFERENCES jugador(id) ON DELETE CASCADE, | |
| CONSTRAINT fk_id2 FOREIGN KEY (id2) REFERENCES jugador(id) ON DELETE CASCADE | |
| ); | |
| /*Insercion de la partida*/ | |
| DROP TABLE IF EXISTS celda; | |
| CREATE TABLE celda( | |
| filx INT, /* fila x*/ | |
| coly INT, /* columna y*/ | |
| PRIMARY KEY (filx,coly) | |
| ); | |
| /*Celda*/ | |
| DROP TABLE IF EXISTS tiene; | |
| CREATE TABLE tiene( | |
| num_mov INT PRIMARY KEY, /*numero de movimientos */ | |
| idpartida INT, | |
| idx INT, | |
| idy INT, | |
| CONSTRAINT fk_id_partida FOREIGN KEY (idpartida) REFERENCES partida (idpartida), | |
| CONSTRAINT fk_idx FOREIGN KEY (idx, idy) REFERENCES celda (filx, coly) | |
| ); | |
| DROP TABLE IF EXISTS eliminados; | |
| CREATE TABLE eliminados( | |
| id int PRIMARY KEY, | |
| fechaElim datetime, | |
| idElim VARCHAR(10) | |
| /*CONSTRAINT fk_idElim FOREIGN KEY (idElim) REFERENCES jugador (id) ON DELETE CASCADE*/ | |
| ); | |
| delimiter $$ | |
| CREATE TRIGGER borrar_datos BEFORE DELETE on jugador | |
| FOR EACH ROW | |
| BEGIN | |
| DECLARE vID VARCHAR(10); | |
| SELECT USER() INTO vID; | |
| INSERT INTO eliminados (id,fechaElim,idElim) VALUES (Old.id,SYSDATE(),vID); | |
| END$$ | |
| delimiter ; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment