powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / О временных таблицах замолвите слово...
25 сообщений из 177, страница 5 из 8
О временных таблицах замолвите слово...
    #32846223
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не менее убедительно, чем gardenman
Так бы и давно

-- Tygra's --
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846250
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra автор2) Рекурсивных запросов -нетУже показали, что и без них нет проблем
автор3) триггеров before/for each row нетБез них неплохо.
автор4) SQUENCE - нетА зачем?
автор5) timestamp - вообще непонятно чтоНу кому что и как :)
автор6) тип данных DATE - отсутствует как класс (и TIME тоже) Ну есть datetime, ничего,хватает
автор7) структурные типы - отсутствуют...А зачем?
автор8) а где многоплатформенность?А не нужна
автор9) а как на счет масштабируемости и кластеров?Вот это единственное, чего жаль что нет
автора сравним PL/SQL с T-SQL?
а попробуйте написать на ESQL/C++ ХП, так как это можно делать в DB2?Ничего, работаем
авторИ вы хотите сравнивать это все с Оracle или DB2 ?...
Мы не хотим, мы уже. И работаем однако. И хорошо работаем. И не выдумываем различных причин. И все неплохо получается. И насильно никому не навязываем - аллергию на MS пока не лечатСкипнуть нечего - рука не понимается, очень напоминает ответы людей, работающих с IB\FB, всем остальным ;)
Разве что про аллергию нет - это специфика MS
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846252
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra автор3) триггеров before/for each row нет
Без них неплохо.
Хм. Тут в соседнем форуме ACSRUS высказался в том духе, что тривиальные манипуляции - типа "держать данные в поле заглавными буквами" - без них нормально не делаются. Прокомментируете?

tygra автор4) SQUENCE - нет
А зачем?
Удобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID.

tygra автор7) структурные типы - отсутствуют...
А зачем?
Удобно. По тем же причинам, по которым они удобны, например, в ЯВУ.

tygra автор8) а где многоплатформенность?
А не нужна
Сложный вопрос. С точки зрения маркетинга это минус - достаточно много народу скажет "у нас уже есть платформа X, вот и будем покупать то, что с ней работает". Хотя понятно, что многоплатформенность в MSSQL если и будет, то на уровне "WinNT либо .NET".
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846258
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :)
Сам Юкон не видел, но на вскидку там будут:
CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД ?

Насколько помню:
не будет триггеров BEFORE и EACH ROW, если что поправьте.

Возникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ? Типа как в ASA (берем кусок BOL):
Код: plaintext
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
install java new from file 'Invoice.class';
go

CREATE VARIABLE Inv Invoice
go
SET Inv = NEW Invoice()
go

-- Set values of the Invoice members
SET Inv.lineItem1Description = 'Work boots'
go
SET Inv.lineItem1Cost = '79.99'
go
SET Inv.lineItem2Description = 'Hay fork'
go
SET Inv.lineItem2Cost = '37.49'
go

-- Retrieve values of the Invoice members
SELECT Inv.lineItem1Description;
output to 'report.txt'
go

CREATE TABLE T1 (
    ID int,
    JCol Invoice
)
go

INSERT INTO T1
VALUES(  1 , Inv )
go

SELECT ID, JCol.lineItem1Description
FROM T1;
output to 'report.txt'
append
go

INSERT INTO T1
VALUES (  2 , NEW Invoice() )
go

SELECT ID, JCol.totalSum()
FROM t1;
output to 'report.txt'
append
go

CREATE VARIABLE Inv2 Invoice
go
SET Inv2 = (select JCol from T1 where ID =  2 )
go
SET Inv2.lineItem1Description = 'Sweet feed'
go
SET Inv2.lineItem2Description = 'Drive belt'
go
здесь хотя бы видна польза Java - можно хранить в таблицах обьекты и работать с ними напрямую с запросов. Несмотря на это, постоянное развитие WatcomSQL вытеснило Java и она обьявлена в ASA как "не рекомендуемая опция", т.е. не факт что в следующей верстии поддержку работы с Java из WatcomSQL не снесут, оставив только внешние ХП на Java.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846268
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846284
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to ASCRUS
Если не читал еще, вот ссылочка

