powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оперативный файл и справочники. Автоматизация запросов.
25 сообщений из 154, страница 5 из 7
Оперативный файл и справочники. Автоматизация запросов.
    #35591133
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
korda
Поле description, к сожалению, поддерживается далеко не всеми БД. И да, Вы правы, оно мало помогает, когда количество языков более одного.
Ваш второй подход поддерживает любое количетсво языков, но не кажется ли Вам, что тексты, - часть пользовательского интерфейса, а не базы данных? Например, чтобы обеспечить моему переводчику возможность исправлять орфографию, я должен предоставлять ему соединение с БД? Я храню все тексты в файлах ресурсов. Кроме текстов, есть ещё иконки, звуки и прочее, что тоже является объектом локализации. Например, при входе в русскоязычную, программу проигрывается слово Привет, а в англоязычную поется - Hello. Читал где-то, что вид почтового ящика российского типа не приемлем в США и наоборот, так как их внешний вид совершенно различен. Таких примеров может быть множество. Только вчера видел english-версию одной программы, где на иконке кнопки сортировки были русские буквы "А" и "Я", как эта иконка "поможет" человеку, не знающему русский, понятно.
Можете хранить в таблице не сами названия а их уникальные идентификаторы. Что бы в дальнейшем в Интерфейсе по идентификатору осуществлять замену. Создавать текстовые фалы с этими идентификаторами и пусть переводчик переводит.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35591377
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korda
- Нет проблем с синтаксисом, - всегда генерируется синтаксически правильный запрос;


Синтаксически - да. Но если допустить ляп в метаданных, то он молча будет неправильным логически. А это отловить куда тяжелее.

korda
- Возможность рефакторинга (если мне нужно переименовать таблицу или поле, то я делаю это лишь в одном месте);


Чего-то я не понял. Ну, переименуйте Person в Man в следующем примере. Или Вы предлагаете оствить в тексте объект Person, и думаете, что это способствует удобочитаемости? По мне так лучше Search/Replace.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
builder1.addColumn(Person.NAME.name(), V_Person.PR_NAME.name());
builder1.addColumn(Person.AGE.name(), V_Person.PR_AGE.name());
builder1.addJoin(Person.WORKPLACE1_ID.name(), Tables.WORKPLACE1_VIEW.name());
builder1.addColumn(COL_ID, V_Person.PR_1_ID.name());
builder1.addColumn(Workplace1.TYPE.name(), V_Person.PR_1_TYPE.name());
builder1.addJoin(Person.WORKPLACE2_ID.name(), Tables.WORKPLACE2_VIEW_JOIN.name());
builder1.addColumn(V_Workplace2.W2_TYPE.name()+"||"+V_Workplace2.W2_TYPE.name(), V_Person.PR_2_TYPE.name());
builder1.addColumn(V_Workplace2.W2_SIZE.name(), V_Person.PR_SIZE.name());
builder1.addJoin(Person.WORKPLACE2_TWO_ID.name(), Tables.WORKPLACE2_VIEW_JOIN.name());
builder1.addColumn(V_Workplace2.W2_TYPE.name(), V_Person.PR_2_TWO_TYPE.name());
builder1.addJoin(Person.OTHER_PERSON_ID.name(), Tables.PERSON_VIEW.name());
builder1.addColumn(Person.NAME.name(), V_Person.PR_OTHER_NAME.name());
String sql1 = builder1.build(Tables.PERSON_VIEW_JOIN.name());

korda
А подсветка синтаксиса?


В FAR есть.

korda
А отлавливание синтаксических ошибок по мере набора?


Мне кажется, проверять ошибки имеет смысл, только когда запрос набран полностью. Набрали - нажали - проверили.

korda
А подсказки во время набора?


А Вы считате, что в классическом синтаксисе SQL это принципиально невозможно? СтОит ли городить объектную надстройку ради этого?

korda
А удобная работа по сравнению версий?


Ресурсные файлы с SQL-запросами лежат в CVS наравне с другими исходниками.

korda
А проверка орфографии в комментариях?


Если это так существенно, можно набирать запросы в MS Word. А "скрепка с глазами" пусть синтаксис подсказывает :-)
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35592942
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhas
Можете хранить в таблице не сами названия а их уникальные идентификаторы. Что бы в дальнейшем в Интерфейсе по идентификатору осуществлять замену. Создавать текстовые фалы с этими идентификаторами и пусть переводчик переводит.
Нечто подобное я и делаю, только идентификаторы у меня тоже находятся за пределами БД, т.е. в программе. Мне нравится такой подход, потому что при нем нет НИКАКОЙ связи между БД и интерфейсом. Завтра кто-то захочет написать свой интерфейс, со своими заголовками полей и своим принципом хранения ресурсов, зачем ему мои идентификаторы?
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593008
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Cane Cat Fisher

