CREATE TABLE `admin` (
  `id_admin` integer PRIMARY KEY NOT NULL,
  `usuario` varchar(100),
  `password` varchar(300)
);

CREATE TABLE `persona` (
  `id_persona` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
  `nombre` varchar(100),
  `apellidp_p` varchar(100),
  `apellidp_m` varchar(100),
  `curp` varchar(200),
  `edad` integer,
  `genero` varchar(10),
  `telefono` varchar(50),
  `correo` varchar(100),
  `pasword` varchar(300),
  `comunidad` varchar(50),
  `situacion_academica` varchar(50)
);

CREATE TABLE `alumnos` (
  `id_persona` integer PRIMARY KEY NOT NULL,
  `numero_cuenta` varchar(20),
  `año_curso` varchar(20),
  `tipo_de_participacion` varchar(50)
);

CREATE TABLE `academico` (
  `id_persona` integer PRIMARY KEY NOT NULL,
  `grado_academico` varchar(50),
  `aignatura_imparte` varchar(50),
  `tipo_de_participacion` varchar(50)
);

CREATE TABLE `evento` (
  `id_evento` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
  `tipo_evento` varchar(100),
  `nombre_evento` varchar(150),
  `cupo` integer
);

CREATE TABLE `asistencia` (
  `id_asistencia` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
  `id_persona` integer,
  `id_evento` integer,
  `pagado` boolean,
  `asistencia_1` boolean,
  `asistencia_2` boolean,
  `asistencia_3` boolean,
  `asistencia_4` boolean
);

CREATE TABLE `factura` (
  `id_factura` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
  `id_persona` int,
  `rfc` varchar(100),
  `domicilio` varchar(120),
  `telefono` varchar(30),
  `correo` varchar(70)
);

ALTER TABLE `persona` ADD FOREIGN KEY (`id_persona`) REFERENCES `factura` (`id_persona`);

ALTER TABLE `asistencia` ADD FOREIGN KEY (`id_persona`) REFERENCES `academico` (`id_persona`);

ALTER TABLE `asistencia` ADD FOREIGN KEY (`id_persona`) REFERENCES `alumnos` (`id_persona`);

ALTER TABLE `evento` ADD FOREIGN KEY (`id_evento`) REFERENCES `asistencia` (`id_evento`);

ALTER TABLE `alumnos` ADD FOREIGN KEY (`id_persona`) REFERENCES `persona` (`id_persona`);

ALTER TABLE `academico` ADD FOREIGN KEY (`id_persona`) REFERENCES `persona` (`id_persona`);
