Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Вниз

Сжатие базы Access и связанные таблицы   Найти похожие ветки 

 
DVM ©   (2006-06-13 15:57) [0]

Для примера, путь имеем следующие таблицы:

Первая:

IDUser | UserNаme|
----------------------
5        | Вася       |
----------------------
8        | Петя       |

Вторая:

IDUser | Что-то еще |
----------------------
5        | что-то 1     |
----------------------
5        | что-то 2     |
----------------------
8        | что-то 3     |
----------------------

и.т.д.

IDUser в первой таблице - автоинкремент

Сжимаю базу. Естесственно, поле UserID у Васи станет 1, а у Пети 2. После этого связь будет нарушена.

Что лучше сделать для сохранения целостности данных?


 
DVM ©   (2006-06-13 15:58) [1]

Общение с базой через ADO


 
Sergey13 ©   (2006-06-13 16:07) [2]

>Сжимаю базу. Естесственно, поле UserID у Васи станет 1, а у Пети 2. После этого связь будет нарушена.

Я не знаток Аксеса, но, ИМХО, это неестественно. Даже противоестественно.


 
DVM ©   (2006-06-13 16:09) [3]


> Я не знаток Аксеса, но, ИМХО, это неестественно. Даже противоестественно.

Что именно? Сжатие? Или изменение индексов?
Так и будет. Причем если в самой Access пометить поля как связанные, все сохраняется нормально. Индексы исправляются во всех связанных таблицах.


 
DVM ©   (2006-06-13 16:10) [4]

Меня бы устроило сжатие без изменения индексов вообще.
Уточню: UserID в терминах Access это ключевое поле с автоинкрементом.


 
Sergey13 ©   (2006-06-13 16:40) [5]

2[3] DVM ©   (13.06.06 16:09)
> Причем если в самой Access пометить поля как связанные, все сохраняется нормально.
Ну дык пометь. Что мешает то?


 
sniknik ©   (2006-06-13 17:45) [6]

> Естесственно, поле UserID у Васи станет 1, а у Пети 2.
не естественно. никакое сжатие не нарушает значений уже внесенных данных, хоть поле с автоинкрементом хоть без, с пометкои и без нее.

> Меня бы устроило сжатие без изменения индексов вообще.
индексы меняются т.к. переформируются страници с данными, все "поджимается", но тебя это волновать не должно, где бы индексы не лежали данные будут те же.


 
DVM ©   (2006-06-13 17:56) [7]


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

Даже не знаю, что сказать. Я потому и задал вопрос, что удивляет поведение Access. Может это глюки Acccess на конкретной машине, но происходит так как я описал. Странно. Попробую потом в другом месте.


 
sniknik ©   (2006-06-13 18:00) [8]

> Может это глюки Acccess на конкретной машине, но происходит так как я описал.
скорее это глюки того(/чего) ты не описал, а именно, что ты называеш "сжатием бызы" и как ты это выполняеш.


 
DVM ©   (2006-06-13 18:03) [9]


> а именно, что ты называеш "сжатием бызы" и как ты это выполняеш.

Главное меню Access: Сервис > Служебные программы > Сжать и восстановить базу данных.


 
sniknik ©   (2006-06-13 19:57) [10]

> Главное меню Access: Сервис > ...
не должно, пробуй еще.
единственное возможно у тебя старый access/база, до 2000-го (95/97) были признано глючными, "глюкала" сама база, т.е. если в меню в служебных -> преобразование, у тебя закрыто access 97(т.е. это текуший формат получается) и открыто access 2000/2002 то преобразуй базу в более новую и пробуй потом.
ну и структуру приводи если не получится. (чтобы повторить и проверить)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.05 c
15-1153520417
pasha_golub
2006-07-22 02:20
2006.08.20
Кол-во таблиц


15-1152305966
Германн
2006-07-08 00:59
2006.08.20
Вот странно!


3-1150258551
Rubey
2006-06-14 08:15
2006.08.20
Ошибка поля MEMO


2-1154592529
Lagrima_JN
2006-08-03 12:08
2006.08.20
Возможность редактирования отдельных столбцов в StringGrid.


1-1151616926
SkyRanger
2006-06-30 01:35
2006.08.20
Работа с указателями





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский