Ajuda com normalização de banco

2 respostas
G

Boa tarde,

Estou tendo algumas dificuldades com a normalização de um banco, pois estou exportando de um banco de dados Adabas ou seja um banco de dados hierarquico para o SQL server, separei mais ou menos os atributos, mas ta bem complicado, perceba coloquei null em tudo mas não vai ser assim ,como é um export estou apenas testando, assim já funcionou porém vou ter que dividir em outras tabelas criar index, dai fico em duvida sobre joins se seria realmente viavel normalizar esse banco.

[ART_Tipo] [tinyint] NULL, [ART_Numero] [int] NULL, [ART_Situacao] [nvarchar](3) NULL, [ART_Data_Digitacao] [smalldatetime] NULL, [ART_Data_Termino] [smalldatetime] NULL, [ART_Codigo_Erro] [nvarchar](2) NULL, [ART_Data_Revisao] [smalldatetime] NULL, [ART_Data_Convocacao] [smalldatetime] NULL, [ART_DESC_Baixa] [nvarchar](40) NULL, [Contratada_REG_CREA] [int] NULL, [Contratada_DV] [tinyint] NULL, [Contratada_Cap_Social] [money] NULL, [Contratante_Nome] [nvarchar](40) NULL, [Contratante_CPF_CGC] [nvarchar](14) NULL, [Contratante_Endereco] [nvarchar](100) NULL, [Contratante_Cep] [nvarchar](10) NULL, [Proprietario_Nome] [nvarchar](40) NULL, [Proprietario_CPF_CGC] [nvarchar](14) NULL, [Obra _Endereço] [nvarchar](55) NULL, [Obra_Cod_Municipio] [nvarchar](7) NULL, [Obra_Nome_Municipio] [nvarchar](30) NULL, [Obra_Cep] [nvarchar](10) NULL, [Obra_Quantificacao] [nvarchar](11) NULL, [Obra_Unidade_Quantidade] [int] NULL, [Obra_Valor] [money] NULL, [Obra_Finalidade] [int] NULL, [RT_REG_CREA] [float] NULL, [RT_DV] [tinyint] NULL, [RT_Honorarios] [money] NULL, [RT_Tipo_Contrato] [tinyint] NULL, [RT_Entidade_Classe] [tinyint] NULL, [Taxa_Auxiliar] [tinyint] NULL, [Taxa_Data_Pagto] [smalldatetime] NULL, [Taxa_Valor_Pagto] [money] NULL, [Taxa_Valor_Antecipado] [money] NULL, [Taxa_Valor_Devolvido] [money] NULL, [Taxa_Data_Devolucao] [smalldatetime] NULL, [Taxa_Valor_Calculado] [money] NULL, [Taxa_Data_Complemento] [smalldatetime] NULL, [Taxa_Valor_Complemento] [money] NULL, [Taxa_Valor_Entidade] [money] NULL, [Instituicao_Reg_CREA] [int] NULL, [Instituicao_DV] [tinyint] NULL, [Instituicao_Nome] [nvarchar](40) NULL, [Instituicao_CGC] [nvarchar](14) NULL, [Instituicao_Endereco] [nvarchar](50) NULL, [Instituicao_Telefone] [nvarchar](13) NULL, [Instituicao_CEP] [nvarchar](10) NULL, [Desempenho_cod_Anotacao] [tinyint] NULL, [Desempenho_Unidade_Quantidade] [tinyint] NULL, [Desempenho_Honorarios] [money] NULL, [Desempenho_data_inicio] [smalldatetime] NULL, [Lote_Digitacao] [int] NULL, [Sequencia_Digitacao] [int] NULL, [Flag_Recolhimento] [nvarchar](1) NULL, [Taxa_Tipo] [nvarchar](1) NULL, [Quantidade_Receita] [int] NULL, [Contratante_CEP_novo] [nvarchar](10) NULL, [Obra_Cep_Novo] [nvarchar](10) NULL, [Obra_data_Contrato] [smalldatetime] NULL, [Flag_Assinatura_Prof] [nvarchar](1) NULL, [Flag_Assinatura_Contr] [nvarchar](1) NULL, [Resp_ART_Forcada] [nvarchar](10) NULL, [Numero_Guia_Compl] [int] NULL, [Data_Cobranca_Compl] [smalldatetime] NULL, [Data_Vencimento_Compl] [smalldatetime] NULL, [Cod_Defesa_Compl] [int] NULL, [Resp_Alt_ART] [nvarchar](10) NULL, [Data_Alt_ART] [smalldatetime] NULL, [Resp_Digitacao_ART] [nvarchar](10) NULL, [Num_Processo_Baixa] [int] NULL, [Resp_Baixa_Art] [nvarchar](10) NULL, [RT_Nome] [nvarchar](40) NULL, [Contratada_Nome] [nvarchar](40) NULL, [RT_CPF] [int] NULL, [Contratada_CGC] [int] NULL, [Num_Lote_Armazenamento] [int] NULL, [Data_Aviso_Regularizar] [smalldatetime] NULL, [ART_Tipo_Associacao] [tinyint] NULL, [Num_ART_Associacao] [int] NULL, [Data_Trasmissao_ART] [smalldatetime] NULL, [Data_Pagto_Banco] [int] NULL, [Valor_Pagto_Banco] [int] NULL, [Data_Recebimento_ART_Assinada] [int] NULL, [Cod_Insp_Arrec] [int] NULL, [Tipo_Logrdo_Inst] [nvarchar](4) NULL, [Nome_Logrdo_Inst] [nvarchar](45) NULL, [Num_Logrdo_Inst] [int] NULL, [DSC_Complemento_Inst] [nvarchar](25) NULL, [Bairro_Inst] [nvarchar](25) NULL, [Cod_Munic_Inst] [nvarchar](7) NULL, [Nome_Munic_Inst] [nvarchar](30) NULL, [UF_Inst] [nvarchar](2) NULL, [Tipo_Logrdo_Contratante] [nvarchar](4) NULL, [Nome_Logrdo_Contratante] [nvarchar](45) NULL, [Num_Logrdo_Contratante] [int] NULL, [DSC_Complemento_Contratante] [nvarchar](25) NULL, [Bairro_Contratante] [nvarchar](25) NULL, [Cod_Munic_Contratante] [nvarchar](7) NULL, [Nome_Munic_Contratante] [nvarchar](30) NULL, [UF_Contratante] [nvarchar](2) NULL, [Tipo_Logrdo_Obra] [nvarchar](4) NULL, [Nome_Logrdo_Obra] [nvarchar](45) NULL, [Num_Logrdo_Obra] [int] NULL, [DSC_Complemento_Obra] [nvarchar](25) NULL, [Bairro_Obra] [nvarchar](25) NULL, [Cod-Munic_Obra] [nvarchar](7) NULL, [Nome_Munic_Obra] [nvarchar](30) NULL, [UF_Obra] [nvarchar](2) NULL, [RT_Titulo] [int] NULL, [Num_Lote_Baixa] [int] NULL, [Flag_Tem_Resolucao] [tinyint] NULL, [Num_Protocolo_Retif] [int] NULL, [Flag_Tem_Acessibilidade] [tinyint] NULL, [Flag_Tem_AIN] [tinyint] NULL, [Num_Processo_AIN] [int] NULL, [Instituicao_Cep_Novo] [int] NULL, [Valor_Retificacao] [money] NULL, [Data_Retificacao] [smalldatetime] NULL

2 Respostas

doug

Olá

Que isso!?!?! Cristo!! Você esta bem??

Pelo menos coloca na primeira forma normal.
Assim você consegue separar dados de naturezas diferentes.

Eu particularmente acho que isso gera muita repetição de seus dados, causando um número grande de tamanho de arquivo e fora a manutenção e integridades destes dados. Deve ser dificil fazer isso (manutenção).

Creio que sua aplicação deva sofrer alterações quanto aos selects a base de dados, mas te garanto que será mais rápido localizar algum dado dentro deste banco normalizado.

Espero ter ajudado
Flwsss

fantomas

:shock:

VIXE!

Carinha, faz uma pesquisa sobre normalização e coloque suas dúvidas sobre o assunto nos posts; sem um conhecimento mínimo fica difícil.

Depois a gente volta nesta sua tabela louca.

flws

Criado 23 de agosto de 2010
Ultima resposta 24 de ago. de 2010
Respostas 2
Participantes 3