create table oid_high (
	high_val INTEGER not null,
	primary key (high_val)

) TYPE = InnoDB;

insert into oid_high values (1);
create table Droga (
	CD_DROGA INTEGER not null,
	NM_DROGA VARCHAR(50) not null,
	DS_ACOES_TERAPEUTICAS VARCHAR(200) not null,
	DS_PROPRIEDADES VARCHAR(200) not null,
	DS_DOSAGEM VARCHAR(200) not null,
	DS_INDICACOES VARCHAR(200) not null,
	DS_CONTRA_INDICACOES VARCHAR(200) not null,
	DS_REACOES_ADVERSAS VARCHAR(200) not null,
	DS_PRECAUCOES VARCHAR(200) null,
	DS_INTERACOES VARCHAR(200) null,
        primary key (CD_DROGA)
) TYPE = InnoDB;

create table C_I_D (
	CD_CID INTEGER not null,
	DS_CATEGORIA VARCHAR(50) not null,
	DS_SUBCATEGORIA VARCHAR(50) not null,
	CD_DOENCA INTEGER null,
        primary key (CD_CID)
) TYPE = InnoDB;

create table doenca (
	NM_DOENCA VARCHAR(50) not null,
	CD_CID INTEGER not null,
	DS_HISTORICO VARCHAR(200) null,
	DS_SINTOMAS VARCHAR(200) null,
	DS_HEREDITARIEDADE VARCHAR(200) null,
	CD_DOENCA INTEGER not null,
        primary key (CD_DOENCA),
	INDEX CID_Doenca_FK1 (CD_CID),
	FOREIGN KEY (CD_CID) REFERENCES C_I_D (CD_CID)
) TYPE = InnoDB;


create table Laboratorio (
	CD_LABORATORIO INTEGER not null,
	NM_LABORATORIO VARCHAR(50) null, constraint Laboratorio_PK primary key (CD_LABORATORIO) ) 
	TYPE = InnoDB;

create table Apresentacao (
	NM_APRESENTACAO VARCHAR(50) null,
	CD_APRESENTACAO INTEGER not null, constraint Apresentacao_PK primary key (CD_APRESENTACAO) )
	TYPE = InnoDB;

create table Medicamento (
	CD_MEDICAMENTO INTEGER not null,
	NM_MEDICAMENTO VARCHAR(50) not null,
	DS_CONTRA_INDICACAO VARCHAR(200) null,
	DS_INDICACAO VARCHAR(200) null,
	CD_DROGA_PRINCIPAL INTEGER null,
	VL_PRECO_VAREJO double null,
	VL_PRECO_ATACADO_INFERIOR double null,
	VL_PRECO_ATACADO_SUPERIOR double null, constraint Medicamento_PK primary key (CD_MEDICAMENTO) )
	TYPE = InnoDB;
;
--
--create table TipoMaterial (
--	CD_TIPO_MATERIAL INTEGER not null,
--	NM_TIPO_MATERIAL VARCHAR(50) not null, constraint TipoMaterial_PK primary key (CD_TIPO_MATERIAL) );
--
--create table MaterialMedicoHospitalar (
--	NM_MATERIAL VARCHAR(50) null,
--	DS_CARACTERISTICAS VARCHAR(200) null,
--	TX_MARCA VARCHAR(50) null,
--	BL_DESCARTAVEL VARCHAR(10) null,
--	CD_MATERIAL INTEGER not null,
--	CD_TIPO_MATERIAL INTEGER null,
--	CD_DONO INTEGER null, constraint MaterialMedicoHospitalar_PK primary key (CD_MATERIAL) );
--
--create table Evento (
--	CD_EVENTO INTEGER not null,
--	NM_NONME VARCHAR(100) not null,
--	NM_LOCAL VARCHAR(100) not null,
--	DT_DATA DATE not null,
--	NM_DESCRICAO VARCHAR(255) not null,
--	NM_FORMAINSCRICAO VARCHAR(100) not null,
--	VL_PRECO VARCHAR(10) not null,
--	NM_LINK VARCHAR(100) null, constraint Evento_PK primary key (CD_EVENTO) );
--
--
--create table item_bibliografico (
--	CD_ITEM INTEGER not null,
--	NM_TITULO VARCHAR(255) not null,
--	NM_AUTORES VARCHAR(512) not null,
--	NM_ORIGEM VARCHAR(255) null,
--	DT_PUBLICACAO DATETIME null,
--	NM_LOCAL_PUBLIC VARCHAR(255) null,
--	NM_LOCAL_ARMAZ VARCHAR(255) not null,
--	DS_ITEM VARCHAR(255) null,
--	VL_TIPO INTEGER not null, constraint item_bibliografico_PK primary key (CD_ITEM)
--);