http://www.rsdn.ru/article/db/yukondotnet.xml
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846286
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторХм. Тут в соседнем форуме ACSRUS высказался в том духе, что тривиальные манипуляции - типа "держать данные в поле заглавными буквами" - без них нормально не делаются. Прокомментируете?
Дык есть другие триггеры. After insert, например. А по триггеру for each row я тоже горевал, когда давно еще с IB пришел. А ничего теперь, как-то привык да и нет больше нужды. :)

авторУдобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID.
Это как GUID может быть ответом на SQUENCE? Что-то не пойму. Выше кстати было сказано, что отличается SQUENCE от Identity на 95%. А Гуид вообще из другой песни.

авторУдобно. По тем же причинам, по которым они удобны, например, в ЯВУ.
Зато хуже разбираться с системой.

авторСложный вопрос. С точки зрения маркетинга это минус - достаточно много народу скажет "у нас уже есть платформа X, вот и будем покупать то, что с ней работает". Хотя понятно, что многоплатформенность в MSSQL если и будет, то на уровне "WinNT либо .NET".
Ну хозяин барин. Кто чего хочет, тот то и покупает. По мне так правильно, что нет кроссплатформенности. Продукты от одного производителя. Зачем лезть куда-то еще, если ты наоборот продвигаешь свою ОС? Это нехорошо как-то получилось бы :))

-- Tygra's --
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846299
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторФишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД.
Ну если вы определяете возможности СУБД по вашему списку опций, то для вас вывод правильный. Однако многие другие работают с MS SQL и чувствуют себя нормально, а некоторые даже и хорошо. Впрочем не лучше и не хуже, чем остальные. Если же вы что-то не можете сделать руками - только опции подавай - то тогда да, оставайтесь на Оракле. Если вы на нем, конечно.

А для остальных аутсайдер весьма неплохо работает.

-- Tygra's --
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846304
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASCRUS авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :)
Сам Юкон не видел, но на вскидку там будут:
CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД ?


Ага. Я просто заленился все это писать :)


Возникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ?


Второе
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846306
Фотография segun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS авторВ Юконе как раз можно будет так писать, как в конце той страницы. Получается, что уже можно сравнивать - бета есть :)
Сам Юкон не видел, но на вскидку там будут:
CTE, Recursive, Date, Time, C# ... есть ли что еще из списка фич других СУБД?да, все это это будет. Одна из самых интересных, на мой взгляд, возможностей это версионность на уровне строк.
ASCRUSНасколько помню:
не будет триггеров BEFORE и EACH ROW, если что поправьте.вы абсолютно правы, этого пока не будет.
ASCRUSВозникает еще вопрос многостродальной теме C# в MSSQL - он там будет только как язык ХП использоваться или же на C# можно делать классы, которые обьявлять как домены и хранить их экземпляры в таблицах ?С помощью .Net языков можно будет создавать SP, UDF, UDT, триггеры и пользовательские агрегаты. Посмотрите ссылку на презентацию, там вся реализация описана по шагам.
gardenmanФишка вот в чем. Все перечисленные мной опции есть в других базах уже несколько лет. К тому времени, когда у других появится еще что-то, MS реализует те, которых у нее нет сейчас. Таким образом получается что MSSQL - ситематически оказывается в роли аутсайдера в области разработки БД.MS идет своим путем, попутно беря все лучшее что есть у остальных СУБД на сегодняшний день. Посмотрите хотя бы на список компонент, которые будут представлять собой MS SQL 2005.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846315
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>MS идет своим путем, попутно беря все лучшее что есть у остальных СУБД на сегодняшний день. Посмотрите хотя бы на список компонент, которые будут представлять собой MS SQL 2005.

боюсь мы уже тут смотрели этот список и не нашли ничего чего бы небыло в oracle8i, а на дворе 2005 год ...
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846331
Фотография segun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну значит не туда смотрели. Возьмите хотя бы интеграцию с .Net Framework и как она оценивается даже теми людьми, документ которых вы приводили как весомое доказательство превосходства Oracle над MS SQL.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846356
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
вы хотите сказать что попытка МС создать свою джаву удалась МС лучше чем оригиналу ? согласитесь спорно ... ;)
еще есть преимущества переде 8i ?
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846361
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraДык есть другие триггеры. After insert, например. А по триггеру for each row я тоже горевал, когда давно еще с IB пришел. А ничего теперь, как-то привык да и нет больше нужды. :)
after-то есть - но ценой удвоения работы сервера. Плюс неочевидный момент рекурсии при таком обновлении.