korda
- Возможность рефакторинга (если мне нужно переименовать таблицу или поле, то я делаю это лишь в одном месте);

Cane Cat Fisher
Чего-то я не понял. Ну, переименуйте Person в Man в следующем примере. Или Вы предлагаете оствить в тексте объект Person, и думаете, что это способствует удобочитаемости? По мне так лучше Search/Replace.

Здесь я должен отметить, что пример написан на Java, в котором в некоторых случаях можно прочитать идентификатор в строку. (Те, кто пишет на Java не возмущайтесь, пожалуйста, речь идет о "философском" объяснении, а не о техническом)

Код: plaintext
1.
2.
3.
// На самом деле эта программа не пройдет компиляцию
Integer myKillerInteger =  2 ;
print("This is " + myKillerInteger.name());
Данная программа отпечатает:
Код: plaintext
"This is myKillerInteger"

По поводу остальных вещей.
Можно набирать запросы в FAR, пользоваться command-line CVS клиентом, проверять орфографию вордом,
но можно также все это делать находясь в среде разработки. Я с уважением отношусь к обоим подходам, так как каждый выбирает то, что ему больше по душе. Лично я, поначалу быв сторонником первого, затем стал сторонником второго.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593031
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот люди, которые любят вытаскивать данные о связях из системных таблиц , как вы будете поступать в том случае, когда имеете дело не с объектами TABLE , а с какими-нибудь супер-сложными VIEW , ссылочные связи между которыми определить технчески невозможно по сути?
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593090
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kordaА вот люди, которые любят вытаскивать данные о связях из системных таблиц , как вы будете поступать в том случае, когда имеете дело не с объектами TABLE , а с какими-нибудь супер-сложными VIEW , ссылочные связи между которыми определить технчески невозможно по сути?
Так вы же не пишете супер универсальную штуку. Давайте тогда и хранимки будем использовать.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593104
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaА вот люди, которые любят вытаскивать данные о связях из системных таблиц , как вы будете поступать в том случае, когда имеете дело не с объектами TABLE , а с какими-нибудь супер-сложными VIEW , ссылочные связи между которыми определить технчески невозможно по сути?А что такое "ссылочные связи между VIEW" ?
это вобще бред, если честно.

Ну а если сильно хочется - то можно из сервера вытащить текст запроса и построить по нему все необходимые зависимости.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593123
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhaskordaА вот люди, которые любят вытаскивать данные о связях из системных таблиц , как вы будете поступать в том случае, когда имеете дело не с объектами TABLE , а с какими-нибудь супер-сложными VIEW , ссылочные связи между которыми определить технчески невозможно по сути?
Так вы же не пишете супер универсальную штуку. Давайте тогда и хранимки будем использовать.

Нет, я как раз пишу, пусть не супер универсальную, но довольно универсальную штуку.
Единственное(насколько я вижу) оставшееся на сегодняшний день ограничение, так это то, что таблица со справочниками и с самой собой может быть связана лишь по ключу, состоящему из одного поля. Если учесть, что любые связи на основе суррогатных ключей дают именно такую картину, то получается довольно универсальная штука.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593158
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelykordaА вот люди, которые любят вытаскивать данные о связях из системных таблиц , как вы будете поступать в том случае, когда имеете дело не с объектами TABLE , а с какими-нибудь супер-сложными VIEW , ссылочные связи между которыми определить технчески невозможно по сути?А что такое "ссылочные связи между VIEW" ?
это вобще бред, если честно.

Ну а если сильно хочется - то можно из сервера вытащить текст запроса и построить по нему все необходимые зависимости.

>>это вобще бред, если честно.
Так я об этом и "пою".
Есть связь, между таблицами Заказы и Клиенты, на основе этих таблиц построены два VIEW, которые "логически" связаны между собой. Чтобы програмно выявить подобные связи нужно строить анализатор для VIEW.