-- relacoes

create table Medicamento_Doenca (
	CD_MEDICAMENTO INTEGER not null,
	CD_DOENCA INTEGER not null, constraint Medicamento_Doenca_PK primary key (CD_MEDICAMENTO, CD_DOENCA) 
	) TYPE = InnoDB;
--
create table Medicamento_Laboratorio (
	CD_MEDICAMENTO INTEGER not null,
	CD_LABORATORIO INTEGER not null, constraint Medicamento_Laboratorio_PK primary key (CD_MEDICAMENTO, CD_LABORATORIO) 
	) TYPE = InnoDB;
--
create table Medicamento_Apresentacao (
	CD_MEDICAMENTO INTEGER not null,
	CD_APRESENTACAO INTEGER not null, constraint Medicamento_Apresentacao_PK primary key (CD_MEDICAMENTO, CD_APRESENTACAO) 
	) TYPE = InnoDB;

create table Doenca_Droga (
	CD_DOENCA INTEGER not null,
	CD_DROGA INTEGER not null, constraint Doenca_Droga_PK primary key (CD_DOENCA, CD_DROGA) 
	) TYPE = InnoDB;

create table Medicamento_DrogaSecundaria (
	CD_DROGA INTEGER not null,
	CD_MEDICAMENTO INTEGER not null, constraint Medicamento_DrogaSecundaria_PK primary key (CD_DROGA, CD_MEDICAMENTO) 
	) TYPE = InnoDB;

--




-- Criacao de Endereco


create table endereco (
	CD_ENDERECO INTEGER not null,
	TX_ENDERECO VARCHAR(255) not null,
	TX_BAIRRO VARCHAR(30) not null,
	TX_CIDADE VARCHAR(30) not null,
	TX_ESTADO VARCHAR(30) not null,
	TX_PAIS VARCHAR(20) not null,
	TX_CEP VARCHAR(20) not null,
	TX_TELEFONE VARCHAR(12) not null,
	TX_EMAIL VARCHAR(50) null,
	PRIMARY KEY (CD_ENDERECO)
) TYPE = InnoDB;

create table central_transplantes (
	CD_CENTRAL INTEGER not null,
	NM_CENTRAL VARCHAR(255) not null,
	CD_ENDERECO INTEGER not null,
	TX_TELEFONE VARCHAR(10) not null,
	TX_EMAIL VARCHAR(60) null,
	TX_HOMEPAGE VARCHAR(60) null,
        primary key (CD_CENTRAL)
) TYPE = InnoDB;

create table central_transplantes_doencas (
	CD_CENTRAL INTEGER not null,
	CD_DOENCA INTEGER not null,
	INDEX central_transplantes_central_transplantes_doencas_FK1 (CD_CENTRAL),
	FOREIGN KEY (CD_CENTRAL) REFERENCES central_transplantes (CD_CENTRAL),
	INDEX Doenca_central_transplantes_doencas_FK1 (CD_DOENCA),
	FOREIGN KEY (CD_DOENCA) REFERENCES doenca (CD_DOENCA)
) TYPE = InnoDB;

create table central_transplantes_endereco (
	CD_CENTRAL INTEGER not null,
	CD_ENDERECO INTEGER not null,
	INDEX endereco_central_transplantes_endereco_FK1 (CD_ENDERECO),
	FOREIGN KEY (CD_ENDERECO) REFERENCES endereco (CD_ENDERECO),
	INDEX central_transplantes_central_transplantes_endereco_FK1 (CD_CENTRAL),
	FOREIGN KEY (CD_CENTRAL) REFERENCES central_transplantes (CD_CENTRAL)
) TYPE = InnoDB;

-- criacao das tabelas de pessao fisica e juridica

create table pessoa_fisica (
	CD_PF INTEGER not null,
	TX_CPF VARCHAR(11) not null,
	NM_PF VARCHAR(50) not null,
	CD_ENDERECO INTEGER not null,
	DS_ATIVIDADES VARCHAR(255) null,
	CH_IDENTIFICADOR CHAR(1) NOT NULL,
	TX_SENHA VARCHAR(10) not null,
	PRIMARY KEY (CD_PF),
	INDEX endereco_pessoa_fisica_FK1 (CD_ENDERECO),
	FOREIGN KEY (CD_ENDERECO) REFERENCES pessoa_fisica (CD_ENDERECO)
) TYPE = InnoDB;

