|
|
|
| Здравствуйте! У меня проблема. В БД Access я создала две таблицы. 1-ая небольшая (Название_парам., Описание, Признак).
А 2-ая (Название_парам., Время, Значение) очень большая (больше 5 млн записей).
Во-первых, не удаётся поменять тип данных во 2-й таблице. "Не хватает места на диске или в памяти." Может, разбить её на несколько таблиц? Можно так сделать не вручную?
Во-вторых, чтобы связать таблицы, нужно, чтобы у них были ключевые поля. Я так понимаю, у меня это должны быть поля Название_парам. Но во 2-й таблице значения данного поля повторяются. Что же мне делать???? | |
|
| |
|
|
|
| а если поменять тип в маленькой таблице (как временное решение лучше чем в ручную 5 млн записей лопатить) | |
|
| |
|
|
|
| 1. Сделай в первой ключевым "Название параметра", если оно не повторяется там, и свяжи его с "Название параметра" во второй таблице. Одно но. Если во второй есть такое название, которого нет в первой, ничего не получится.
2. чтобы связать таблицы, нужно, чтобы у них были ключевые поля.
Не обязательно. Сделай в первой табле поле Название параметра индексированным, без разрешения повторений.
3. Лучше бы счетчик был в первой табле (КодПараметра), а во второй числовое поле. Их бы и связала. Места меньше занимает.
Попробуй на копии базы в первой табле вставить поле счетчик (ключ), запусти таблу. Должен заполниться.
Во второй вставь числовое поле
Создай запрос на обновление, где в числовое поле вставь значения счетчика соответствующие тому, что в названии_параметра. т.е. в первой табле параметр "Цвет" счетчик =1. Значит во второй везде где параметр цвет, в числовом должна быть 1. Параметр "Ширина" счетчик =2, значит во второй везде где ширина в числовое вставить 2 и т.д. Запрос на обновление все сделает.
PS Не факт что я прав
более 5 млн!!! И такое бывает | |
|
| |
|
|
|
| А почему Если во второй есть такое название, которого нет в первой, ничего не получится.
| ? | |
|
| |
|
|
|
| Я имею в виду связь один-много. Уж коли индексированное поле делать, стало быть для этого. Если во второй табле есть то, чего нет в первой с индексированным полем, то связи не получится. Будет отбивать, что нет целостности данных.
Создай запрос без подчиненных записей.
А вообще с 5 млн записями трудно будет. | |
|
| |
|
|
|
| Пришлите вашу базку
с данными (левыми в обоих таблицах - записей по десять)
перед отправкой пример нужно будет сжать и востановить (это сервис- служебные программы)
и соответственно заархивировать | |
|
| |