powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Фунции PostgreSQL в сравнении с MySql и MS SQL
10 сообщений из 10, страница 1 из 1
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795079
ElenaTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Я пока чайник, но у меня есть курсовой проект. Есть свой сервер с ubunty, но основная разработка идет на windows, потом перенесу все на сервер. Стоит задача разработать базу на любой бесплатной СУБД.
Сначала использовала MySQL, но он очень неудобен, особенно после MS SQL, это моя основная специализация и к t-sql я очень привыкла и думаю, что знаю его хорошо.

задача сейчас стоит как "возможность использовать join к функции/процедуре", потому что:

1. код получается очень сложный и его уже просто трудно читать, если делать в одном запросе, а MySQL даже не разрешает возвращать рекордсет из функции.

2. На ms sql я всегда работаю через процедуры, в том числе и потому, что они компилируются и с ними сложней делать всякие injection.

3. просто бесят ограничения mysql после ms sql.

4. Из каких-то особенностей mysql использую только limit, который тут есть и возвращение значения id после вставки - вот это явно придется переделать.

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

6. Нужен небольшой клиент для заполнения данными базы, пока пишу его на лазарусе под windows.

сама задача в подробностях вот такая: http://www.sql.ru/forum/1120408-3/peremnozhit-vse-imeushhiesya-varianty-slov-pomogite-pozhaluysta. База размерами просто слезы, самая большая таблица содержит 50 тысяч строк и вырастет, если это случится, до 70 максимум. Остальные вообще до тысячи и не вырастут, просто справочники.


Вопрос: насколько PostgreSQL может помочь в моих потребностях вышеизложенных? Фак на русском я прочитала, но возможно, там что-то новое появилось в функциях? Поставила пока версию 9,3.
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795123
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас тривиальные задачи. А мы знаем что любую задачу можно решить 10 способами. Все зависит от "рук" и результата который мы преследуем, или несколько.
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795132
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорость, расширяемость, читабельность.. Не встречал я задач которые нельзя решить на постгрес. С ms не работал, и желания особого нет. По сравнению с MySQL, так не раз говорилось, что первая популярная потому что легкая и доступная. Вторую, для получения хорошего результата необходимо уметь готовить.
1. Сложный код это панацея сложных задач. Не понятно что значит "сложный" а что нет. Уровень запутанности === уровню прямоты рук.
2. PG поддерживает несколько ЯП для реализации хранимок. И имеет свой PLPG
3. О каких ограничениях идет речь?
4. Не понял вопроса. LIMIT это LIMIT одинаково работает везде.
5. Все зависит от рук.
6. Куча клиентов больших и маленьких. ))
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795167
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElenaTomsk,

Вообще-то вам не нужен ни MSSQL и MySQL ни PostgreSQL. Если доступ у вас монопольный, то я-бы решал все на уровне приложения, используя в качестве базы JSON, который всегда-бы держал в памяти сервера и с помощью мемкеша обновлял-бы его в памяти на других машинах, если такие будут (на одной машине я-бы пользовал MemoryMappedFile в качестве разделяемой памяти или тупо дублировал данные на процесс/поток в зависимости от того на чем и как у вас написано приложение). Там единственно что - надо предусмотреть локи через мемкеш. Это не быстро, но у вас запись раз в лень хорошо если.
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795200
ElenaTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Electric200,

Здравствуйте. Я привела свою задачу, может быть, она для кого-то тривиальна, вы уже все опытные, а я пока не очень, но учусь. Мне надо брать фразу, потом изменяемые слова и генерировать из одной фразы сразу кучу с этими изменяемыми словами. Там еще накладываются дополнительные условия, ограничения. Наверное, если уметь, это просто.

Под клиентом я имела ввиду свою программу, которая вызывает хранимые процедуры mysql и отображает результат их выполнения, а не просто доступ к базе.
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795209
ElenaTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warstone,

Я этого совсем не понимаю, к сожалению. Думала, что надо написать базу данных, потом на языке высокого уровня вызовы процедур базы данных, возвращающие рекордсеты и их показывать пользователю. Этому меня учили, а тому, что вы говорите, меня не учили.

