powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прошу помощи со схемой данных.
25 сообщений из 384, страница 8 из 16
Прошу помощи со схемой данных.
    #38100518
Фотография alex999kon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо как всегда огромное!

Я не перестаю это делать (читать, искать и пробовать) но что-то где-то не так, видать по другому я заточен....
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100519
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
корневой уровень

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 
   SELECT 
      nd.iNodeElementID,               -- ID узла
      iElementID_Root = nd.iElementID, -- ID изделия, самого верхнего элемента
      nd.iElementID_Parent,            -- ID элемента
      nd.iElementID,                   -- ID элемента
      nd.sElementCode,                 -- Код элемента
      nd.sElementName                  -- Название элемента
   FROM dbo.qrNodeElement nd 
   WHERE nd.iElementID_Parent IS NULL



Соединение корневого уровня со всеми следующими (рекурсивно)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
WITH NodeLevel
(
   iNodeElementID, iElementID_Root, iElementID_Parent, iElementID, 
   sElementCode, sElementName
) 
AS 
(

   -- Первый корневой уровень
   SELECT 
      nd.iNodeElementID,               -- ID узла
      iElementID_Root = nd.iElementID, -- ID изделия, самого верхнего элемента
      nd.iElementID_Parent,            -- ID элемента более верхнего уровня (более крупная сборка), NULL для изделий
      nd.iElementID,                   -- ID элемента (ID самого изделия)
      nd.sElementCode,                 -- Код элемента
      nd.sElementName                  -- Название элемента
   FROM dbo.qrNodeElement nd 
   WHERE nd.iElementID_Parent IS NULL -- Условие отбора самых верхних изделий
   
   -- Все последующие уровни
   UNION ALL SELECT 
      nd.iNodeElementID,               -- ID узла
      NodeLevel.iElementID_Root,       -- ID изделия, самого верхнего элемента
      nd.iElementID_Parent,            -- ID элемента более верхнего уровня (более крупная сборка)
      nd.iElementID,                   -- ID включаемого элемента (более мелкая сборка или деталь) 
      nd.sElementCode,                 -- Код элемента
      nd.sElementName                  -- Название элемента
   FROM 
      dbo.qrNodeElement nd 
      JOIN NodeLevel ON nd.iElementID_Parent = NodeLevel.iElementID
)
SELECT 
   iNodeElementID,
   iElementID_Root,
   iElementID_Parent, 
   iElementID, 
   sElementCode, 
   sElementName
FROM NodeLevel



По приведенному куску вопросов быть не должно. Все абсолютно понятно.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100521
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex999konЯ не перестаю это делать (читать, искать и пробовать) но что-то где-то не так, видать по другому я заточен....
Набери себе исполнителей, стань их начальником.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100527
Фотография alex999kon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если бы все это зависело только от меня. Тема создания отдела АСУП стоит давно только вот подвижек пока что нет. Более того у нас в конторе возлагают очень большие надежды на 1С, флаг им в руки, сейчас пытаются на уровне встреч с представителями решить вопросы пл производству (все остальное в том числе финансы и бух только после этого), наблюдаю(очень мало участвую) как все танцы у них идут не от факта производства а от отчетного документа (все с ног на голову, впрочем как всегда), посмотрим, моя програ пока работает и сдаваться я не собираюсь...
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100532
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex999konвсе танцы у них идут не от факта производства а от отчетного документа (все с ног на голову, впрочем как всегда)

Это парадигма одынэса. Тебе нужна ERP. Если руквоводство этого не поймет, дальше можно не бить стену лбом - толку не будет. Надо дождаться чтобы настал писец и потребность в ERP дошла до топов.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100538
Фотография alex999kon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что в прочем я и делаю, точнее не делаю ничего, само развалится...

как сказал один грамотный человек - "Хочешь решить проблему - создай проблему", там посмотрим, жаль только времени и затраченных денег, опять же не моих... но все равно жалко
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100543
ИВП.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-любительПрочитать в bol про рекурсивные запросы.
Не будете ли Вы так добры объяснить, что такое "bol"?
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100544
Фотография alex999kon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
электронная справочная библиотека (большущий хелп) устанавливается как дополнение к офису, скачать с мсдн микрософтя. там много всего полезного, но иногда замудрено слегка, советую еще и книги по аксу и базам.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100552
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИВП.,

