Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MySQL 5.0 - "клон" Interbase ?


Страницы:   1 2 3

MsGuns ©   (2008-06-24 11:20:00) 

Вчера писал рецензию на дипломную работу и, просматривая раздел записки с описанием скрипта создания БД, наткнулся на генераторы, триггеры After/Befor, UDF-ки и прочие интербэйзовые штучки.
Был зело удивлен


Правильный-Вася   (2008-06-26 20:36:00) [1]


> У тебя все в порядке с логикой?

у меня в порядке, а у тебя проблемы с восприятием написанного
перечитай еще раз
не все, что можно делать, стоит делать


Anatoly Podgoretsky   (2008-06-26 20:02:00) [2]

> Правильный-Вася  (26.06.2008 15:26:39)  [39]

Использовать нельзя, а иммитировать можно.
У тебя все в порядке с логикой?
А еше Правильный


Johnmen   (2008-06-26 17:46:00) [3]


> "не сотвори себе кумира"

Хм... А где про кумира?


Правильный-Вася   (2008-06-26 17:26:00) [4]


> Главный программист планеты, Б.Гейтс
> А я с ним заодно...

"не сотвори себе кумира"


Sergey13   (2008-06-26 16:13:00) [5]

> [37] PEAKTOP ©   (26.06.08 14:49)

Я честно говоря не особо понял зачем при этом рулить туда-сюда генератором, но наверное ты прав - найти применение можно. Но для менятрудно. 8-)


Johnmen   (2008-06-26 16:08:00) [6]


> автоинкрементные поля - зло, их невозможно использовать
> нормально

Главный программист планеты, Б.Гейтс, с тобой не согласен.
А я с ним заодно...


Правильный-Вася   (2008-06-26 15:26:00) [7]


> в ИБ/ФБ их используют для иммитации автоинкриметных полей
> так это из-за недостатков ИБ/ФБ.

это как раз достоинство, а не недостаток
автоинкрементные поля - зло, их невозможно использовать нормально


Anatoly Podgoretsky   (2008-06-26 14:52:00) [8]

> Правильный-Вася  (26.06.2008 11:06:32)  [32]

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


PEAKTOP   (2008-06-26 14:49:00) [9]

> Хотя мне сложно придумать применение для игр с генератором
> при многопользовательской работе.


Да ну есть такие области применения. Например, когда учетная система - Распределенная СУБД, и ежедневно филиальные базы приносят на флешках на центральный офис и скидывают в общую папку. Кто их потом подгрузит в центральную базу - леший ведает. Вот и надо обеспечить НЕвозможность одновременной подгрузки одного и того же филиала с разных компов. Тут на помощь транзитивно-независимые переменные и приходят.


Sergey13   (2008-06-26 13:11:00) [10]

> [35] Правильный-Вася   (26.06.08 12:06)
> узко смотришь

Так китаец я. 8-)

> это всего лишь глобальная переменная базы
Это просто разный подход производителя к проблеме. Некторыми вещами производитель позволяет играться, другими нет. У оракла помнится около 200 настроечных параметров, у жарптицы меньше десятка вроде. У жарптицы возможны несколько одновременных транзакций в одной сессии у оракла 1. Плохо ли хорошо ли - не знаю, но вот от ораклистов как то меньше поступает вопросов на тему "я вставил запись - где она". Оракл не дает так лихо рулить сиквенсами, поэтому наверное у его пользователей поменьше и конфликтов при вставке. Хотя мне сложно придумать применение для игр с генератором при многопользовательской работе.


Правильный-Вася   (2008-06-26 12:06:00) [11]


> Они не для того и придуманы.

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


Sergey13   (2008-06-26 11:57:00) [12]

> [32] Правильный-Вася   (26.06.08 11:06)
> но нельзя одновременно сиквенс то вперед, то назад дергать

Ну и слава богу! 8-)
Они не для того и придуманы.


MsGuns   (2008-06-26 11:37:00) [13]

>а уж в однопользовательских системах это вообще простор для фантазии

Ну почему же в однопользовательских ?
У меня генераторы используются для нумерации документов в системе. Для каждого типа документов - свой генератор, сбрасываемый 1-го января если нужно.


Правильный-Вася   (2008-06-26 11:06:00) [14]


> есть параметр increment by, который может быть и отрицательным

может
но нельзя одновременно сиквенс то вперед, то назад дергать

> в чем практическая необходимость декремента?

генераторы можно применить ведь не только для создания искусственных первичных ключей

а уж в однопользовательских системах это вообще простор для фантазии


Sergey13   (2008-06-26 08:51:00) [15]

> [24] Правильный-Вася   (25.06.08 16:40)
> а в обратную сторону?

Вроде как в оракловой секвенции есть параметр increment by, который может быть и отрицательным.


Кщд   (2008-06-26 06:08:00) [16]

Игорь Шевченко ©   (25.06.08 22:50) [28]

>INSERT INTO foo(id,name) VALUES ((SELECT foo_seq.NEXTVAL FROM dual),'NAME');
теперь можно и без select from dual


Кщд   (2008-06-26 06:00:00) [17]

>Правильный-Вася   (25.06.08 16:40) [24]
>а в обратную сторону?
собственно, этим и интересовался: в чем практическая необходимость декремента?


Игорь Шевченко   (2008-06-25 22:50:00) [18]


> Возможно, в Оракле так и есть - конкретно систаксис и особенности
> Оракла я не знаю, так что судить не могу.


В оракле много чего есть - он большой и толстый

> можно прямо в Insert делать автоинкремент без триггера INSERT
> INTO MY_TABLE(ID, NAME)VALUES(NEXT VALUE FOR <SEQUENCE_NAME>,
>  'VALUE');


ну да, ну да.

 INSERT INTO foo(id,name) VALUES ((SELECT foo_seq.NEXTVAL FROM dual),
   'NAME');


Loginov Dmitry   (2008-06-25 22:23:00) [19]

> Удобства, конечно прибавилось: можно прямо в Insert делать
> автоинкремент без триггера INSERT INTO MY_TABLE(ID, NAME)
> VALUES(NEXT VALUE FOR <SEQUENCE_NAME>, 'VALUE');


А чем это отличается от возможности
INSERT INTO MY_TABLE(ID, NAME)VALUES(GEN_ID(<SEQUENCE_NAME>, 1), 'VALUE');
которая есть с давних времен?


Anatoly Podgoretsky   (2008-06-25 20:19:00) [20]

> PEAKTOP  (25.06.2008 18:53:25)  [25]

Вот взял все и приземлил, некоторые Ораклисты утверждают, что SEQUENCE в Оракл не имеет аналогов, IB/FB/MsSQL это всего лишь бледные поделки.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо