powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Сравнение СУБД MS SQL Server и Oracle
25 сообщений из 102, страница 4 из 5
Сравнение СУБД MS SQL Server и Oracle
    #38328749
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЭто же T-SQL?! ;)

В смысле:

Код: sql
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.
CREATE TABLE dbo.MyTable
(
    IDColumn nvarchar(25) NOT NULL PRIMARY KEY,
    name varchar(25) NOT NULL
) ;
GO

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

ALTER TABLE dbo.MyTable
    ADD 
        DEFAULT N'AdvWorks_' + 
        CAST(NEXT VALUE FOR dbo.CounterSeq AS NVARCHAR(20)) 
        FOR IDColumn;
GO

INSERT dbo.MyTable (name)
VALUES ('Larry') ;
GO

SELECT * FROM dbo.MyTable;
GO
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38328867
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Sribnyakofftop
Улыбнуло
Сегодня читал нововведения в последней версии Оракла, там первым пунктом идет: Новый тип данных для PK — Identity.
А сколько здесь копий было поломано в том, что лучше sequence или identity, а теперь и тот и другой есть и там и сям...
Идентификатор не может быть атрибутом)) Копья ломались напрасно - Oracle, как и MS SQL, останутся банальными СХОД - средством обеспечения работой армии программистов))
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38328999
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаИдентификатор не может быть атрибутом)) Копья ломались напрасно - Oracle, как и MS SQL, останутся банальными СХОД - средством обеспечения работой армии программистов))
шуруповерт и отвертка тоже средством обеспечения работой ...
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329058
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!БредятинаИдентификатор не может быть атрибутом)) Копья ломались напрасно - Oracle, как и MS SQL, останутся банальными СХОД - средством обеспечения работой армии программистов))
шуруповерт и отвертка тоже средством обеспечения работой ...
Разумеется. Ластик еще. Карандаш. Ножичек перочинный. И т.п. Но, идентификатор не может быть атрибутом. А создание приложений БД не должно требовать программирования.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329211
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Sribnyakofftop
Улыбнуло
Сегодня читал нововведения в последней версии Оракла, там первым пунктом идет: Новый тип данных для PK — Identity.


А сколько здесь копий было поломано в том, что лучше sequence или identity, а теперь и тот и другой есть и там и сям...
А что же Вы хотели?
Конкуренция. Допустим identity хуже. А Скуль возьми и добавь sequence. И теперь у него и то и то. Это уже преимущество. Так как есть те кто не поверил или не знает, что sequence лучше. Тем более identity проще. Чтобы выровнить нуно и Ораклу identity.

Хотя теперь сложнее: одно дело копья ломать, когда выбора нет, поскольку СУБД ограничивает. Другое когда он есть. Тут ломка копий может быть уже внутри СУБД.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329227
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет-ли identity особенностью технологии? Или это просто макрос который создаёт
триггер так-же как и опция PRIMARY KEY авто-создаёт индекс?
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329378
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБудет-ли identity особенностью технологии? Или это просто макрос который создаёт
триггер так-же как и опция PRIMARY KEY авто-создаёт индекс?А скачать с офф-сайта и попробовать и проверить? :)
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329414
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Вы не озвучили что задачи, такие, в которых требуется один сиквенс на несколько таблиц
softwareridentity не решает задачу кормления нескольких таблиц из одного источника.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329459
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvmaytonБудет-ли identity особенностью технологии? Или это просто макрос который создаёт
триггер так-же как и опция PRIMARY KEY авто-создаёт индекс?А скачать с офф-сайта и попробовать и проверить? :)
Мне некогда к сожалению. Но если кто-то это сделает и расскажет о результате - буду признателен.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329494
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenВы не озвучили что задачи, такие, в которых требуется один сиквенс на несколько таблиц
Нет ни одной задачи, для которой вообще требовался бы сиквенс. А вот удобен - вполне.

Один сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329555
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerInfernal V. RavenВы не озвучили что задачи, такие, в которых требуется один сиквенс на несколько таблиц
Нет ни одной задачи, для которой вообще требовался бы сиквенс. А вот удобен - вполне.

Один сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".
вместе с реализацией сквозного идентити пришлось бы реализовывать и поддержку его в транзакциях. Имхо именно в этом причина
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329604
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakвместе с реализацией сквозного идентити пришлось бы реализовывать и поддержку его в транзакциях. Имхо именно в этом причина
Я не знаю внутренней механики MSSQL, может быть поэтому не понимаю проблемы. Абстрактно же я проблемы совсем не вижу - и в оракле, и в последние годы в MSSQL последовательности работают, более того, всегда можно было "некрасиво эмулировать" этот механизм, просто заведя таблицу с единственным identity-полем, этакий своеобразный генератор.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329605
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerОдин сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".В этом случае используют GUID. Прикручивание сиквенса в этом случае выглядит как костыль.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329608
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavensoftwarerОдин сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".В этом случае используют GUID. Прикручивание сиквенса в этом случае выглядит как костыль.
гуид неудобен по своим причинам.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329620
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenВ этом случае используют GUID. Прикручивание сиквенса в этом случае выглядит как костыль.
Боюсь, мне трудно воспринять это мнение как сколько-нибудь продуманное. Я понимаю, что человек может привыкнуть выкручиваться существующими средствами, но это совершенно не повод считать извращение нормальным, а нормальное решение - костылём.

