El Script es:
create database BDturismo
USE BDturismo
CREATE TABLE pais(
pais_active integer not null,
pais_nombre varchar(225),
pais_iso_cod2 varchar(15),
pais_iso_cod3 varchar(15),
pais_id integer not null
primary key(pais_id)
);
CREATE TABLE dest_lugar(
dest_id varchar(30) not null,
pais_id integer,
dept_id integer,
mun_id integer,
dest_lugar varchar(30)
primary key(dest_lugar)
);
CREATE TABLE departamento(
dept_id integer not null,
pais_id integer,
dept_nombre varchar(25),
dept_cod Varchar(15)
primary key(dept_id),
foreign key(pais_id) references pais
);
CREATE TABLE observacion(
obs_id integer,
ent_id varchar(15),
obs_titulo varchar(255),
obs_descripcion text,
obs_fcreacion date
primary key(obs_id)
);
CREATE TABLE provincia(
prov_nombre varchar(25) ,
prov_id integer not null,
dept_id integer
primary key(prov_id),
foreign key(dept_id) references departamento
);
CREATE TABLE municipio(
mun_id integer not null,
prov_id integer,
mun_nombre varchar(200)
primary key(mun_id),
foreign key(prov_id) references provincia
);
CREATE TABLE tipo_guia(
tipo_id integer not null,
tipo_nombre varchar(240),
tipo_descripcion text
primary key(tipo_id),
);
CREATE TABLE agen_guia(
ent_id varchar(15),
guia_id varchar(15)
primary key(ent_id)
);
CREATE TABLE guia_turistico(
guia_id varchar(30),
tipo_id integer,
mun_id integer,
guia_ap_paterno varchar(225),
guia_ap_materno varchar(225),
guia_vi varchar(35),
guia_telefono varchar(35),
guia_celular varchar(35),
guia_email varchar(225),
guia_direccion varchar(225),
guia_fvencimiento_cred date,
guia_dependiente varchar(225),
guia_estado integer,
guia_femision date,
guia_nombre varchar(225),
guia_fnacimiento date,
guia_req_titulo varchar(15),
guia_req_idioma varchar(225),
guia_req_bc varchar(5)
primary key (guia_id),
foreign key(tipo_id) references tipo_guia,
foreign key(mun_id) references municipio
);
CREATE TABLE destinos(
dest_id varchar(30),
dest_nombre varchar(225),
dest_descripcion text
primary key(dest_id)
);
CREATE TABLE agen_dest(
ent_id varchar(15),
agdest_id varchar(15),
dest_id varchar(30)
primary key(agdest_id)
);
CREATE TABLE agencia_operadora(
agoperadora_id varchar(15) not null,
ent_id varchar(15)
primary key(agoperadora_id)
);
CREATE TABLE especialidades(
esp_id integer not null,
esp_nombre varchar(225),
esp_descripcion text
primary key(esp_id),
);
CREATE TABLE agen_esp(
esp_id integer,
ent_id varchar(15),
agesp_id integer
primary key(agesp_id)
foreign key(esp_id) references especialidades
);
CREATE TABLE actividades(
act_id integer not null,
act_nombre varchar(225),
act_descripcion text
primary key(act_id),
);
CREATE TABLE agen_act(
ent_id varchar(15) ,
agact_id integer,
act_id integer
primary key(agact_id),
foreign key(act_id) references actividades
);
CREATE TABLE entidad(
mun_id integer,
ent_id varchar(15),
ent_reg_dept varchar(30),
ent_reg_dept_ant varchar(30),
ent_resol_gob varchar(35),
ent_razon_social varchar(225),
ent_telefono varchar(35),
ent_fax varchar(35),
ent_email varchar(225),
ent_sitio_web varchar(225),
ent_latitud double precision,
ent_longitud double precision,
ent_fcreacion date,
ent_fmodificacion date,
ent_eliminar integer,
ent_categoria varchar(225),
ent_tipo varchar(30),
ent_nro_nit varchar(20),
ent_direccion varchar(255),
ent_zona varchar(255),
ent_nro_folio varchar(30),
ent_rd_femision date,
ent_rd_fvencimiento date
primary key(ent_id),
foreign key(mun_id) references municipio
);
CREATE TABLE representante_legal(
rep_id integer not null,
ent_id varchar(15),
rep_nombre varchar(220),
rep_ap_paterno varchar(225),
rep_ap_materno varchar(225),
rep_ci varchar(35),
rep_telefono varchar(35),
rep_celular varchar(35),
rep_email varchar(225),
rep_direccion varchar(225),
rep_nacionalidad varchar(200)
primary key(rep_id),
foreign key(ent_id) references entidad
);
CREATE TABLE gerente(
ger_id integer,
ent_id varchar(15),
ger_nombre varchar(220),
ger_ap_paterno varchar(225),
ger_ap_materno varchar(225),
ger_ci varchar(35),
ger_telefono varchar(35),
ger_celular varchar(35),
ger_email varchar(225),
ger_direccion varchar(225),
ger_nacionalidad varchar(200)
primary key(ger_id),
foreign key(ent_id) references entidad
);
CREATE TABLE pmc(
pmc_id integer,
ent_id varchar(15),
pmc_codigo varchar(30),
pmc_nro_act_eco varchar(30),
pmc_femision date,
pmc_fvencimiento date
primary key(pmc_id),
foreign key(ent_id) references entidad
);
CREATE TABLE fundempresa(
ent_id varchar(15),
fund_id integer,
fund_nro_matricula varchar(30),
fund_capital double precision,
fund_nro_registro varchar(30),
fund_fregistro date,
fund_fvencimiento date,
fund_moneda varchar(30),
fund_factualizacion date
primary key (fund_id),
foreign key(ent_id) references entidad
);
CREATE TABLE hospedajes(
ent_id varchar(15),
hosp_nro_rest integer,
hosp_nro_camas integer,
hosp_nro_hab_banho_comp integer,
hosp_nro_hab_banho_priv integer,
hosp_id integer,
primary key(hosp_id),
foreign key(ent_id) references entidad
);
CREATE TABLE aseguradora(
aseg_id integer,
aseg_nombre varchar(255),
aseg_telefono varchar(100),
aseg_email varchar(255),
aseg_direccion varchar(255),
aseg_sitio_web varchar(255)
primary key(aseg_id),
);
CREATE TABLE poliza_seguro(
pol_id integer,
ent_id varchar(15),
aseg_id integer,
pol_nro_poliza varchar(30),
pol_cod varchar(10),
pol_precio double precision,
pol_moneda varchar(10),
pol_fapertura date,
pol_fvencimiento date,
pol_observacion text
primary key(pol_id),
foreign key (ent_id) references entidad,
foreign key (aseg_id) references aseguradora
);
CREATE TABLE cobertura(
cob_id integer ,
pol_id integer,
cob_nombre varchar(255),
cob_precio double precision,
cob_moneda varchar(10)
primary key(cob_id),
foreign key(pol_id) references poliza_seguro
);
CREATE TABLE pers_hosp(
pers_id integer,
ent_id varchar(15),
fecha_ingreso date,
nro_pieza varchar(30),
procedencia varchar(255),
fecha_salida date,
tipo_ing varchar(30)
primary key(pers_id),
foreign key(ent_id) references entidad
);
CREATE TABLE profesion(
prof_id integer,
prof_nombre varchar(255),
prof_descripcion text
primary key (prof_id),
);
CREATE TABLE persona_hospedada(
pais_id integer,
prof_id integer,
pers_id integer,
pers_nombre varchar(255),
pers_apellidos varchar(255),
pers_edad integer,
pers_ci varchar(30),
pers_nro_pasaporte varchar(30),
pers_sexo varchar(10)
primary key(pers_id),
foreign key(pais_id) references pais,
foreign key(prof_id) references profesion
);
CREATE TABLE historial(
ent_id varchar(15),
hist_id integer,
pol_id integer,
pmc_id integer,
fund_id integer,
usu_id integer,
hist_descrip text,
hist_fecha date
primary key(hist_id),
foreign key(ent_id) references entidad,
foreign key(pmc_id) references pmc,
foreign key(pol_id) references poliza_seguro,
foreign key(fund_id) references fundempresa,
foreign key(ent_id) references entidad
);
CREATE TABLE usuario(
usu_id integer,
fund_id integer,
rol_cod varchar(10),
usu_login varchar(255),
usu_pass varchar(255),
usu_fcreacion date,
usu_fmodif date,
usu_est integer,
usu_acces_ent varchar(10),
usu_acces_guia varchar(10),
usu_acces_pd varchar(10),
usu_acces_aseg varchar(10),
usu_acces_prof varchar(10),
usu_acces_pais varchar(10),
usu_acces_dept varchar(10),
usu_acces_prov varchar(10),
usu_acces_mun varchar(10),
usu_acces_tipo_guia varchar(10),
usu_acces_email varchar(10),
usu_acces_act varchar(10),
usu_acces_esp varchar(10),
usu_acces_dest varchar(10)
primary key(usu_id),
foreign key()
);
CREATE TABLE historial_usuario(
hist_id integer,
hist_descripcion text,
usu_id integer,
hist_fecha date
primary key(hist_id),
foreign key (usu_id) references usuario
);
CREATE TABLE roles(
rol_cod varchar(10),
rol_nombre varchar(255),
rol_descripcion text
primary key(rol_cod),
);
CREATE TABLE dependencia(
dep_id integer,
dep_sigla varchar(150),
dep_nombre varchar(255),
dep_est integer,
dep_tipo varchar(150),
dep_nivel varchar(255),
dep_telefono varchar(15),
dep_tel_interno varchar(15),
dep_direccion varchar (255)
primary key(dep_id)
);
CREATE TABLE cargo(
car_id integer,
car_fcreacion date,
car_nombre varchar(255),
car_descripcion text,
car_est varchar(15),
primary key(car_id)
);
CREATE TABLE funcionario(
fun_id integer,
car_id integer,
dep_id integer,
fun_fingreso date,
fun_est varchar(15),
fun_nombre varchar(255),
fun_ap varchar(255),
fun_am varchar(255),
fun_direc varchar(255),
fun_telf varchar(15),
fun_titulo varchar(255)
primary key (fun_id),
foreign key (car_id) references cargo,
foreign key(dep_id) references dependencia
);