Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10 .. 14   вперед  Ctrl
 Re: MsSQL 2008 vs Oracle 11G  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
pkarklin
Вроде и слова все знакомые, а смысла не понял. И в MS SQL последовательности объекты бд. Ссылки приводились для того, чтобы тот, кто знает (хорошо знает) функциональности последовательностей в Oracle оценил оные в MS SQL.

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

pkarklin
Классичческий пример использования последовательностей в Oracle - триггер на инсерт. Если Вы смотрели ссылку для NEXT VALUE FOR, то ее возможности в плане использования во множественных операциях мне кажуться очень удобными. А так же использование в качестве дефолта. Без написания триггера.

Не знау насчет NEXT VALUE FOR, но наличие в Оракле триггеров на уровне изменения записи в таком классическом примере, вроде, делают незаметной "множественность" операций для проггера: думать не нуно вроде об этом при герерации значений счетчика. В Скуле триггера вроде тока на уровне инструкций. Там мож NEXT VALUE FOR полезна.
26 ноя 10, 08:58    [9842338]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
vadiminfo
Не знау насчет NEXT VALUE FOR, но наличие в Оракле триггеров на уровне изменения записи в таком классическом примере, вроде, делают незаметной "множественность" операций для проггера: думать не нуно вроде об этом при герерации значений счетчика.


Ок. Сформулирую вопрос явно. Можно ли в Oracle использовать последовательность на "декларативном уровне", т.е. не писАть триггер, а объявить DEFAULT CONSTRAINT?
26 ноя 10, 09:20    [9842425]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
ViPRos
Member

Откуда:
Сообщений: 9967
vadiminfo
А так вроде от генерации счетчиков ниче особого до сих пор не требовалось.


Было бы хорошо, если они могли разбиваться по управляющему параметру, если бы между ними можно было отношения задавать и т.д.
26 ноя 10, 09:41    [9842537]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ViPRos
Было бы хорошо, если они могли разбиваться по управляющему параметру, если бы между ними можно было отношения задавать и т.д.


Эээ... А можно чуть по подробнее... Про параметр и про связи...
26 ноя 10, 09:55    [9842620]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
ViPRos
Member

Откуда:
Сообщений: 9967
pkarklin,

К сообщению приложен файл. Размер - 31Kb
26 ноя 10, 10:01    [9842660]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
ViPRos
Member

Откуда:
Сообщений: 9967


К сообщению приложен файл. Размер - 74Kb
26 ноя 10, 10:02    [9842661]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
ViPRos
Member

Откуда:
Сообщений: 9967
Пока параметр генератора неизменен, счетчик генерирует некст валье, при изменении создается новый счетчик.
Формула позволяет "сцепливать" значения счетчиков типа 1.1, 1.2 и т.д. А так можно было бы сделать ведущий-зависимый и т.д.
26 ноя 10, 10:05    [9842682]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
pkarklin
Ок. Сформулирую вопрос явно. Можно ли в Oracle использовать последовательность на "декларативном уровне", т.е. не писАть триггер, а объявить DEFAULT CONSTRAINT?

Не сталкивался с такой необходимостью. Не проверял особо в 11. Типа не придпавал значение последовательностям как участникам "декларативного уровня".
Но если не трудно проясните пользу от такого вида DEFAULT CONSTRAINT.
До сих пор хватало DEFAULT CONSTRAINT типа
alter table STAFF modify STF_ID default 2;
А для счетчиков если уже используется последовательность, то ить семантичность "декларативности" утрачена (нуно все равно смотреть последовательность), и триггер на счетчика не сильно ухудшает, но позволяет менять чентность счетчика или еще шо там нуно.
Но мож действительно шо-то стоящее упустил.
26 ноя 10, 10:12    [9842728]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Дядя Жора
Member

Откуда: Одесса
Сообщений: 850
pkarklin
Yo.!
кстати в 11g и mssql2008 не так уж и много чего изменилось в плане этого сравнения


Ага. Как были откровенные ляпы, недоговорки и передергивания, так и остались.


