É possível normalizar dados no Excel para que eu possa garantir que meu conjunto de dados siga o 3º Formulário Normal quando eu importar para o Access

1

Para lhe dar um pouco de experiência, sou um estudante universitário fazendo uma tarefa em Ciência de Dados. Eu tenho um conjunto de dados no Excel, baseado em jogadores de futebol / futebol de todo o mundo. Atualmente, cada jogador tem um ID e cada registro inclui seu ID, nome, clube, foto, idade, etc etc;

O problema que estou tendo é quando eu desenho as tabelas no Access, não consigo importar os dados do Excel e normalizá-los devido a alguns dados repetidos.

Eu atribuí uma ID a cada jogador, e eu quero dividi-lo para que eu tenha uma mesa para (Club, Player, Player_Attributes, League), mas porque eu tenho mais de 17.000 dados de jogadores e seu clube - eu teria Para atribuir manualmente a cada clube um ID no Access, exclua TODOS os clubes repetidos da minha planilha do Excel para que apenas uma instância de um clube apareça na tabela 'Club' e uma coluna correlativa 'clubID' na tabela 'Player' vinculada a a mesa do clube. Posso excluir automaticamente todas as instâncias repetidas de algo no Excel E TAMBÉM substituir essa repetição por, digamos, um número?

p.s. desculpe Se eu não fizesse a minha pergunta bem, se você precisar de mais esclarecimentos para me ajudar, por favor me avise

Obrigado antecipadamente

edit: ( link ) - link para uma captura de tela dos meus 4 principais registros que tenho no Excel. A planilha contém mais de 17.000 registros.

    
por MC123 14.11.2017 / 17:53

1 resposta

0

Faça isso nas etapas:

Importe para uma tabela 'dados brutos' que represente os dados não normalizados - essencialmente os dados da planilha do Excel na íntegra (você não precisa criar esta tabela; o assistente de importação faz isso para você).

Extraia as Ligas, os Clubes em suas tabelas normalizadas apropriadas, fazendo uma consulta Anexar que selecione dados distintos da tabela bruta. Por exemplo:

INSERT INTO Leagues SELECT DISTINCT LeagueName FROM RawData .

Extraia os jogadores na tabela de jogadores normalizada apropriada. Para fazer isso, use uma consulta de acréscimo que une a tabela RawData às tabelas Liga e Clube normalizadas, com o nome como o campo de união (desde que você não tenha o ID nos dados brutos). Nesta consulta SELECT o jogador normalizou os campos (nome, idade, etc) assim como os IDs de Clube e Liga. Por exemplo:

INSERT INTO Players
SELECT PlayerName, Age, LeagueID, ClubID
FROM RawData 
INNER JOIN Clubs ON RawData.ClubName = Clubs.ClubName
INNER JOIN Leagues ON RawData.LeagueName = Leagues.LeagueName
    
por 03.02.2018 / 01:39