>>Ну а если сильно хочется - то можно из сервера вытащить текст запроса и построить по нему все необходимые зависимости.
Это и есть анализатор. Понятно, что заниматься им бесперспективно;
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593170
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот скажите - как вяжется вот это:
kordaНет, я как раз пишу, пусть не супер универсальную, но довольно универсальную штуку.вот с этим:
kordaМожно набирать запросы в FAR, пользоваться command-line CVS клиентом, проверять орфографию вордом,
но можно также все это делать находясь в среде разработки . Я с уважением отношусь к обоим подходам, так как каждый выбирает то, что ему больше по душе. Лично я, поначалу быв сторонником первого, затем стал сторонником второго .Вы хорошо понимаете, что написав такую штуку вы низведете среду разработки до обычного редактора, потому что по вашим метаданным - он ничего не сможет вытащить и показать?

Следовательно - все проверки будут возможны только в Runtime-е, а эти ошибки гораздо хуже отлавливаются.

Я в свое время делал двуязычный интерфейс, который в каждой форме перегружал все лэйблы, выпадающие списки итд. с одного языка на другой.
Находить ошибки на несоответствие названий - было крайне трудно.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35593211
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelyВы хорошо понимаете, что написав такую штуку вы низведете среду разработки до обычного редактора, потому что по вашим метаданным - он ничего не сможет вытащить и показать?

Ещё как понимаю! Я уже писал об этом, в посте, о недостатках подобной штуки.
Не только низвожу среду до редактора, но и принуждаю разработчика изучить мой доморощенный API.
Вы думаете, если я пишу, то я всем доволен? :) Я вообще не уверен, буду ли использовать этот построитель запросов или нет.
Пока что пробую, размышляю, выявляю, кстати, не без Вашей помощи, узкие места.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35594751
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут бы стоило пригласить когонить кто мучаетцца с EAV :))
для обольшинства систем низзя влоб брать и типа пытаться строить запросы по схеме, т.к. сущность может быть сложной , а название связующих элементов в сущности может вводить какую-нить Люсю просто в ступор уже на 2м или 3м уровне интеграции
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35596289
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы все же успокоился, и переформулировал задачу заново, чтобы ограничить область наших аппетитов. Например, так:

Проблема: при построении приложений заметное время приходится тратить на написание однообразных "типовых" SQL-запросов вида

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ВЫБРАТЬ {все | некоторые | все кроме некоторых} поля таблицы
   ИЗ таблицы
      с увязкой по  {всем | некоторым | все кроме некоторых} справочникам, 
         (в том числе многоуровневых), 
         (в том числе циклических - ограничиваясь первым уровнем),

- доставая из увязанных справочников {все | некоторые | все кроме некоторых | заданые по умолчанию | заданые по умолчанию кроме некоторых} поля
- добавляя вычисляемые поля
- добавляя дополнительные WHERE-условия.

Проблема заключается в том, что в тексте этих запросов в какой-то мере дублируется информация о структуре и связях таблиц в БД, так что при наращивании структуры, например, при добавлении полей в таблицы, особенно полей, ссылающихся на новые справочники, приходится дорабатывать значительную часть существующих запросов, причем дорабатывать чисто "механически".

Предлагается: создать генератор типовых SQL-запросов.

Требования: он должен брать информацию о структуре БД из некого репозитория метаданных (из системных таблиц БД, или каких-то промежуточных - на данном этапе неважно), и принимать аргументами только недостающую, "прикладную" информацию.

Например, есть есть таблицы man (полсотни полей, куча справочников), street и city, и требуется вывести имя человека с адресом, то в классическом случае мы пишем

Query1.SQL := '
SELECT street.name AS streetname, city.name AS cityname, man.housenum, man,apartnum, man.name AS manname
FROM man, street, city
WHERE man.street_id = street.id
AND street.city_id = city.id
AND man.id = :parameter';

А хочется написать как-то так:

Query1.SQL := SQLGenerator.Generate(
tablename => 'man',
fields_only => 'name, housenum, apartnum',
joins_only => 'street' // city по умолчанию подцепится само
where => "man.id = :parameter"
);

То есть, синтаксис аргументов генератора должен примерно соответствовать синтаксической конструкции ВЫБРАТЬ в начале сообщения, то есть поддерживать конструкции "все кроме" и т.д. Если продумать поведение по умолчанию, то можно значительно сократить объем текста для написания типового запроса, и облегчить, а то и вовсе исключить его модификацию при наращивании структуры БД.

Как уже говорили, автоматически названные поля могут быть довольно причудливыми. Поэтому напрашивается какая-то система автоматической привязки русских заголовков таким полям. Тогда неуклюжесть автоназваний останется внутри системы.

