Como relacionar essas tabelas de acesso sem perder dados?

0

Eu tenho um arquivo simples do excel com aproximadamente ~ 6k registros que eu quero colocar em um banco de dados do MS Access. Os campos originais do Excel são:

Name
Address
City
State
Zip
DOB
CaseNumber
DateSentenced
AmountDue

Salvei tudo no arquivo do Excel em arquivos de texto menores por coluna como:

NAMES
id
last
first
middle
suffix

ADDR
id
line1
city
state
zip

BDAYS
id
dob

CASENO
id
casenumber
courtnumber

SENTENCED
id
datesentenced

AMOUNTS
id
amountdue

TOAGENCY
id
year

Eu importei cada um deles para uma tabela do Access e verifiquei se eles não tinham erros.

Até agora, tenho relacionamentos configurados como:

Cada um tem integridade referencial obrigatória & Atualização em cascata marcada.

Meu problema é que o arquivo simples tinha muitos nomes duplicados, endereços, dobs para um número de caso diferente; já que uma pessoa pode ter muitos casos.

Como faço para corrigir isso sem fazer o universo implodir? Eu sou extremamente novo nesse tipo de coisa & não sei que pergunta perguntar: (.

    
por gpryatel 28.10.2011 / 20:55

2 respostas

0

A resposta curta é que não há bala de prata. Nada vai limpar os dados para você. Você tem que fazer isso manualmente, ou você tem um programa de gravação que normaliza os dados por algum conjunto de regras que você define.

    
por 28.10.2011 / 23:27
0

Há várias coisas erradas no design dos seus dados.

Quantos aniversários uma pessoa pode ter? 1. Portanto, o aniversário pertence à tabela Nomes como um campo. Eu acredito que você está dizendo que uma pessoa pode ter mais de um endereço. Tudo bem, e você tem um nome relacionado a muitos endereços possíveis - tudo bem. Mas você não pode simplesmente conectar as duas tabelas pelo campo de ID principal. Isso significaria que o nome 1 se conecta ao endereço 1 - o que pode ou não ser verdade. E se o Nome 1 se conectar aos endereços 5 e 7? Você deve ter um campo de ID de nome na tabela de endereços. Em seguida, os Endereços ID 5 e ID 7 podem ter o ID de Nome 1 na tabela Endereço fazendo a conexão desejada. Isso é chamado de chave estrangeira.

Em seguida, você tem três tabelas, Montantes, ToAgency, Sentença, todas conectadas à tabela JP_Case como relações um-para-um. Isso quer dizer que há apenas um valor, toAgency e sentença para cada caso. Assim como o Nome-Aniversário, se o Caso puder ter apenas um de cada um desses três valores, eles devem ser campos na tabela JP_Case, não tabelas separadas.

Aqui está um tutorial sobre design de dados relacionais que deve colocá-lo no caminho certo.

    
por 18.01.2012 / 05:57