create table curriculum (
	CD_PF INTEGER not null,
	RW_ARQUIVO BLOB null,
	INDEX curriculum_pessoa_fisica_FK1 (CD_PF),
	FOREIGN KEY (CD_PF) REFERENCES pessoa_fisica (CD_PF)
) TYPE = InnoDB;

create table pessoa_juridica (
	CD_PJ INTEGER not null,
	TX_CNPJ VARCHAR(14) not null,
	NM_PJ VARCHAR(255) not null,
	DS_SERVICOS VARCHAR(255) not null,
	TX_INSC_MUNICIPAL VARCHAR(12) not null,
	TX_HOMEPAGE VARCHAR(50) null,
	TX_INSC_ESTADUAL VARCHAR(12) null,
	TX_SENHA VARCHAR(10) not null,
	PRIMARY KEY (CD_PJ)
) TYPE = InnoDB;

create table tipo_servico (
	CD_TIPO_SERVICO INTEGER not null,
	NM_TIPO_SERVICO VARCHAR(50) not null,
	PRIMARY KEY (CD_TIPO_SERVICO)
) TYPE = InnoDB;

create table categoria (
	CD_CATEGORIA INTEGER not null,
	NM_CATEGORIA VARCHAR(50) not null,
	PRIMARY KEY (CD_CATEGORIA)
) TYPE = InnoDB;

create table sub_categoria (
	CD_SUB_CATEGORIA INTEGER not null,
	NM_SUB_CATEGORIA VARCHAR(50) not null,
	PRIMARY KEY (CD_SUB_CATEGORIA)
) TYPE = InnoDB;

create table oferta_trabalho (
	CD_OFERTA INTEGER not null,
	VL_CARGA_HORARIA VARCHAR(10) not null,
	DS_REQUISITOS VARCHAR(255) not null,
	CD_TIPO_SERVICO INTEGER not null,
	PRIMARY KEY (CD_OFERTA)
) TYPE = InnoDB;

create table rel_pf_servico (
	CD_TIPO_SERVICO INTEGER not null,
	CD_PF INTEGER not null,
	INDEX pessoa_fisica_rel_pf_servico_FK1 (CD_PF),
	FOREIGN KEY (cd_pf) REFERENCES pessoa_fisica (cd_pf),
	INDEX tipo_servico_rel_pf_servico_FK1 (CD_TIPO_SERVICO),
	FOREIGN KEY (CD_TIPO_SERVICO) REFERENCES tipo_servico (CD_TIPO_SERVICO)
) TYPE = InnoDB;


create table rel_pj_oferta (
	CD_PJ INTEGER not null,
	CD_OFERTA INTEGER not null,
	INDEX pessoa_juridica_rel_pj_oferta_FK1 (CD_PJ),
	FOREIGN KEY (cd_pj) REFERENCES pessoa_juridica (cd_pj),
	INDEX oferta_trabalho_rel_pj_oferta_FK1 (CD_OFERTA),
	FOREIGN KEY (CD_OFERTA) REFERENCES oferta_trabalho (CD_OFERTA)
) TYPE = InnoDB;


create table rel_pj_endereco (
	CD_PJ INTEGER not null,
	CD_ENDERECO INTEGER not null,
	INDEX cd_endereco_rel_pj_endereco_FK (CD_ENDERECO),
	FOREIGN KEY (CD_ENDERECO) REFERENCES endereco(CD_ENDERECO),
	INDEX cd_pj_rel_pj_endereco_FK (CD_PJ),
	FOREIGN KEY (CD_PJ) REFERENCES pessoa_juridica (CD_PJ)
) TYPE = InnoDB;


create table rel_pf_doenca (
	CD_PF INTEGER not null,
	CD_DOENCA INTEGER not null,
	INDEX pessoa_fisica_rel_pf_doenca_FK1 (CD_PF),
	FOREIGN KEY (CD_PF) REFERENCES pessoa_fisica (CD_PF),
	INDEX doenca_rel_pf_doenca_FK1 (CD_DOENCA),
	FOREIGN KEY (CD_DOENCA) REFERENCES doenca(CD_DOENCA)
) TYPE = InnoDB;

create table rel_categoria_sub_categoria (
	CD_CATEGORIA INTEGER not null,
	CD_SUB_CATEGORIA INTEGER not null,
	INDEX cat_rel_cat_sub_cat_FK1 (CD_CATEGORIA),
	FOREIGN KEY (CD_CATEGORIA) REFERENCES categoria(CD_CATEGORIA),
	INDEX sub_cat_rel_cat_sub_cat_FK1 (CD_SUB_CATEGORIA),
	FOREIGN KEY (CD_SUB_CATEGORIA) REFERENCES sub_categoria(CD_SUB_CATEGORIA)
) TYPE = InnoDB;