Вот в таком виде, как мне кажется, задача приобретает хоть какой-то полезный смысл. Главное - незачем дублировать метаданные в тексте программы.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597122
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Cane Cat Fisher
Вы знаете, как я ни крутил эту тему (в том числе, разумеется, и в направлении о котором Вы пишите), получаеются такие ограничения, что руки опускаются. Например, элементы вычисляемых полей должны фигурироывть каждый, со своим алиасом, в то время, как эти алиасы генерируются автоматически и на момент описания мета-данных не известны. Ну и много всего другого.
Что с этим делать - не знаю. Начал смотреть в сторону стандартного решения, где SQL-строка. Кстати, в связи с этим вопрос.
Где Вы держите SQL-и? Если в текстовом файле, то каким образом ссылаетесь на них из программы? Я ничего лучшего не придумал, как использовать знаки комментария, а затем указывать имя(ссылку)
Код: plaintext
1.
2.
3.
4.
--select_cust
SELECT * FROM CUSTOMERS

--delete_cust
DELETE FROM CUSTOMERS WHERE ID=?
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597299
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффтар!
Вы бы программиста клиентской части спросили - что ему лучше.
Или пользователя.

Это ж надо - в первом классе изучали - "слой данных не пересакается со слоем отображения".
Вы "какие-то списки полей в БД на клиенте отображаете"

Дерево пытаетесь в плоской вьюхе отобрназить.

Сначала нормализуете БД, потом денормализованное дерьмо пытаетесь на клиента тащить.

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597304
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korda
Где Вы держите SQL-и? Если в текстовом файле, то каким образом ссылаетесь на них из программы?
На сервере законы РСУБД.
На клиенте законы ООП.
Они не пересекаются ===> занимайтесь БД (хранением непротиворечивых данных с точки зрения бизнеса)
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597306
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bely
+1

Cane Cat Fisher
+1
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597393
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaэлементы вычисляемых полей должны фигурироывть каждый, со своим алиасом, в то время, как эти алиасы генерируются автоматически и на момент описания мета-данных не известны

Чтобы они были известны, нужно отказаться от промелькнувшей ранее мысли генерировать их со сквозным порядковым номером, и вернуться к вопросу о разумном алгоритме наименования алиасов. Если он будет очевидным, то прикинуть его "в уме" и понять имена будущих алиасов будет несложно.
В крайнем случае, можно значала описать SQL-запрос, просмотреть его текст в каком-то отладочном режиме, и посмотреть, что там за алиасы. А потом уже добавить вычисляемые поля.

А вообще, еще раз говорю - задача достаточно сложная. Если главная проблема - сэкономить время сейчас, то лучше и не влезайте.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597414
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123korda
Где Вы держите SQL-и? Если в текстовом файле, то каким образом ссылаетесь на них из программы?
На сервере законы РСУБД.
На клиенте законы ООП.
Они не пересекаются ===> занимайтесь БД (хранением непротиворечивых данных с точки зрения бизнеса)

2 Petro123

В небе - самолет.
У меня на столе чай.
Они не пересекаются ===> занимайтесь йогой (постижением мира с точки зрения себя)

P.S. Что-то я не понял, каким образом Ваши слова комментируют вопрос о способе хранения SQL-стрингов.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597506
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это был пост на все 5 старниц (прочитал)
IMHO
- не увидел проблему (в чём трудоёмкость?)
- На первой странице вы писали. что у вас был опыт построения системы с ХОРОШИМИ выводами. Вы даже "рукописи свои потом сожгли".
- фреймворк пишите?
авторАвтоматизация запросов.
для кого?


ЗЫ. Запрос я пишу и отлаживаю в PSQL Developer (там всё есть, я вас уверяю).
Затем либо делаю вьюху, либо ХП и дёргаю её с клиента за 2 клика мышкой в своей RAD

"Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения".
George Sand.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35597767
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaЯ ничего лучшего не придумал, как использовать знаки комментария, а затем указывать имя(ссылку)На клиенте - XML, на сервере - просто положить в таблички.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35598089
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123это был пост на все 5 старниц (прочитал)
IMHO
- не увидел проблему (в чём трудоёмкость?)
- На первой странице вы писали. что у вас был опыт построения системы с ХОРОШИМИ выводами. Вы даже "рукописи свои потом сожгли".
- фреймворк пишите?
авторАвтоматизация запросов.
для кого?


ЗЫ. Запрос я пишу и отлаживаю в PSQL Developer (там всё есть, я вас уверяю).
Затем либо делаю вьюху, либо ХП и дёргаю её с клиента за 2 клика мышкой в своей RAD

"Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения".
George Sand.