tygra авторУдобно. Собственно, MS уже ответил на вопрос "зачем", внедряя GUID.
Это как GUID может быть ответом на SQUENCE? Что-то не пойму. Выше кстати было сказано, что отличается SQUENCE от Identity на 95%. А Гуид вообще из другой песни.
Хм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали.

Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity.

tygra авторУдобно. По тем же причинам, по которым они удобны, например, в ЯВУ.
Зато хуже разбираться с системой.
Не понял смысла этой фразы.

Хм. Допустим, в бейсике не было почти ничего - и поэтому для описания объекта с тремя атрибутами приходилось завести переменные A, B$ и B1$ (имена тоже допускались - буква или буква-цифра). Потом стало возможно таки писать record, struct или аналогичные конструкции. Стало хуже разбираться с системой?

Не понял. Поясните, пожалуйста, может быть на примере - что Вы имеете в виду.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846383
Фотография segun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yo!:
хм.. как-то вы с темы на тему перескакиваете. По поводу того документа и оценки в нем интеграции .Net и MS SQL вы согласны или нет? Если да, то вопрос решен, если нет, это означает что вы не со всем в нем согласны, тогда зачем вы его вообще советовали смотреть?
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846396
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторХм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали.

Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity.
Ну секвенс то аналог identity вообще-то. А гуид - это просто другой тип данных. Какая связь?
Ну а репликация - а как тут секвенс связан с ней?

-- Tygra's --
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846429
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra авторХм. Sequence отличается от Identity очень простым образом - уж простите, не понял, что есть "выше". Sequence - это объект, с которым как хочешь, так и работаешь. А identity - это нечто вроде атрибута поля и "ни шага влево, ни шага вправо". По крайней мере, если опять же ничего не изменилось по сравнению с версиями, о которых мне рассказывали.

Guid же, насколько я понимаю, является "ответом на sequence" потому что позволяет MSSQL нормально реплицироваться - чего (насколько я в курсе) не умеет identity.
Ну секвенс то аналог identity вообще-то. А гуид - это просто другой тип данных. Какая связь?
Ну а репликация - а как тут секвенс связан с ней?

-- Tygra's --
Гм, возможно аналогу секвенса в ASA служит Global Autoincrement - который ведется непрерывно для всей БД, но в пределах, заданных в опции "Database ID". В итоге все работают каждый в пределах своего промежутка значений, в консолидированной БД не возникает конфликтов PK, однако в самой консолидированной БД счетчик под ее DataBase id не сбивается при подливе данных с других СУБД и все вставляемые записи опять же работают в собственном промежутке, таким образом избегая обратных конфликтов. Все это работает автоматом, единственное где могут быть траблы при репликации - это при сбивании кода БД или же ввода одинаковых, однако это уже на совести проектировщика. Конечно самое надежное конечно это GUID - тут вообще никаких конфликтов быть просто не может, хотя если сравнивать bigint и GUID - немного разные размеры типов данных получаются.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846463
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
авторхм.. как-то вы с темы на тему перескакиваете. По поводу того документа и оценки в нем интеграции .Net и MS SQL вы согласны или нет? Если да, то вопрос решен, если нет, это означает что вы не со всем в нем согласны, тогда зачем вы его вообще советовали смотреть?

советовал смотреть чтоб вы вообще представляли в чем есть отличия, этот документ наиболее полно их перечисляет, а со мнением естественно я согласен не со всем.
например про .net и java я не согласен - мне все равно через врапер или нет запускается моя java, главное чтоб потери в скорости небыло. когда появятся тесты тогда и можно поговорить о преимуществах прямого запуска, а так это просто слова (если не углублятся в сами языки и их конструкции).
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846464
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraНу секвенс то аналог identity вообще-то.

identity - это частный случай применения sequence. В общем случае, использование монотонных последовательностей не ограничивается unique-столбцами.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846478
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraНу секвенс то аналог identity вообще-то.
А можно поподробнее? Насколько я видел, identity - это атрибут поля, а секвенсор - это объект. То есть если мне нужно обеспечить сквозную нумерацию по нескольким таблицам, секвенсор легко решает эту задачу, а с identity придется извращаться (делать отдельную таблицу, на которую ссылаться?!).