А темка живёт своей жизнью. :) Интересно, а что Вы скажете на это edison-oracle-11g-sql-server-cmcs-185040.pdf?
автор
DBAs can perform typical administrative functions in 41 percent less time when using Oracle Database 11g compared to Microsoft SQL Server 2008.

Тоже враньё?
26 ноя 10, 10:53    [9843027]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
SergSuper
долго думал как реагировать

Не стоит оно долгих раздумий. Например, в личке "Подставляй зад - опровергну".
26 ноя 10, 11:11    [9843182]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
vadiminfo
Но если не трудно проясните пользу от такого вида DEFAULT CONSTRAINT.А для счетчиков если уже используется последовательность, то ить семантичность "декларативности" утрачена (нуно все равно смотреть последовательность), и триггер на счетчика не сильно ухудшает, но позволяет менять чентность счетчика или еще шо там нуно.
Но мож действительно шо-то стоящее упустил.


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

CREATE TABLE Test.MyTable
(
    IDColumn nvarchar(25) PRIMARY KEY,
    name varchar(25) NOT NULL
) ;
GO

CREATE SEQUENCE Test.CounterSeq
    AS int
    START WITH 1
    INCREMENT BY 1 ;
GO

ALTER TABLE Test.MyTable
    ADD 
        DEFAULT N'AdvWorks_' + 
        CAST(NEXT VALUE FOR Test.CounterSeq AS NVARCHAR(20)) 
        FOR IDColumn;
GO
26 ноя 10, 11:34    [9843370]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ViPRos
Пока параметр генератора неизменен, счетчик генерирует некст валье, при изменении создается новый счетчик.


Я бы это отнес к side effect, что на мой взгляд, ни есть гуд.


ViPRos
Формула позволяет "сцепливать" значения счетчиков типа 1.1, 1.2 и т.д. А так можно было бы сделать ведущий-зависимый и т.д.


А можно чуть более развернутый пример поведения таких последовательностей и практический способ их применения?
26 ноя 10, 11:43    [9843462]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Дядя Жора,

Документ большой, и потребует определенного времени на изучение.
26 ноя 10, 11:49    [9843533]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Yo.!
Guest
pkarklin
Yo.!
кстати в 11g и mssql2008 не так уж и много чего изменилось в плане этого сравнения


Ага. Как были откровенные ляпы, недоговорки и передергивания, так и остались.

откровенные ляпы в студию !
26 ноя 10, 11:56    [9843601]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
откровенные ляпы в студию !


Ну, я же уже комментировал эту твою статью... Еще раз?
26 ноя 10, 11:58    [9843620]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
vadiminfo
Там мож NEXT VALUE FOR полезна.

NEXT VALUE FOR от nextval отличается только синтаксисом, но не функционалом.
26 ноя 10, 12:00    [9843639]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Yo.!
Guest
pkarklin
Yo.!
откровенные ляпы в студию !


Ну, я же уже комментировал эту твою статью... Еще раз?

достаточно ссылки на твое коментирование откровенного ляпа. все что ты наковырял восстановление отдельного блока, тригеры кажется ты наковырял, которые появились после sp2. по этим двум позициям я обновил.
26 ноя 10, 12:03    [9843693]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
весь прикол в том, что есть документы, которые говорят, что MSSQL менее затратен по времени для DBA-персонала чем оракл. Так что такого рода исследования надо воспринимать очень критически, они все щедро проплачены каждой из сторон.
Вот сходу нашелся: http://download.microsoft.com/download/a/4/7/a47b7b0e-976d-4f49-b15d-f02ade638ebe/alinean-tcastudy.pdf
если порыться чуть больше чем минуту, то наверняка что-то еще можно откопать.
26 ноя 10, 12:07    [9843729]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
pkarklin
Не понимаю, зачем мне "смотреть последовательность", если я хочу, чтобы значение поля заполнялось автоматически значением последовательности и делалось все это без дополнительного кодирования.

Ну, например, чтобы понять что это означает

        DEFAULT N'AdvWorks_' + 
        CAST(NEXT VALUE FOR Test.CounterSeq AS NVARCHAR(20)) 
        FOR IDColumn;
GO

Ну, возможно, посмотреть на.

