У меня есть файл Excel с ~ 6 тыс. Записей, которые я хочу поместить в базу данных MS Access. Исходные поля Excel:

Name
Address
City
State
Zip
DOB
CaseNumber
DateSentenced
AmountDue

Я сохранил все в файле Excel в меньшие текстовые файлы по столбцам, как:

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

Я импортировал каждый из них в таблицу доступа и убедился, что в них нет ошибок.

Пока у меня есть отношения, настроенные как:

Каждый из них имеет проверку Enforce Referential Integrity & Cascade Update.

Моя проблема в том, что в плоском файле было много повторяющихся имен, адресов, добов для другого номера дела; поскольку один человек может иметь много случаев.

Как мне исправить это, не заставив вселенную взорваться? Я чрезвычайно новичок в такого рода вещах и не знаю, какой вопрос задать :(.

2 ответа2

0

Есть несколько вещей, которые не так с вашим дизайном данных.

Сколько дней рождения может иметь один человек? Один. Таким образом, день рождения принадлежит таблице имен как поле. Я полагаю, вы говорите, что человек может иметь более одного адреса. Это нормально, и у вас есть одно имя, связанное со многими возможными адресами - это нормально. Но вы не можете просто соединить две таблицы по их первичному полю ID. Это будет означать, что имя 1 подключается к адресу 1, что может быть или не быть правдой. Что, если Имя 1 подключается к адресам 5 и 7? У вас должно быть поле ID имени в таблице адресов. Тогда адреса ID 5 и ID 7 могут иметь имя ID 1 в таблице адресов, устанавливающей желаемое соединение. Это называется внешний ключ.

Затем у вас есть три таблицы, Amounts, ToAgency, Sentence, все они связаны с таблицей JP_Case как отношения один-к-одному. То есть для каждого случая есть только одна сумма, срочность и предложение. Так же, как и Name-Birthday, если Case может иметь только одно из этих трех значений, они должны быть полями в таблице JP_Case, а не отдельными таблицами.

Вот учебник по проектированию реляционных данных, который должен поставить вас на правильный путь.

0

Короткий ответ: серебряной пули нет. Ничто не очистит данные для вас. Вы должны либо сделать это вручную, либо у вас есть программа для записи, которая нормализует данные по некоторому набору правил, которые вы определяете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .