Implement dynamic dependent location select boxes

This commit is contained in:
2020-06-17 22:02:27 +02:00
parent 61e1f18f42
commit 68b528b960
10 changed files with 8329 additions and 14 deletions

View File

@@ -8,6 +8,10 @@ GRANT ALL PRIVILEGES ON practica.* TO practica@localhost;
USE practica;
source database/provincias.sql;
source database/municipios.sql;
CREATE TABLE IF NOT EXISTS paciente (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
@@ -16,12 +20,15 @@ CREATE TABLE IF NOT EXISTS paciente (
documento_identificativo VARCHAR(50) UNIQUE NOT NULL,
tipo_documento VARCHAR(10) NOT NULL,
direccion VARCHAR(255) NOT NULL,
localidad VARCHAR(100) NOT NULL,
provincia VARCHAR(50) NOT NULL,
pais VARCHAR(100) NOT NULL
localidad SMALLINT(6) UNSIGNED,
provincia SMALLINT(6),
pais VARCHAR(100) NOT NULL,
FOREIGN KEY (localidad)
REFERENCES municipios(id_municipio),
FOREIGN KEY (provincia)
REFERENCES provincias(id_provincia)
);
CREATE TABLE IF NOT EXISTS rol(
codigo INT PRIMARY KEY,
nombre VARCHAR(25) NOT NULL
@@ -64,7 +71,7 @@ CREATE TABLE IF NOT EXISTS calendario (
medico VARCHAR(50),
PRIMARY KEY (id, medico),
FOREIGN KEY (medico)
REFERENCES usuario(rol)
REFERENCES usuario(usuario)
);
CREATE TABLE IF NOT EXISTS cita(
@@ -74,7 +81,7 @@ CREATE TABLE IF NOT EXISTS cita(
duracion INT,
medico VARCHAR(50) NOT NULL,
observaciones VARCHAR(255),
paciente INT,
paciente INT NOT NULL,
PRIMARY KEY (id, medico),
FOREIGN KEY (medico)
REFERENCES usuario(usuario),
@@ -86,7 +93,7 @@ CREATE TABLE IF NOT EXISTS informe(
id INT AUTO_INCREMENT,
fecha DATE NOT NULL,
hora TIME NOT NULL,
paciente VARCHAR(50) NOT NULL,
paciente INT NOT NULL,
titulo VARCHAR(100) NOT NULL,
contenido VARCHAR(255) NOT NULL,
medico VARCHAR(50) NOT NULL,

8144
database/municipios.sql Executable file

File diff suppressed because it is too large Load Diff

75
database/provincias.sql Executable file
View File

@@ -0,0 +1,75 @@
# ------------------------------------------------------------
# Listado de provincias españolas 2012.
#
# Datos extraídos del INE (Instituo Nacional de Estadística).
#
# El campo id_provincia debería coincidir con los dos primeros dígitos del código postal
# de la provincia. Los que tienen un dígito, añadir el 0 delante.
#
# Ejemplo:
# Dado un código postal 08031, tomamos los dos primeros dígitos (08) y vemos que pertenence a prov. Barcelona,
# Similarmente el código postal 44652 => 44 => província de Teruel
#
# Albert Lombarte
# Twitter: @alombarte
# ------------------------------------------------------------
CREATE TABLE `provincias` (
`id_provincia` smallint(6) PRIMARY KEY,
`provincia` varchar(30) DEFAULT NULL
) ENGINE=InnoDB;
INSERT INTO `provincias` (`id_provincia`, `provincia`)
VALUES
(2,'Albacete'),
(3,'Alicante/Alacant'),
(4,'Almería'),
(1,'Araba/Álava'),
(33,'Asturias'),
(5,'Ávila'),
(6,'Badajoz'),
(7,'Balears, Illes'),
(8,'Barcelona'),
(48,'Bizkaia'),
(9,'Burgos'),
(10,'Cáceres'),
(11,'Cádiz'),
(39,'Cantabria'),
(12,'Castellón/Castelló'),
(51,'Ceuta'),
(13,'Ciudad Real'),
(14,'Córdoba'),
(15,'Coruña, A'),
(16,'Cuenca'),
(20,'Gipuzkoa'),
(17,'Girona'),
(18,'Granada'),
(19,'Guadalajara'),
(21,'Huelva'),
(22,'Huesca'),
(23,'Jaén'),
(24,'León'),
(27,'Lugo'),
(25,'Lleida'),
(28,'Madrid'),
(29,'Málaga'),
(52,'Melilla'),
(30,'Murcia'),
(31,'Navarra'),
(32,'Ourense'),
(34,'Palencia'),
(35,'Palmas, Las'),
(36,'Pontevedra'),
(26,'Rioja, La'),
(37,'Salamanca'),
(38,'Santa Cruz de Tenerife'),
(40,'Segovia'),
(41,'Sevilla'),
(42,'Soria'),
(43,'Tarragona'),
(44,'Teruel'),
(45,'Toledo'),
(46,'Valencia/València'),
(47,'Valladolid'),
(49,'Zamora'),
(50,'Zaragoza');