CREATE SEQUENCE Test.CounterSeq
    AS int
    START WITH 1
    INCREMENT BY 1 ;

Мало ли там может INCREMENT BY 2 ;

Впролчем, я имел в виду, что када вы видите первичные, внешние ключи, ограничения на значения вы сразу понимает что они означают. А код смотреть сложнее, даже если он простой.
Но в приведенном примере смотреть не на много луче, чем триггер для счетчика. Я к примеру, не расшифровал данный пример. Но мож с непривычки. Мож это луче.

Но, скорее всего, отсутсвие триггера на уровне записи это, сколрее всего, компенсировать не может.
26 ноя 10, 12:07    [9843735]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
А документ от эдиссона проспонсирован Ораклом, о чем явно заявлено на сайте:
http://oracle.ittoolbox.com/research/edison-group-comparative-management-costs-study-oracle-database-11g-vs-microsoft-sql-server-2008-22011?sp=kw

Ради справделивости вот очень неплохосоставленный, хоть и старенький документ от межделмаша:
IBM DB2 V8.2, Oracle 10g, Microsoft SQL -
ftp://ftp.software.ibm.com/software/data/highlights/dbmscomparison.pdf
ИБМ кстати сравнивают системы по секциям, как я и предлагал. И по каждой секции отдельный вывод.
26 ноя 10, 12:16    [9843837]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
Продолжим парад компарайзонов. Вот это сравнение похоже не проплачено, просто дается тех инфа по фичам и особенностям реализации, без каких либо выводов лучше/хуже:
Oracle vs. SQL Sybase
Version 10.2 vs. 15.0.1
http://psoug.org/reference/sybase.html
26 ноя 10, 12:22    [9843903]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Дядя Жора
Member

Откуда: Одесса
Сообщений: 850
Ggg_old,

В данном документе описаны все аналогичные действия в обоих базах по секундам по шагам. Думаешь, что секундомеры тоже с лэйблами "Oracle" были? Хотя конечно все замеры могут вызвать множество вопросов. Но в любом случае аналогичного документа со стороны микрософта я пока не видел.
26 ноя 10, 12:23    [9843909]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
vadiminfo,

Я не отношу возможность использования последовательности в дефолтном значении поля к "компенсации отсутстия триггера на уровне записи", ибо если сам триггер не нужен, то без разницы на уровне записи он или на уровен инструкции.

В реализации использования последовательности в триггере в Oracle также невозможно понять, что же будет в поле записи без "заглядывания" в определение последовательности.

Я лишь виду речь о том, что, на мой взгляд, декларативное использование последовательности приводит к уменьшению кодирования и более наглядно (с точки зрения анализа только DDL модели данных).
26 ноя 10, 12:25    [9843933]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
достаточно ссылки на твое коментирование откровенного ляпа. все что ты наковырял восстановление отдельного блока, тригеры кажется ты наковырял, которые появились после sp2. по этим двум позициям я обновил.


Ну, давай, еще "обновим"...

автор
Временные таблицы
...
в mssql ... можно лишь создать индекс на PK и UQ


CREATE TABLE #temp(
col1 int NOT NULL PRIMARY KEY NONCLUSTERED,
col2 char(1) NOT NULL UNIQUE)
GO
CREATE CLUSTERED INDEX IX_temp_1 ON #temp (col1, col2) 
GO
CREATE INDEX IX_temp_2 ON #temp (col2, col1) 
GO

DROP TABLE #temp


Command(s) completed successfully.

ЗЫ. Указанное ограничение "можно лишь создать индекс на PK и UQ" касается табличных переменных. ;)
26 ноя 10, 12:37    [9844061]     Ответить | Цитировать Сообщить модератору
 Re: MsSQL 2008 vs Oracle 11G  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
По секции "кластеризация" очень дельная статья на русском языке (там правда про mssql даже не заикаются ;)
но основные игроки oracle, db2, ase cluster edition, paraccel и exasoft представлены:
http://www.jetinfo.ru/Sites/info/Uploads/2008_12.63DD88185C1748CC88ED546A047C6530.pdf
26 ноя 10, 12:38    [9844065]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10 .. 14   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить