SQLRU.net
Разработка приложений баз данных

Начало » Программирование » Delphi » Схема БД по умолчанию для FireDac (как задать схему по умолчанию для всех FDQuery)
Схема БД по умолчанию для FireDac [сообщение #2289] Fri, 19 May 2023 00:57 Переход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
Доброго дня. В базе MS SQL 2022 есть несколько схем, которые содержат одинаковые таблицы с разными данными - типа фирмы, которые юридически разные, но потом в отчетах их показатели надо объединять. Каждая фирма крутится в своей схеме. Мой экзешник должен задавать для всей программы схему, с которой он будет в текущем сеансе работать. Можно в запросе указывать через макросы нужную схему, но это имхо дурной способ - легко где-то опустить его указание, да и загромождение кода будет немалое. Есть более изящный способ указать для FDConnection схему по умолчанию?
Пробовал через
procedure TwhDM.conMainBeforeConnect(Sender: TObject);
begin
  conmain.Params.Add('MetaDefSchema=ba');
  conmain.Params.Add('MetaCurSchema=ba');
end;
не помогает, все равно схему не подцепляет, работает только при явном указании схемы в запросе. Не верю, что это невозможно Smile

[Обновления: Fri, 19 May 2023 01:01]

Известить модератора

Re: Схема БД по умолчанию для FireDac [сообщение #2290 является ответом на сообщение #2289] Fri, 19 May 2023 12:05 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
Как-то это криво с точки зрения бд. Если таблицы одинаковые и вы потом все объединяете, то я бы все хранил в одной схеме с одними и теми же таблицами. А при работе выбирал из справочника компанию или группку компаний и по этому признаку все и правил. Схемы нужны для организации доступа в первую очередь.
И да, при наличии одинаковых таблиц в разных схемах имя схемы в запросе указывать необходимо.
Re: Схема БД по умолчанию для FireDac [сообщение #2291 является ответом на сообщение #2290] Fri, 19 May 2023 14:48 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 328
Зарегистрирован: August 2022
Senior Member
https://learn.microsoft.com/en-us/u-sql/ddl/schemas/use-sche ma
Re: Схема БД по умолчанию для FireDac [сообщение #2292 является ответом на сообщение #2289] Fri, 19 May 2023 15:14 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 769
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
GrigoryFomin
. В базе MS SQL 2022 есть несколько схем, которые содержат одинаковые таблицы с разными данными
кто проектировал?
Re: Схема БД по умолчанию для FireDac [сообщение #2296 является ответом на сообщение #2291] Fri, 19 May 2023 18:52 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
SD писал(а) Fri, 19 May 2023 14:48
https://learn.microsoft.com/en-us/u-sql/ddl/schemas/use-sche ma
Это же для U-SQL.
Re: Схема БД по умолчанию для FireDac [сообщение #2298 является ответом на сообщение #2292] Fri, 19 May 2023 21:34 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
МП писал(а) Fri, 19 May 2023 15:14
GrigoryFomin
. В базе MS SQL 2022 есть несколько схем, которые содержат одинаковые таблицы с разными данными
кто проектировал?
сам придумал Smile)))) а разве плохое применение, чтоб заизолировать разные данные?
Re: Схема БД по умолчанию для FireDac [сообщение #2299 является ответом на сообщение #2298] Fri, 19 May 2023 21:48 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
просто у хостеров с MySQL разные схемы - разделяют пользователей хостинга - каждый в своей песочнице крутится, не мешая другим. Почему не использовать это для независимых фирм? А аналитика будет обращаться к ним для объединения. Можно, конечно, разные БД завести, но разве суть меняется от этого? Просто некоторые справочники общие для разных схем, их занес в схему COMMONS. Итого 2 фирмы, 3 схемы, свободно можно между их таблицами взаимодействовать. Чем плоха идея? Там плюс к этому - у каждой фирмы свои ключевые поля IDENTITY, они не пересекаются в фирмах.

[Обновления: Fri, 19 May 2023 21:50]

Известить модератора

Re: Схема БД по умолчанию для FireDac [сообщение #2300 является ответом на сообщение #2292] Fri, 19 May 2023 21:51 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
МП писал(а) Fri, 19 May 2023 15:14
GrigoryFomin
. В базе MS SQL 2022 есть несколько схем, которые содержат одинаковые таблицы с разными данными
кто проектировал?
вы предлагаете в общих таблицах (журналах и справочниках) завести еще поле FirmID, чтоб по нему дополнительно разделять данные? Мне кажется, схемам тут самое то.

[Обновления: Fri, 19 May 2023 21:52]

Известить модератора

Re: Схема БД по умолчанию для FireDac [сообщение #2302 является ответом на сообщение #2300] Sat, 20 May 2023 13:08 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
А теперь представьте что вам нужно добавить еще одну фирму. Ваши действия? Создаете еще одну схему и кучу таблиц?
А если в итоге этих фирм станет 200? У вас будет 201 схема? Как будете строит итоговые отчеты?

Хостеры разделяют клиентов, которые, в принципе, друг про друга знать ничего не должны.
Re: Схема БД по умолчанию для FireDac [сообщение #2304 является ответом на сообщение #2302] Sat, 20 May 2023 15:19 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
BlackEric писал(а) Sat, 20 May 2023 13:08
А теперь представьте что вам нужно добавить еще одну фирму. Ваши действия? Создаете еще одну схему и кучу таблиц?
фbрмы всего 2 и они уже 20 лет работают, у них есть общие пользователи, есть общие скидочные карты. А заведение для каждой фирмы отдельной базы - не равно новой схеме - тоже ведь надо таблицы создавать по-новой?
Re: Схема БД по умолчанию для FireDac [сообщение #2305 является ответом на сообщение #2304] Sat, 20 May 2023 18:52 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
А если не уходить в оффтоп - почему не срабатывают?:
conmain.Params.Add('MetaDefSchema=ba');
conmain.Params.Add('MetaCurSchema=ba');
Re: Схема БД по умолчанию для FireDac [сообщение #2307 является ответом на сообщение #2305] Sun, 21 May 2023 13:02 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
Если в TFDConnection в design time задать тоже не работает?
Re: Схема БД по умолчанию для FireDac [сообщение #2309 является ответом на сообщение #2307] Sun, 21 May 2023 14:08 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
BlackEric писал(а) Sun, 21 May 2023 13:02
Если в TFDConnection в design time задать тоже не работает?
тоже не работает. Sad
Re: Схема БД по умолчанию для FireDac [сообщение #2314 является ответом на сообщение #2309] Mon, 22 May 2023 09:58 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
Баг?
Re: Схема БД по умолчанию для FireDac [сообщение #2318 является ответом на сообщение #2298] Mon, 22 May 2023 12:44 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 769
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
GrigoryFomin
МП
GrigoryFomin
. В базе MS SQL 2022 есть несколько схем, которые содержат одинаковые таблицы с разными данными
. кто проектировал?
. сам придумал Smile))))
сперва создаём себе трудности, а потом мужественно пытаемся их преодолеть.
что и от кого ты собрался изолировать?
Re: Схема БД по умолчанию для FireDac [сообщение #2326 является ответом на сообщение #2318] Mon, 22 May 2023 21:37 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
МП писал(а) Mon, 22 May 2023 12:44

что и от кого ты собрался изолировать?
2 фирмы со своими журналами, реестрами, справочниками, нумерацией - у них все свое. Есть отдельная общая для них схема, где хранятся общие справочники+обобщающая бухгалтерия, у нее должен быть доступ к обоим схемам, чтоб делать суммирующие отчеты. Чем плоха идея?
Re: Схема БД по умолчанию для FireDac [сообщение #2332 является ответом на сообщение #2326] Tue, 23 May 2023 12:57 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 769
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
GrigoryFomin
. 2 фирмы со своими журналами, реестрами, справочниками, нумерацией - у них все свое. Есть отдельная общая для них схема, где хранятся общие справочники+обобщающая бухгалтерия, у нее должен быть доступ к обоим схемам, чтоб делать суммирующие отчеты.
Чем плоха идея?
всем.
Re: Схема БД по умолчанию для FireDac [сообщение #2358 является ответом на сообщение #2332] Tue, 23 May 2023 20:30 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
тогда как лучше, чтоб меньше гемора с юзерами и правами было, ну и с бэкапом тоже?
Re: Схема БД по умолчанию для FireDac [сообщение #2363 является ответом на сообщение #2358] Wed, 24 May 2023 11:49 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 282
Зарегистрирован: June 2022
Senior Member
А бекап тут причем? Бекап то всей бд сразу делается.
Re: Схема БД по умолчанию для FireDac [сообщение #2367 является ответом на сообщение #2358] Wed, 24 May 2023 14:43 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 769
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
GrigoryFomin
. тогда как лучше, чтоб меньше гемора с юзерами и правами было, ну и с бэкапом тоже?
для "журналов", "реестров", "справочников", делай вьюхи.
Re: Схема БД по умолчанию для FireDac [сообщение #2371 является ответом на сообщение #2363] Wed, 24 May 2023 21:07 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
BlackEric писал(а) Wed, 24 May 2023 11:49
А бекап тут причем? Бекап то всей бд сразу делается.
я так понимаю, мне советуют делать каждой фирме свою базу?
Re: Схема БД по умолчанию для FireDac [сообщение #2372 является ответом на сообщение #2371] Wed, 24 May 2023 21:09 Переход к предыдущему сообщениюПереход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 90
Зарегистрирован: April 2023
Member
Если вы предлагаете делать все в одной таблице с добавлением BrandID - имхо то вызовет тормоза лишние - лишнее поле индекса, и все такое - выборка будет больше, чем из разных таблиц. Не так ли?
Re: Схема БД по умолчанию для FireDac [сообщение #2373 является ответом на сообщение #2372] Thu, 25 May 2023 03:18 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 188
Зарегистрирован: September 2022
Senior Member
GrigoryFomin писал(а) Wed, 24 May 2023 21:09
Если вы предлагаете делать все в одной таблице с добавлением BrandID - имхо то вызовет тормоза лишние - лишнее поле индекса, и все такое - выборка будет больше, чем из разных таблиц. Не так ли?
Всё правильно, наверняка будут адские тормоза, не слушай никого; они начинались дэйтов и коддов, теперь умничают, ты сперва от дублирования таблиц избавишься, потом они тебя нормализации научат и искусственным ключам а потом и на Firebird смигрировать подобьют!
Re: Схема БД по умолчанию для FireDac [сообщение #2383 является ответом на сообщение #2373] Thu, 25 May 2023 11:59 Переход к предыдущему сообщению
МП в настоящее время в онлайне  МП
Сообщений: 769
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
Very Happy Very Happy Very Happy Very Happy
Предыдущая тема: ChatGPTWizard
Следующая тема: Lazarus dll debug
Переход к форуму:
  


Текущее время: Thu Mar 28 18:58:45 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01205 секунд