viernes, 26 de agosto de 2011

Base-Datos Proy Turismo

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       
);

No hay comentarios:

Publicar un comentario