Гуиды придуманы для независимой генерации идентификаторов в распределённых, неконтролируемых системах. Использование гуида в рамках системы, ограниченной единственным инстансом - уже, мягко говоря, забавное проектное решение.

Попробуйте отступить на шаг от привычной механики и подумать о таком понятии как "генератор id". И последовательность, и гуид являются некоторыми реализациями генератора. Концепция identity в MSSQL изначально нарушает одно из "весьма желательных" требований к генераторам, концепция последовательности в этом плане изначально выигрывает. Поскольку последовательностей в MS не было, кое-кто привык использовать вместо них третью реализацию, также соответствующую этому требованию, но со своими минусами. Привык. Ну.. последовательности появились, теперь можно делать нормально.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329631
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavensoftwarerОдин сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".В этом случае используют GUID. Прикручивание сиквенса в этом случае выглядит как костыль.
GUID это вообще серебрянная пуля которую можно советовать всем подряд. Но недостатки
его известны. Он имеет избыточно выскую разрядность для решения задач. И никто не захочет
чтобы 50% сегмента данных в БД занимали какие-то синтетические ключи.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329641
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonInfernal V. Ravenпропущено...
В этом случае используют GUID. Прикручивание сиквенса в этом случае выглядит как костыль.
GUID это вообще серебрянная пуля которую можно советовать всем подряд. Но недостатки
его известны. Он имеет избыточно выскую разрядность для решения задач. И никто не захочет
чтобы 50% сегмента данных в БД занимали какие-то синтетические ключи.
а еще он не возрастает при генерации!
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329757
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весьма повеселило обсуждение GUID :)
Технари увидев слово GUID понеслись обсуждать его, забыв про исходную задачу - зачем требуется обеспечение уникальности в нескольких таблицах с использованием одного сиквенса?
Уникальность записи в БД чаще всего определяется названием таблицы и содержанием суррогатного ключа определенного по ней (без разницы сиквенс или идентити)

softwarerОдин сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики.
Я думаю мне не нужно объяснять как проектируется в этом случае модель? И как связи между этими таблицами организуются, при этом с констрэинтами FK.

softwarerАналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".
А в чем сложность указания имени сущности и идентификатора? Это намного удобнее по сравнению выполнения поиска по всем сущностям с указанием ID поиска.
Т.е. задачи высосаны из пальца, пока я не вижу задач действительно требующих один сиквенс для использования в нескольких таблицах.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329767
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenВ этом случае используют GUID.
Infernal V. RavenТ.е. задачи высосаны из пальца
Когда человек в ходе разговора прыгает от позиции к позиции, мне приходится сделать вывод, что собственной позиции у него нет - вернее, что она сугубо неконструктивна, стиля "не соглашусь и всё тут". Продолжать беседу в этом случае я смысла не вижу - ну опровергну я вторую-третью-четвёртую позицию, он просто перепрыгнет на пятую и "эта музыка будет вечной".
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329776
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКогда человек в ходе разговора прыгает от позиции к позиции, мне приходится сделать вывод, что собственной позиции у него нет - вернее, что она сугубо неконструктивна, стиля "не соглашусь и всё тут".Г-н, softwarer, я попросил Вас сформулировать задачи для которых требуется то, что я озвучивал в постах выше.
Для меня это основная цель. Обсуждение GUID - это то, что возникло в ходе обсуждения этих задач и разговор ушел в сторону. Поэтому я и вернулся к интересующей меня теме.
Позицию я свою высказал, о чем также написал, ожидая от Вас обоснований либо более детальных описаний требований пресловутых задач.
softwarer Продолжать беседу в этом случае я смысла не вижу - ну опровергну я вторую-третью-четвёртую позицию, он просто перепрыгнет на пятую и "эта музыка будет вечной".
Ну что тут сказать - в рамках форума невозможно человека призвать к ответу. Но не исключаю мысль о простом желании избежать неудобной темы.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329791
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenГ-н, softwarer, я попросил Вас сформулировать задачи для которых требуется то, что я озвучивал в постах выше.
Эти задачи сто раз озвучивались в куче флеймов "identity vs sequence" у нас на форуме. Вы попросили, я не стал посылать Вас в поиск, а в очередной раз озвучил. Был неправ?

Infernal V. RavenДля меня это основная цель. Обсуждение GUID - это то, что возникло в ходе обсуждения этих задач и разговор ушел в сторону.
Я вижу ситуацию не так. Я озвучил задачи. Вы сказали: да не нужно решать это инструментом А, это решается инструментом Б. Вас опровергли. Тогда Вы делаете финт и говорите: да не нужно решать эти задачи инструментом А, это решается инструментом В. Не знаю как Вы, а я вижу в этом тенденцию и не собираюсь последовательно рассказывать о недостатков инструментов В, Г, Д итд поотдельности в разных возникающих ситуациях. Не хотите решать инструментом А - да не решайте, мне-то что?
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329811
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЭти задачи сто раз озвучивались в куче флеймов "identity vs sequence" у нас на форуме. Вы попросили, я не стал посылать Вас в поиск, а в очередной раз озвучил. Был неправ?
Как говорится "для тех кто в танке", еще раз задача: что это за задачи такие, в которых требуется один сиквенс на несколько таблиц
Ваши варианты ответа:
- Эти задачи сто раз озвучивались в куче флеймов "identity vs sequence" у нас на форуме. При этом непонятно причем здесь identity
- Нет ни одной задачи, для которой вообще требовался бы сиквенс. А вот удобен - вполне.
- Один сиквенс на несколько таблиц удобен во всех случаях, когда по нескольким сущностям разложено "что-то, обладающее общими чертами". Например, когда несколько наследников одного базового класса разложены каждый по своей таблице в БД - ну хотя бы те же самые классические физики-юрики. Аналогично, это удобно, например, когда требуется организовать "журнал операций", "журнал аудита" или что-то подобное - в общем, по идентификатору ссылаться на "произвольную запись в БД".

Последний вариант похож на ответ :)
Только вот решается он без одного сиквенса на несколько таблиц и GUID.
Чем не устраивает GUID - в принципе понятно.
Чем вариант использования для идентификации произвольной записи в БД связки название таблицы и суррогатного ключа по сравнению с сиквенсом на несколько таблиц?

softwarer Я вижу ситуацию не так. Я озвучил задачи. Вы сказали: да не нужно решать это инструментом А, это решается инструментом Б. Вас опровергли. Тогда Вы делаете финт и говорите: да не нужно решать эти задачи инструментом А, это решается инструментом В. Не знаю как Вы, а я вижу в этом тенденцию и не собираюсь последовательно рассказывать о недостатков инструментов В, Г, Д итд поотдельности в разных возникающих ситуациях. Не хотите решать инструментом А - да не решайте, мне-то что?
Ну надеюсь сейчас наше видение совпадет
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329826
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenЧем [не устраивает] вариант использования для идентификации произвольной записи в БД связки название таблицы и суррогатного ключа по сравнению с сиквенсом на несколько таблиц?
Громоздко и неудобно. Такой вариант резонен тогда, когда основной операцией будет "видя запись в журнале, найти, с какими данными делались эти изменения" - чтобы не искать, в какой таблице есть такой ID. На практике задача чаще обратная - "видя данные, посмотреть, что с ними происходило", и тут описанный Вами подход в лучшем случае не даёт никакой выгоды, а в худшем - мешает в варианте проектирования, когда сущность размазана по нескольким таблицам.
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329880
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerГромоздко и неудобно. Такой вариант резонен тогда, когда основной операцией будет "видя запись в журнале, найти, с какими данными делались эти изменения" - чтобы не искать, в какой таблице есть такой ID. На практике задача чаще обратная - "видя данные, посмотреть, что с ними происходило", и тут описанный Вами подход в лучшем случае не даёт никакой выгоды, а в худшем - мешает в варианте проектирования, когда сущность размазана по нескольким таблицам.
Может я не понимаю, но задач "видя данные, посмотреть что с ними происходило" решается достаточно просто и с озвученым подходом Тип сущности+идентифкатор:
- исходя из того что мы видим объект, который мы анализируем - мы знаем его тип и идентификатор
- есть некая таблица аудита для разнотипных объектов, пусть хранящимся в разных таблицах и в ней хранится тип сущности и идентификатор объекта
- запросом по типу сущности и идентификатору получаем все операции

В этом случае параметра будет два, в случае общего сиквенса - один. Но предложенный вариант решает в т.ч. и задачу "найди в журнале объекты, по которым совершались такие вот действия", а вариант с общим сиквенсом, делает ее более трудоемкой. Нет?
...
Рейтинг: 0 / 0
Сравнение СУБД MS SQL Server и Oracle
    #38329885
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerГромоздко и неудобно.
Ну и это конечно интересно. Потому как на практике я сталкивался с подобными решениями (идентификатор, который надо искать по всей базе) и с ними всегда было больше геммороя, потому как громоздко и неудобно :)
...
Рейтинг: 0 / 0
25 сообщений из 102, страница 4 из 5
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Сравнение СУБД MS SQL Server и Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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