Ajuda com normalização de banco

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

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

: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