И потом же я же уже почти все написала, кроме финального запроса и там тоже не очень много осталось. А тому, что вы говорите, наверное придется долго учиться и еще сложней потом сразу в вебе делать? Там в вебе я вообще ничего не знаю. :(
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795265
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElenaTomskWarstone,
Этому меня учили, а тому, что вы говорите, меня не учили.

Это печально. Как всегда, учат то что положено, а не тому что необходимо.
И снова же. Любую задачу можно решить 10 способами без вникания в суть. Каждый способ определен своими требованиями. Скорость, сопровождение, расширяемость, масштабируемость. Если требований нет и они не предвидятся, то идете на пути наименьшего сопротивления. Делаете так, как умеете. Используете тот инструмент - который хорошо знаете. Это убережет вас от ошибок и не затянет выполнение задачи на неопределенный срок, если задача требует быстрого решения. Если же для себя - то от простого к сложному.
Вы пишите:
автортам что-то новое появилось в функциях?

А что для вас старое? Почитайте релизы сравнений версий PG, там все написано.
Не вижу проблем решения вашей задачи на PG. Его более чем достаточно. Н
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795280
масдай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElenaTomsk,
апчём топек ?

есть ли SETOF RETURNING FUNCTIONS в pg ?
--есть

есть ли full outer join в pg ?
-- есть

-- нужно ли им [full outer join-ом] решать комбинаторные задачки на получение какого-то конкретного произведения (а не всех разом)?
-- нет конечно.
/*за это (при достаточной мощности произведения) надо руки из опы с корнем рвать.
*/

ну и т.п.

кактотаг

т.е. дайте конкретную задачу, а не плач ярославны на путивле
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795449
ElenaTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
масдай,


там скорее не left, a full join должен быть.

Конкретная задача:

Предложение: "Задумчивый, мудрый декан идет к пруду". В нем изменяемые части (определяет их пользователь) и сохраняет в таблицу tbl_templatedetail упрощенно как:

Id Id_Word Id_WordClass

Классы слов, изменяемые:

1. Прилагательные tbl_adjective
2. Существительные tbl_noun
3. Глаголы tbl_verb

Неизменяемые:

1. Фиксированные tbl_fixedword может быть любая часть речи, но она никогда не меняется, за ней я не хожу в таблицы изменяемых частей.
2. Пунктуация. tbl_punctuation


Среди изменяемых слов есть:

tbl_noun
студент
аспирант
солдат
офицер

tbl_verb
бежит
скачет
бредёт

tbl_adjective
романтический
грустный
веселый.

Соответственно, изменяемыми словами назначаются:
задумчивый, мудрый
декан
идёт


Что надо получить:
указанное пользователем количество фраз с изменяемыми словами, например 10:

Должно так:

Задумчивый, веселый студент идет к пруду.
Романтический, грустный солдат скачет к пруду
Грустный, задумчивый студент бредет к пруду.

"к пруду" - вот эта часть не изменяется, остальные смешиваются как угодно.

Дополнительно есть таблицы свойств, позволяющая добавить атрибуты, уточняющие слова.
Например, "только ученые", "только солдаты" и т.п. Тогда будут выбраны, соответственно, либо одни, либо другие существительные.

И еще надо, чтобы эти фразы не повторялись. Вот такая простая задача.
...
Рейтинг: 0 / 0
Фунции PostgreSQL в сравнении с MySql и MS SQL
    #38795484
мдя-с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElenaTomskмасдай,


там скорее не left, a full join должен быть.
где "там" ?
ElenaTomskКонкретная задача:

Предложение: "Задумчивый, мудрый декан идет к пруду". В нем изменяемые части (определяет их пользователь) и сохраняет в таблицу tbl_templatedetail упрощенно как:

кто на ком стоял ?

таблица и даже ея имя -- уже входят в постановку ?

какбе давайте сначала задачу
, и только потом -- ваши элементы решения
, и только потом -- ваши проблемы в вашей трактовке

а то у вас всё в куче
ElenaTomsk
Id Id_Word Id_WordClass

Классы слов, изменяемые:

1. Прилагательные tbl_adjective
2. Существительные tbl_noun
3. Глаголы tbl_verb

Неизменяемые:

1. Фиксированные tbl_fixedword может быть любая часть речи, но она никогда не меняется, за ней я не хожу в таблицы изменяемых частей.
2. Пунктуация. tbl_punctuation


Среди изменяемых слов есть:

tbl_noun
студент
аспирант
солдат
офицер

не вижу декана. его там нет ?
ElenaTomsktbl_verb
бежит
скачет
бредёт

и, как видим -- "идти" оно не может -- варианта "идьёт" -- попросту нет
ElenaTomsk
tbl_adjective
романтический
грустный
веселый.

Соответственно, изменяемыми словами назначаются:
задумчивый, мудрый
декан
идёт


Что надо получить:
указанное пользователем количество фраз с изменяемыми словами, например 10:

"количество" можно получить не собирая самих фраз. это комбинаторная задача. достаточно перемножить количество слов в словарях под заданные позиции
ElenaTomsk
Должно так:

Задумчивый, веселый студент идет к пруду.
Романтический, грустный солдат скачет к пруду
Грустный, задумчивый студент бредет к пруду.

"Грустный, весёлый удод , изменившемся лицом", ога
ElenaTomsk
"к пруду" - вот эта часть не изменяется, остальные смешиваются как угодно.

Дополнительно есть таблицы свойств, позволяющая добавить атрибуты, уточняющие слова.
Например, "только ученые", "только солдаты" и т.п. Тогда будут выбраны, соответственно, либо одни, либо другие существительные.

И еще надо, чтобы эти фразы не повторялись. Вот такая простая задача.

в общем каша, а не постановка.
садитесь, два.

но даже и так -- если вам нужно получить все варианты подстановок в нужные позиции всех слов нужных словарей -- вам надо составить всего навсего сборщик динамического скуля, с числом узлов (CROSS джойна, сиречь -- декартова произведения) равным числу "переменных" частей. никакой outer тут и рядом не стоял -- ни left ни full (т.к. проглатывать элементы вам не надо) , ну и т.п.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Фунции PostgreSQL в сравнении с MySql и MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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