bol - абыр от book on line )
при установке офиса не ставится. устанавливается (опционально) при установке бесплатного MSDE (Microsoft SQL Server Desktop Engine), который в комплекте офиса (по крайней мере 2003-го, остальные не помню)
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100555
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вспомнил очень полезная помощь по всем вопросам программирования в виндоус - msdn. ставится при установке mssql. в свое время качнул инсталяцию msdn2003 (кажется 1.7Gb). работает шустро и автономно от продукции ms, что удобно
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100556
Фотография alex999kon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в поиске набрать BOL скачать установить и все получится!!
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100628
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительУ вас t-sql. Хранить адрес не нужно.
Удивлен. А зачем тогда вообще это поле в таблице NodeElement?
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38100735
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это смотря какая у вас версия базы. Сначала, в mdb это поле было. При первом переносе в MS SQL оно осталось как рудимент. В тех листингах, что вылкладывал сегодня поля в таблице нет - оно вычисляется на лету.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101067
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь понял.
Помогите пожалуйста разобраться с одной проблемой.
Имеются в наличии файлы бухгалтерской базы данных в *.dbf (FoxPro), каждому файлу соответствует одна таблица.
Эти файлы необходимы мне в моей базе.
1. Я закидываю файлы *.dbf в папку с моей базой (на прямую через локальную сеть к бухгалтерии не присоединиться, сети нет и не планируется).
2. Импортирую их в мою базу данных в виде связанных таблиц (для MS SQL получаю соответствующие представления). Так как в бухгалтерской базе все эти таблицы завязаны в единую схему данных, а представления связать в схему не представляется возможным (а кроме того многие поля импортируются не совсем корректро, не те типы данных, хотя и близкие), то
3. Создаю в моей базе аналогичные таблицы с соответствующей структурой и завязываю их в единую схему.
4. Создаю хранимую процедуру на синхронизацию созданных таблиц с таблицами бухгалтерии где для каждой таблицы первым действием производится удаление данных из всей таблицы, вторым - вставка данных из соответствующей таблицы бухгалтерии.
Примерно так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 
ALTER Proc [dbo].[Sinchr] 
AS
Begin
  Begin Tran
    -- Синхронизировать данные в таблице WRK1
    DELETE FROM dbo.[WRK1] -- Очистить таблицу WRK1

    INSERT INTO dbo.[WRK1] (NUMSK, BU, HIDDEN1, HIDDEN2, HIDDEN3, HIDDEN4, HIDDEN5, HIDDEN6, HIDDEN7, HIDDEN8, HIDDEN9, NLOC, NUMBU, ISNX, NAME44, ISROS, FLAG, KODD, NAME43, NAME42) 
                   SELECT Cast(NUMSK as int), BU, HIDDEN1, HIDDEN2, HIDDEN3, HIDDEN4, HIDDEN5, HIDDEN6, HIDDEN7, HIDDEN8, HIDDEN9, Cast(NLOC as int), Cast(NUMBU as int), ISNX, NAME44, ISROS, FLAG, Cast(KODD as decimal(8,3)), NAME43, NAME42 
                   FROM dbo.[АДП___WRK1]               
 
     -- Синхронизировать данные в таблице WRK2
    DELETE FROM dbo.[WRK2] -- Очистить таблицу WRK2  

.....................................

 



... В общем после запуска этой процедуры на синхронизацию уходит ... часов 8-10, что не приемлемо. Это всего 17 таблиц, из которых только две достаточно объемны и содержат около 200 тысяч записей, остальные таблицы не превышают нескольких сот записей.
Вопрос вот в чем - когда работал только с Акцесс при подобном же подходе синхронизация занимала минут пять-десять, не понятно почему в MS SQL это происходит так долго, и как можно поправить это.