create table rel_pj_categoria (
	CD_PJ INTEGER not null,
	CD_CATEGORIA INTEGER not null,
	CD_SUB_CATEGORIA INTEGER not null,
	INDEX categoria_rel_pj_categoria_FK1 (CD_CATEGORIA),
	FOREIGN KEY (CD_CATEGORIA) REFERENCES rel_categoria_sub_categoria (CD_CATEGORIA),
	INDEX sub_categoria_rel_pj_categoria_FK1 (CD_SUB_CATEGORIA),
	FOREIGN KEY (CD_SUB_CATEGORIA) REFERENCES rel_categoria_sub_categoria (CD_SUB_CATEGORIA),	
	INDEX pj_rel_pj_categoria_FK1 (CD_PJ),
	FOREIGN KEY (CD_PJ) REFERENCES pessoa_juridica(CD_PJ)

) TYPE = InnoDB;


---- Add foreign key constraints to table Medicamento_Doenca.
--alter table Medicamento_Doenca
--	add constraint Medicamento_Medicamento_Doenca_FK1 foreign key (
--		CD_MEDICAMENTO)
--	 references Medicamento (
--		CD_MEDICAMENTO);
--
--alter table Medicamento_Doenca
--	add constraint Doenca_Medicamento_Doenca_FK1 foreign key (
--		CD_DOENCA)
--	 references Doenca (
--		CD_DOENCA);
--
---- Add foreign key constraints to table Medicamento_Laboratorio.
--alter table Medicamento_Laboratorio
--	add constraint Medicamento_Medicamento_Laboratorio_FK1 foreign key (
--		CD_MEDICAMENTO)
--	 references Medicamento (
--		CD_MEDICAMENTO);
--
--alter table Medicamento_Laboratorio
--	add constraint Laboratorio_Medicamento_Laboratorio_FK1 foreign key (
--		CD_LABORATORIO)
--	 references Laboratorio (
--		CD_LABORATORIO);
--
---- Add foreign key constraints to table Medicamento_Apresentacao.
--alter table Medicamento_Apresentacao
--	add constraint Medicamento_Medicamento_Apresentacao_FK1 foreign key (
--		CD_MEDICAMENTO)
--	 references Medicamento (
--		CD_MEDICAMENTO);
--
--alter table Medicamento_Apresentacao
--	add constraint Apresentacao_Medicamento_Apresentacao_FK1 foreign key (
--		CD_APRESENTACAO)
--	 references Apresentacao (
--		CD_APRESENTACAO);
--
---- Add foreign key constraints to table Doenca_Droga.
--alter table Doenca_Droga
--	add constraint Doenca_Doenca_Droga_FK1 foreign key (
--		CD_DOENCA)
--	 references Doenca (
--		CD_DOENCA);
--
--alter table Doenca_Droga
--	add constraint Droga_Doenca_Droga_FK1 foreign key (
--		CD_DROGA)
--	 references Droga (
--		CD_DROGA);
--
---- Add foreign key constraints to table Medicamento_DrogaSecundaria.
--alter table Medicamento_DrogaSecundaria
--	add constraint Medicamento_Medicamento_DrogaSecundaria_FK1 foreign key (
--		CD_MEDICAMENTO)
--	 references Medicamento (
--		CD_MEDICAMENTO);
--
--alter table Medicamento_DrogaSecundaria
--	add constraint Droga_Medicamento_DrogaSecundaria_FK1 foreign key (
--		CD_DROGA)
--	 references Droga (
--		CD_DROGA);
--
---- Add foreign key constraints to table MaterialMedicoHospitalar.
--alter table MaterialMedicoHospitalar
--	add constraint TipoMaterial_MaterialMedicoHospitalar_FK1 foreign key (
--		CD_TIPO_MATERIAL)
--	 references TipoMaterial (
--		CD_TIPO_MATERIAL);
--
--alter table MaterialMedicoHospitalar
--	add constraint pessoa_juridica_MaterialMedicoHospitalar_FK1 foreign key (
--		CD_DONO)
--	 references pessoa_juridica (
--		CD_PJ);
--
---- Add foreign key constraints to table autoria_item_bibliografico.
--alter table autoria_item_bibliografico
--	add constraint item_bibliografico_autoria_item_bibliografico_FK1 foreign key (
--		CD_ITEM)
--	 references item_bibliografico (
--		CD_ITEM);
--
--alter table autoria_item_bibliografico
--	add constraint autor_autoria_item_bibliografico_FK1 foreign key (
--		CD_AUTOR)
--	 references autor (
--		CD_AUTOR);
--
---- This is the end of the Visio Enterprise generated SQL DDL script.	