Как переместить поле в другую таблицу и поддерживать отношения? - PullRequest
0 голосов
/ 08 февраля 2020

Я полагаю, что это должно быть легко, я просто не знаю, как задать вопрос.

У меня есть тысячи записей, которые я импортировал из электронной таблицы Excel в таблицу Microsoft Access с полем, которое я хочу извлечь в новую таблицу. Как переместить данные из поля в существующей таблице в новую таблицу и сохранить связи с записью?

Цель состоит в том, чтобы переместить существующие данные из одного поля в новую таблицу, которая будет иметь отношение один ко многим с существующей родительской таблицей.


Например, в таблице с именем tblProperties у меня есть следующие поля:

Property_Address | Property_Owner | UtilityMeter_Number

Я хочу вести историю счетчиков коммунальных услуг на свойства по мере их замены, поэтому я хочу переместить поле UtilityMeter_Number из tblProperties в новую таблицу с именем tblMeters и создать отношение «один-много» между ними, чтобы я мог иметь несколько записей счетчиков для каждой записи свойства.

Как переместить все существующие данные из поля UtilityMeter_Number в tblProperties в tblMeters и сохранить связь?


Как называется то, что я пытаюсь сделать, и как мне это сделать?

1 Ответ

1 голос
/ 08 февраля 2020

Это называется нормализацией структуры данных.

Используйте запрос SELECT DISTINCT для создания уникальных записей. Используйте этот набор данных в качестве источника для создания новой таблицы. Пример:

SELECT DISTINCT CustID, LName, FName, MName INTO Customers FROM Orders;

Теперь удалите ненужные поля LName, FName, MName из таблицы Orders.

Таблицы связаны с общими полями CustID. Первичный ключ автономера не используется. Если вы хотите установить связь с автономным номером PK, выполните следующие действия:

  1. добавьте поле автоматического номера в новую таблицу
  2. создайте числовое поле в исходной таблице
  3. выполнить действие UPDATE SQL, чтобы заполнить новое числовое поле значением автонумерации из новой таблицы - объединить таблицы в общих полях CustID
  4. также удалить поле CustID из исходной таблицы
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...