Второй вопрос по самому подходу. Фактически каждый раз когда я провожу синхронизацию (на дню несколько раз) получается что я полностью удаляю все существующие данных из своих соответствующих таблиц, и вновь вношу обновленные из таблиц бухгалтерии. ... Ну это что бы наверняка, ничего не упустить. Но и те же десять минут обновления и ожидания порой напрягают (хотя сейчас я был бы счастлив и к ним вернутся, потому что несколько часов ожидания это уже совсем ни к черту). А удаление всех данных и восстановление их все же избыточны. В бухгалтерии из всех тысяч записей, за день меняются может быть только десяток, ну и новых добавляется пара сотен. По идее надо бы только отслеживать новые и обновленные записи и вносить изменения в мои таблицы не удаляя из них все данные. Но если отслеживать новые достаточно просто (по ключу), то что там бухгалтера наменяли уже сложнее, это как то сканировать все таблицы бухгалтерии надо и сверять с существующими записями в таблицах моей базы. Вопрос, вот такое сканирование каждый раз не займет ли еще больше времени в результате?
Как бы вы вообще поступили при такой вот необходимости использовать чужие таблицы, к которым нет прямого доступа (только лично сходить и на флешку скопировать).
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101071
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще примечание. Таблицы бухгалтерии сделаны не очень оптимально :( Я очень много времени потратил пока разобрался как это все работает. Ключи преимущественно составные. А пара таблиц (одних из самых важных для меня) вообще не имеют первичного ключа, и более того его определить там довольно сложно. Многие записи просто повторяются. В общем это большая моя головная боль. И как в таких таблицах (как раз таки тех где несколько сот тысяч записей (это приход/расход)) искать что было изменено .... В общем поэтому и выбрал вариант с полным удалением всех данных из своих таблиц и вставкой данных из обновленной бухгалтерской таблицы.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101076
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: как так получается что таблицы без ключа... насколько я понял просто некоторые данные считаются нарастающим итогом (коррекции, остатки). Некоторые же другие являются данными по перемещениям по складам. То есть приходит какой-то товар - получаем изначальный приход с кодом товара, и партией (фактически это ключ), а все перемещения по складам дальше идут с тем же кодом товара и партией (отсюда дублирование ключа)... в общем кто занимается базами данных бухгалтерии наверное лучше поймет как это все происходит, я это представляю себе не лучше чем здесь объяснил, мне эти все перемещения в моей работе нафиг не нужны. ... И это понимание к сожалению никаким образо моим проблемам помочь не может.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101080
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзерлонерТеперь понял.
Помогите пожалуйста разобраться с одной проблемой.
Имеются в наличии файлы бухгалтерской базы данных в *.dbf (FoxPro), каждому файлу соответствует одна таблица.
Эти файлы необходимы мне в моей базе.
...
они вам необходимы, наверняка, только как справочная информация - вы же в них ничего не будете менять, правильно понимаю ?

ненужно значит их импортировать никуда !
нужно пользоваться линкованными (или в случае МС СКЛ Сервера - линкед сервер на них создать)
а заодно разобратся с этим
Изерлонер(а кроме того многие поля импортируются не совсем корректро, не те типы данных, хотя и близкие),
наверняка, ведь импортруете их как какой-нибудь ДБэйс, вместо того, что бы поставить нормальный VFP драйвер, и связыватся через него ...
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101081
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваапще, MS SQL не должен тратить времени больше на импорт данных нежели аксесс. Надо пробовать разные методы импорта данных.

Попробуйте сделать так.

Сделать Linked Server на дебеэфные файлики.
Сделать запросы, читающие данные из OpenQuery и явно приводящие все поля к нужным типам данным.
При каждлм импорте:
Удалить таблицы.
Создать заново таблицы оператором SELECT * INTO <таблица-приемник> FROM <запрос к OpenQuery>.
Создать на таблицы нужные индексы.

Время не должно быть больше чем в Аксесе. Если будет медленно - спрашивайте на форуме по MS SQL серверу.

Можно SSIS пакетом данные копировать. Но я больше люблю чистые t-sql скрипты.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101083
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
даа, и ещё одно,
вы бы, всё-таки, для этого вопроса создали бы новый топик ...

не уверен, я, что, например, Анатолий ( Киев ) , в этот ваш 8-ми страничный "блог" "заглядывает"...
а он бы по дбф-ам, наверняка бы смог что-то посоветовать ...
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101093
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112,

менять не меняю, но данные таблиц очень плотно использую в своих запросах, а так же идет сверка данных по расходу с нормативами расхода - это главная часть моей работы. И вывод различной информации куда/что/когда списано и т.п.

Я не совсем понимаю что такое "линковка"
связывание осуществлял двумя способами
1. Из проекта АДП Акцесс 2003 - "связанные таблицы", dbase5

2. Из MS SQL - ПКМ на базе/задачи/импорт данных далее выбирал импортировать из эксель - это для файлов эксель. dbf так не пробовал, потому что первый способ пошел, да и затруднился с выбором сервера .... или что там идет.

В идеале мне необходимы бухгалтерские таблицы в моей базе, с правильными типами данных (кстати dbf viewer их тоже не корректно определяет, и что было заложено программистом изначально трудно понять, я "правильные" типы сам расставляю исходя из того что вижу.)
Связанные в единую схему данных, с которой уже можно работать проводя запросы (выборка данных, Вы правы, менять мне в них ничего не нужно... но есть вероятность что понадобится скоро связь с один ко многим с одной из моих таблиц)
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101110
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про линкед сервера и оупенквери все разжевано-пережевано. Просто воспользуйтесь.
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101113
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101114
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT * FROM OPENQUERY (DBF, 'SELECT * FROM dbf4')
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101115
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изерлонер,

так, "бухгалтерской базы данных" - это 1С ?
если 1С - это НЕ dbase5 ! это Визуал ФоксПро
тут, где-то есть ссылка на драйвер - http://computerplus.com.ua/documents/Work_DBF_file.doc#VFP_Driver

Изерлонерчто было заложено программистом изначально трудно понять, я "правильные" типы сам расставляю исходя из того что вижу.)

если это 1С, в каталоге информ.базы есть файл с расширением DDS
в нём описаны все таблицы / поля БД
...
Рейтинг: 0 / 0
Прошу помощи со схемой данных.
    #38101118
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112Изерлонер,

так, "бухгалтерской базы данных" - это 1С ?

Нет. Там старая база под ДОС. Сделана в девяностые.
Простите у меня тут комп тупит по черному в результате моих запросов. Не успеваю ответить, проверить.
...
Рейтинг: 0 / 0
25 сообщений из 384, страница 8 из 16
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Прошу помощи со схемой данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]