По большому счету проблема в интеграции языка SQL и языка программирования.
С точки зрения языка программирования SQL-предложения - обычные строки. Из этого вытекает то, что находясь в среде разработки программы, я не получаю НИКАКИХ сервисов в отношении SQL. Ни тебе подсветки синтаксиса, ни синтаксических проверок, ни списка таблиц/полей, в качестве подсказки и т.д. Получается, что работать с запросами, которые заданы в программе, как строки - неудобно. Если бы , был программный API к БД, всё бы решалось отлично. И такие вещи существуют. Всякие объектно-ориентированные БД. Но насколько я понял, они в достаточно зачаточном состоянии. Этот коммерческий трюк, когда приводят пример с таблицей, в которую нужно добавить/изменить/удалить запись, вызывает негативные эмоции. Потому, что когда дело доходит до чего-то более сложного, чем SELECT * FROM my_table , то неясно как это можно реализовать средствами системы. Ни примеров, ни документации... Полагаю. это от отсутствия видения проблемы в целом. Кстати, мое видение проблемы неоднократно менялось в ходе данного обсуждения. Люди видели проблемы там, где я их поначалу не замечал. В целом проблема философская. Если бы среда разработки каким-то образом знала, что данная строка используется в качестве SQL-предложения и давала бы все необходимые разработчику сервисы, то и не было бы проблемы. Кстати, существуют-же языки, в которых SQL фигурирует не в виде строки, а является частью синтаксиса. Вся наша дискуссия будет совершенно непонятна программисту FoxPro, так как в этом языке SQL - конструкция языка, и нет никакой необходимости в задании даже имен полей в виде строк, - все переменные.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35598103
korda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelykordaЯ ничего лучшего не придумал, как использовать знаки комментария, а затем указывать имя(ссылку)На клиенте - XML, на сервере - просто положить в таблички.

Если XML, то легко находить нужный запрос, это плюс. Но теряется выгода от применения средств разработки. Они ведь будут работать с *.sql файлами и не будут с *.xml
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35598492
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaPetro123
"Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения".
George Sand.


По большому счету проблема в интеграции языка SQL и языка программирования.
С точки зрения языка программирования SQL-предложения - обычные строки.

======= ЯП тоже отдельные строки. НЕотдельными их видит компилятор, у каждого ЯП _он свой_

Из этого вытекает то, что находясь в среде разработки программы, я не получаю НИКАКИХ сервисов в отношении SQL.

====== не вытекает. Вас не смущает вставка в Word рисунка выполненного в Фотошоп?

Ни тебе подсветки синтаксиса, ни синтаксических проверок, ни списка таблиц/полей, в качестве подсказки и т.д.

==== sql не ЯП разработки клиента. Это ЯП бизнес-логики сервера. БЛ должна быть на сервере. У каждого сервера свой IDE для SQL (я в нём работаю, и на клиенте у меня вызовы CRUD)

Получается, что работать с запросами, которые заданы в программе, как строки - неудобно. Если бы , был программный API к БД, всё бы решалось отлично. И такие вещи существуют.

=== см.выше

Всякие объектно-ориентированные БД. Но насколько я понял, они в достаточно зачаточном состоянии.

=== да. Плюнь на ООБД (пока)

В целом проблема философская.

= нет проблемы. Один рисует картины, другой делает под них рамки.

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

ЯП SQL будет жить очень долго, пока не появятся ООП хранилища вместо РСУБД.
Основное правило ООП - инкапсуляция . Т.е. язык БД не должен лезть на клиента. Запихни всю свою логику в понятную процедуру

Код: plaintext
ПакетРасчётаЗарплаты.НасчитатЕНВД(период).
на клиенте неинтересен твой SQL. А если это Вэб клиент? Или Excell клиент?
Смотри шире.
...
Рейтинг: 0 / 0
Оперативный файл и справочники. Автоматизация запросов.
    #35598517
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kordaBelykordaЯ ничего лучшего не придумал, как использовать знаки комментария, а затем указывать имя(ссылку)На клиенте - XML, на сервере - просто положить в таблички.

Если XML, то легко находить нужный запрос, это плюс.

====== я всегда сомневался, что кто-то за меня найдёт нужную процедуру при написании программы

Но теряется выгода от применения средств разработки. Они ведь будут работать с *.sql файлами и не будут с *.xml

= кто ОНИ. Пользователь Маша Петрова? Очень сомневаюсь (хотя я делал одну такую - сохранял просто Where строку).
...
Рейтинг: 0 / 0
25 сообщений из 154, страница 5 из 7
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оперативный файл и справочники. Автоматизация запросов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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