tygraА гуид - это просто другой тип данных. Какая связь?
Ну а репликация - а как тут секвенс связан с ней?
Хм. Связь следующая: насколько я понимаю, в MSSQL поставить default SYS_GUID (или нечто аналогичное - миль пардон за синтаксис) - это наиболее простой путь обеспечить нормальную репликацию. Другой путь - здесь, на sql.ru, лежит статья http://www.sql.ru/articles/mssql/03100902ArchitectingReplicationWithIdentityColumns.shtml, из которой получается, что MSSQL2000 таки дает какую-то особую опцию для управления диапазонами, в результате чего можно построить репликацию на основе identity и довольно кривой схемы распределения номеров.

Осталось сравнить это с

Код: plaintext
create sequence X start with <server number> increment by  1000 
.

И - никаких вопросов. Собственно, меня несколько удивляет, почему в MSSQL нельзя сделать такого же - но, полагаю, у автора статьи, размещенной на столь компетентном сервере, были какие-то причины :)

Ну и так все-таки - насчет "хуже разбираться" поясните? А то как-то странно получается - уже второй раз в этой теме я говорю что-то, а Вы замолкаете.
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846487
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Start value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу. Вот когда нужно одно ID на несколько таблиц сразу автоинкрементить - это и есть те самые 5% (о которых я говорил в другом топике), где identity проигрывает
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846495
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вообще прискорбно, что все это вылилось в очередную религиозную войну. "Нет, не об этом он мечтал всю свою сознательную жизнь"
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846511
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин... чтобы узнать Identity-значение нужно обядательно вставить строку в таблицу. (сделать транзакцию) Последнее значение возвратится в @@identity. Чтобы получить значение из последовательности - нужно сделать запрос, который находится все транзакции. Разница - ОГРОМНА!
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846516
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex.CzechStart value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу.
Я - со своей ламерской колокольни - тоже не вижу и удивляюсь. Но предположительно солидный автор на уважаемом сервере зачем-то предлагает куда более сложную и неудобную схему. Вы готовы поручиться своей репутацией, что это только из-за того, что он нерюх и идиот? Напишите Джуджу, что эту статью стоит выбросить и не позориться?
...
Рейтинг: 0 / 0
О временных таблицах замолвите слово...
    #32846518
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex.CzechStart value и seed value у IDENTITY безусловно настраиваются... так что имхо для репликации никаких проблем я не вижу. Вот когда нужно одно ID на несколько таблиц сразу автоинкрементить - это и есть те самые 5% (о которых я говорил в другом топике), где identity проигрывает
Ради интереса - настраиваться то понятно настраивается. А вот не сбивается ли, если с других БД приходят записи с заведомо более высоким диапазоном номеров ? То есть работает у нас Identity в пределах 1-100 и равен 2, приходит с другой БД запись 101. Какой следующий номер будет присвоен при вставке новой записи в этой таблице ? По идее он должен равняться 3-ем.

авторА вообще прискорбно, что все это вылилось в очередную религиозную войну. "Нет, не об этом он мечтал всю свою сознательную жизнь"
Да нет - даже ссылочки интересные по Юкону привели, с удовольствием почитал, как там и чего будет выглядеть в целях самообразования. Есть правда один неутешительный вывод - формула "ПО от MS = Геммор" к сожалению продолжает успешно работать и они где нибудь, да обязательно сделают пару недоработок/ошибок, которые потом придется дружно обходить.

авторБлин... чтобы узнать Identity-значение нужно обядательно вставить строку в таблицу. (сделать транзакцию) Последнее значение возвратится в @@identity. Чтобы получить значение из последовательности - нужно сделать запрос, который находится все транзакции. Разница - ОГРОМНА!
Давненько Вы с MSSQL не работали :) Уже давно есть куча функций, которая позволяет вне транзакции без вставки записи узнавать для указанных таблиц текущий и следующий Increment.
...
Рейтинг: 0 / 0
25 сообщений из 177, страница 5 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / О временных таблицах замолвите слово...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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