|
Тема
|
Помощ за прехвърляне на данни между бази данни
|
|
Автор |
htmlgirl () |
Публикувано | 22.09.02 15:39 |
|
Имам въпрос, който може би звучи глупаво, но съм начинаеща в базите данни и не мога да разбера какво точно става.
Имам задача да преработя една фирмена база данни на Access XP, която има 3-4 несвързани таблици. В повечето има повтарящи се данни, например имена и адреси на други фирми, с които има отношения фирмата собственик на базата. Има таблица за клиентите, втора за доставчиците, трета за фирми, на които са изпращани рекламни писма и т.н. Във всяка от тези таблици има повтарящи се типове данни, например колона с имена и дареси на фирми. Целта е данните да бъдат разпределени в няколко таблици: една с имена и адреси, една с данни за изпратени писма, една с поръчани суровини и т.н. След това между таблиците трябва да бъдат направени съответните връзки. Направих нов файл за база данни, където да бъдат въведени данните от старата база. Мога да направя и връзките между таблиците, но не съм сигурна как да прехвърля данните от старата в новата база. Опитах с copy и paste, но нещо все не се получава. Излизат ми съобщения за грешки от рода на "This will create duplicate entries..." и т.н., когато вмъквам колона от старата таблица в колона от новата. Новата е празна, така че би трябвало просто да приеме данните... или не? :)
Опитах и да импортирам старите таблици и това се получи, но вече бях направила изцяло дизайна на новите и сега ще изгубя още толкова, докато го повторя. Предпочитам да прехвърля само данните по някакъв начин.
Извинявам се, ако звуча глупаво или ако не давам достатъчно информация, но ако имате уточняващи въпроси, ще отворя. Мога да изпратя и празния файл с новата база данни, ако трябва да някого, за да диагностицира проблема. 10х предварително.
| |
Тема
|
Re: Помощ за прехвърляне на данни между бази данни
[re: htmlgirl]
|
|
Автор | KГБ (Нерегистриран) |
Публикувано | 23.09.02 16:20 |
|
ами направи си заявка(query) от старата таблица ,в която да зададеш такива критерии, че заявката да върне тези данни които искаш да са в новата таблица. Заявката можеш да я направиш с Визард или с гравичния интерфейс
в режима Дезайн ( и без да знаеш SQL)
После можеш с копи/пейст да прехвърлиш данните от заявката в таблицата.
Mоже и да не е с копи/пейст ,а заявката да създава директно нова таблица или да пише във вече съществуваща,но не знам в Акцеса как точно се прави,ако някой каже как се прави и на мен ще ми е интересно.
| |
Тема
|
Re: Помощ за прехвърляне на данни между бази данни
[re: htmlgirl]
|
|
Автор |
Valeri () |
Публикувано | 23.09.02 16:31 |
|
Колкото до проблема с вкарването на новите данни и съобщението "This will create duplicate entries..." , предполагам, че новата ти база данни не е нормализирана. Предполагам също, че можеш да напарвиш някакъв дъмп или експорт на старата база данни.
| |
|
Towa stawa mnogo lesno s SQL i nqkakyw ezik za programirane koito ima wyzmovnosti da polzwa bazi danni.
Ako imash nuvda prati mi lichna belevka i moga da ti napisha java programka koqto da ti prawi prehwyrlqneto. Ne znam obache kak tochno shte se naprawi logikata za otstranqwane na powtarqshtata se informaciq i kak shte se sintezira w nowite tablici.
Pishi mi lichna belevka ako imash velanie da probwam da ti pomogna.
Neshto ne wlizam mnogo w tozi klub.
Pozdrawi
| |
Тема
|
Re: Помощ за прехвърляне на данни между бази данни
[re: htmlgirl]
|
|
Автор | тъп4o (Нерегистриран) |
Публикувано | 24.09.02 18:34 |
|
Леле тук става страшно - Java с Аccess!
Ето няколко неща, които може да ти помогнат (ако все още не си решила проблема):
1. Трябва таблиците ти да са нормализирани
Създай няколко таблици с по 2 полета - например Фирма(text)/ID(byte - 0-255 май такъв беше типа в Access, т.е някакво число слагаш за всяка фирма), Клиент/ID и т.н.
2. В главната таблица не слагай никакви PrimaryKey или Relationships (все още).
Ако те мързи да пишеш Update-queries, можеш да използваш Edit/Find And Replace (при отворена таблица), за да замениш имената на фирмите със съответното им ID(число). И така за всякa колона от главната таблица, която има външен ключ(Relationship) към таблица с имена/ID...
3. Вкарай информацията в главната таблица (или таблици, зависи от дизайна) - дори и да има повторения няма да ти излезе съобщение.
4. Опитай сега да сетнеш PrimaryKey и Relations(връзките към другите таблици) - ако ти излезе съобщение=>значи имаш повтаряща се информация. Как да разбереш най-лесно в кои редове има повторения?
Ами просто копирай структурата на главната таблица (без данните), т.е създай нова празна таблица и set-ни primaryKey и връзките към другите таблици. Сега с Copy/Paste постави данните в празната таблица. Access ще изпищи, че има повторения и че повторенията ще ги постави във временна таблица. Сега отвори таблицата, която Access е създал с грешните записи.
Виж кои са точно тези грешни записи. Ако не ти трябват ги изтрий (или ги коригирай, ако има грешна информация) от таблицата, която все още няма Set-нати PrimaryKey/Relationships.
5. Сега вече постави PrimaryKey/Relationships и няма да имаш проблеми.
А в дългосрочен аспект е хубаво да прекарваш повече време в четене...
Айде успех!
| |
|
|
|
|