Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Понадобилось тут создать на MS SQL табличке констрейнт UNIQUE по столбцу, где могут быть пустые значения, но по непустым нужна уникальность и был крайне удивлен, что в отличии от Oracle там это не проходит. NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:02 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ага, и select 1 from dual не работает! полный отстой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:33 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Вам сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:42 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
CripВам сюда Это конечно решение, но некрасивое:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:07 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Кто сказал что множество null в UNIQUE это не правильно??? Может наоборот??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:30 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Хотя да, если об этом написано в документации, то это у MS фича... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 15:57 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukovНо ведь это неправильно! А что есть критерий "правильности" ? Oracle ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 17:38 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Это правильно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 18:09 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
You cannot create a unique index on a single column if that column contains NULL in more than one row. Similarly, you cannot create a unique index on multiple columns if the combination of columns contains NULL in more than one row. These are treated as duplicate values for indexing purposes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 18:13 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
GoldБаг (иезуитским шепотом): на самом деле баг в оракуле, который допускает сии заведомо неправильные ситуяции.... а select 1 from dual в mssql работает, стоит только приложить руку.... зато в оракуле не работаит select @@microsoftversion... а вот в сайбейзе работаит... стоит только приложить руку.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 19:58 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
locky GoldБаг (иезуитским шепотом): на самом деле баг в оракуле, который допускает сии заведомо неправильные ситуяции.... а select 1 from dual в mssql работает, стоит только приложить руку.... зато в оракуле не работаит select @@microsoftversion... а вот в сайбейзе работаит... стоит только приложить руку.... И в ASA тоже явный баг, правда очень такой баг всем нравится :) P.S. А в каком Sybase нужно прикладывать руку ? С ASA то все понятно, вешаем на коннект процедуру инициализации, в которой создаем глобальную переменную @@microsoftversion, в которую пишем "Microsoft SQL Server 2005 Final", чтобы все сессии радовались. А разве в других СУБД Sybase это возможно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:08 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2ASCRUS ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. А вот насчет какого сайбейза я говорил - дык Вам виднее, Вы у нас спец по ним. Но то что в каком-то точно можно было - я помнил четко (и жутко завидовал) p.s. кста, @@microsoftversion - int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:31 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Один1 А что есть критерий "правильности" ? Oracle ? Почему нет? Если нужно чтобы null не допускался, можно наложить сответствующее ограничение целостности на значение. А уникальность кроме пустых значений имеет смысл в некоторых случаях в РМД. Например, есть страховой персональный номер. Он уникальный по стране. Но в момент прихода на предприятие его у некоторых нет. Потому нужна и уникальность на тех у кого есть (чтобы не засандалили одного и того же несколько раз или не дали один и тот же нескольким.), и допуск пустых значений для тех у кого нет. Последних обычно не много, и с ними ошибка менее вероятна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 20:59 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2 azhukov >NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! Это как раз правильно, если не ошибаюсь так написано в стандарте. По-моему это действительно очень удобно, но к сожалению почти все пошли другим путем. 2 locky >ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. Сайбейз ASA к мелкософту не имеет отношения. Это ASE родственник мелкомягкому. ASE тоже вроде бы поддерживает много NULL-ов в UNIQUE полях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 02:20 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
c1272 azhukov >NULL там расссматривается как такое же значение как и не пустые, то есть двух пустых быть не может. Но ведь это неправильно! Это как раз правильно, если не ошибаюсь так написано в стандарте. По-моему это действительно очень удобно, но к сожалению почти все пошли другим путем. 2 locky >ну, насчет Сайбейза я не сумлевался - всё-ж таки братья идеологически когда-то единоутробные. Сайбейз ASA к мелкософту не имеет отношения. Это ASE родственник мелкомягкому. ASE тоже вроде бы поддерживает много NULL-ов в UNIQUE полях. А мне казалось, что в стандарте написано, что выражение NULL=NULL, также как NULL<>NULL ложно, и следовательно в уникальном столбце может быть сколько угодно пустых значений, если только это не первичный ключ. Где написано, то что Вы говорите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 08:59 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukovА мне казалось, что в стандарте написано, что выражение NULL=NULL, также как NULL<>NULL ложно, и следовательно в уникальном столбце может быть сколько угодно пустых значений, если только это не первичный ключ. Ваше утверждение неверно, так уникальными, называются элементы, каждый из которых отличен от других. Если элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:17 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruЕсли элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. Несколько спорное утверждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:00 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Estets www.fun4me.narod.ruЕсли элементы несравнимы, то нельзя вести речь о том, что они уникальны. Они одинаковы. Несколько спорное утверждение. И чем же отличается один NULL от другого? Я не говорю о том, что два NULL равны. Но (NULL<>NULL) != true. Уникальность - это не остутствие равенства. Это наличие отличий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:10 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
может проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 16:36 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
azhukov NULL=NULL, также как NULL<>NULL ложно В Оракле (и я думаю не тока в нем) трехзначная логика. И, в частности, оба эти выражения не истинны и не ложны, а неизвестны (третье значение). Сам Кодд был приверженцем четырехзначной. И четвертое значение интерпретировалось - не опреденлено. И в таком аспектке можно считать, что NULL не противоречит термину уникальность. Там просто данных нет и потому операции сравнения бессмысленны. Можно тока проверить что значения нет (IS NULL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:21 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:28 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ASCRUS gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) А Sybase IQ? посередине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 17:34 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
gardenman ASCRUS gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Sybase со всех сторон - ASE в лагерь MSSQL, ASA в лагерь Oracle :) А Sybase IQ? посередине? Sybase IQ как и полагается аналитическому серваку естественно сверху ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 18:39 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
vadiminfoТам просто данных нет и потому операции сравнения бессмысленны. Можно тока проверить что значения нет (IS NULL). Ну вот есть один, допустим, у меня столбец. И в нём есть 819 строк. В каждой из строк нет значения. И в чём тут уникальность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 18:53 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
GoldХотя да, если об этом написано в документации, то это у MS фича... И не только у MS. Все идут не в ногу, один Оракл идет в ногу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 19:36 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
gardenmanможет проголосуем? )) Sybase,MS SQL,DB2 - на одной стороне Oracle,PostgreSQL,MySQL - на другой Как интересно у INFORMIX и как у INTERBASE? Informix на стороне стандарта - не более одного NULL значения. А IQ щас проверим... хм, IQ позволяет больше одного NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 20:00 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
vadiminfo все хорошо объяснил. Если null интерпретировать как "значение пока не известно", то Oracle работает "правильно". Но поскольку такие значения в Oracle, похоже, все еще не индексируются (возможно именно поэтому он и допускает много null), он не может быстро найти соответствующие записи. Если null интерпретировать как "значение равно пустоте", то MS SQL работает "правильно". Но тогда трудности с примером vadiminfo (1611329). Попробуйте привести практический пример, когда null следует интерпретировать как "значение равно пустоте" при объявлении для атрибута unique. А вот примеров с "значение пока не известно" (и, тем более, "не определено" - в случае "разреженных таблиц") - сколько угодно. Так что Oracle практически "правильнее", но отсутствие индекса по пустым значениям - жуткая убогость (если это все еще так)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 21:01 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru Ну вот есть один, допустим, у меня столбец. И в нём есть 819 строк. В каждой из строк нет значения. И в чём тут уникальность? В том, что нет дубликатов, например. Нет значений, потому они и не могут дублироваться. Вопрос в том считать ли NULL значением. Но ведь это не значение? Это отсутствие значения. Причем не известна причина отсутствия. Могут быть, например причины: свойство не определено для данной записи, не известно на момент ввода, отсутствует на момент ввода. Следовательно, ничего нельзя сказать дублирует оно, одно из имеющихся или нет. Просто ограничение целостности уникальность - не есть выделенный ключ (первичный или альтернативный). В обоих пустые значения должны быть запрещены. Или должно разрешаться только одно. Но тогда пустое значение трактуется как значение. Но это плохо согласуется с тем, что на самом деле реальное значение либо не известно, либо отсутствует. Поэтому, мне кажется, что уникальность значений должна распространяться именно на значения. А для решения вопросов с отсутствием значений должны быть другие средства. Например, их запрет или разрешение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 21:18 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
В ASA сделано просто: 1. UNIQUE CONSTRAINT можно создавать только на NOT NULL поля 2. UNIQUE INDEX можно создавать на NULL поля (поведение как в Оракле) 3. Оптимизатор учитывает индексы с NULL полями 4. В CHECK CONSTRAINT выражение (Поле IN (1, 2, 3)) при поле со значением NULL вернет true 4 пункт самый веселый и самый злобный в отношении стандарта ANSI SQL. Но ... при использовании оказывается самый удобный. Действительно, если у меня NULL поле и я пишу на него проверку, то это уже означает, что к ней изначально подразумевается, что помимо перечисленных условий поле может содержать NULL. Соотвествующе вместо того, чтобы дописывать "OR Поле IS NULL" и увеличивать скрипт и работу сервера при проверках, здесь ввели сей возмутительный факт (Значение = NULL) = TRUE P.S. Можно возмущаться сколько угодно, но лично мне поддержка NULL в UNIQUE INDEX и нарушение булевых операций с NULL в CHECK очень даже нравится, потому как помимо понятия "Правильно" есть еще понятия "Обоснованно" и "Удобно". Тем более, что если посмотреть на все существующие РСУБД и их "отклонения", сложно уже говорить о каких то стандартах, хотя каждый производитель и уверяет, что его РСУБД уж точно в полном обьеме поддерживает стандарты ANSI SQL таких то версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 23:16 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2 azhukov >и следовательно в уникальном столбце может быть сколько угодно пустых значений, если только это не первичный ключ. Именно так и написано в стандарте, если я не ошибаюсь, но ссылки у меня нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2005, 03:05 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ASCRUS Sybase IQ как и полагается аналитическому серваку естественно сверху Sybase IQ именно как "аналитический" сервак, действительно должен был бы быть сверху во всех позициях, но к сожалению, судя по тестам на производительность TPC-H ему больше наравится снизу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 11:42 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Весело у вас. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 12:15 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Вот слушаю вас и радуюсь, ну что вы пристали к unique? В Oracle действительно может быть несколько null в поле с наложенным ограничением уникальности, но если по данному полю будет обявлено огранчение целосности первичный ключь, то сразу включится not null. В стандарте явно ничего по поводу уникальных полей не прописано (в противном случае во всех СУБД это было бы реализованно одинаково), и если мне не изменяет память Кодд сам толком не мог обяснить, что с этими null делать. Каждая компания разрабатывающая СУБД в меру своих представлений и потребностей клиентов, реализует то, что не прописано в стандартах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 13:48 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Посмотрим же наконец в стандарт. У меня есть только SQL 2002 SQL 2002 Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. Syntax Rules ... 3) If <unique column list> UCL is specified, then ... c) Case: i) If the <unique specification> specifies PRIMARY KEY, then let SC be the <search condition>: Код: plaintext 1. 2. ii) Otherwise, let SC be the <search condition>: Код: plaintext 4) If UNIQUE (VALUE) is specified, then let SC be the <search condition>: Код: plaintext General Rules ... 2) The unique constraint is not satisfied if and only if Код: plaintext А что такое UNIQUE ? А вот: SQL 2002 Код: plaintext Код: plaintext General Rules 1) Let T be the result of the <table subquery>. 2) If there are no two rows in T such that the value of each column in one row is non-null and is not distinct from the value of the corresponding column in the other row, then the result of the <unique predicate> is True ; otherwise, the result of the <unique predicate> is False Т.е. значения колонок не должны быть не NULL'ами и не различными, говоря по-русски - значения колонок должны быть или NULL'ами или отличаться, т.е. допускается неограниченное кол-во NULL'ов. Вопросы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 15:19 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
alexey_tmВ стандарте явно ничего по поводу уникальных полей не прописано (в противном случае во всех СУБД это было бы реализованно одинаково) Добро пожаловать в реальный мир. http://www.cse.iitb.ac.in/dbms/Data/Papers-Other/SQL1999/ansi-iso-9075-2-1999.pdf разд. 4.17.2 "Table Constraints" "A unique constraint is satisfied if and only if no two rows in a table have the same non-null values in the unique columns. In addition, if the unique constraint was defined with PRIMARY KEY, then it requires that none of the values in the specified column or columns be a null value." Выделено мной. Т.е. если значения null, то может повторяться сколько угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 05:17 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2 hvlad Виноват, не заметил. Авторство не оспариваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 05:23 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
c127Т.е. если значения null, то может повторяться сколько угодно. Строго математически - из этого мало что следует. Допускается повторение null и это не нарушает стандарт; в то же время, как водится, и недопущение повторения null-ов его тоже не нарушает - во всяком случае я бегло не нашел фразы, и Вы такой вроде бы не привели. Реализовано решение, которое соответствует стандарту и накладывает дополнительное, не предусмотренное стандартом ограничение. Практически - я бы сказал, требование уникальности null-ов оправдано, если применяется совместно со связкой по null-у - в смысле, если запрос вида Код: plaintext способен вернуть непустой результат. Но это вроде бы уже явно нарушает стандарт и - по моему опыту - ведет к очень противным ошибкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 06:02 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
c1272 hvlad Виноват, не заметил. Авторство не оспариваю.Я тоже не оспариваю - оно у соотв. комитета ANSI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 14:43 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
2 softwarer c127Т.е. если значения null, то может повторяться сколько угодно. Строго математически - из этого мало что следует. Допускается повторение null и это не нарушает стандарт; в то же время, как водится, и недопущение повторения null-ов его тоже не нарушает - во всяком случае я бегло не нашел фразы, и Вы такой вроде бы не привели. По-моему в приведенной c127 цитате все совершенно однозначно. Нет двух строк с одинаковыми ненулловыми значениями (в уникальных столбцах) -> уник констрейнт сатисфаед. И наоборот. По определению. If and only if. Тогда и только тогда. Необходимо и достаточно. Реализовано решение, которое соответствует стандарту Не соответствует. Нет двух строк с одинаковыми ненулловыми значениями, но тем не менее (по прихоти разработчика) уник констрейнт получился не сатисфаед. Не выполняется один из двух if-ов в буквосочетании "if and only if" и накладывает дополнительное, не предусмотренное стандартом ограничение. И из всего этого получается некий (свой собственный) констрейнт. Но этот свой собственный констрейнт - это не Unique Constraint. По крайнем мере, не Unique Constraint в ANSI-шном понимании этого слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:15 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
hvlad c1272 hvlad Виноват, не заметил. Авторство не оспариваю.Я тоже не оспариваю - оно у соотв. комитета ANSI Я не оспариваю авторства решения задачи. Приведя цитату из стандарта, Вы первым решили обсуждаемую задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 01:08 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
ЛПИ из всего этого получается некий (свой собственный) констрейнт. Но этот свой собственный констрейнт - это не Unique Constraint. По крайнем мере, не Unique Constraint в ANSI-шном понимании этого слова. Согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 13:01 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
hvladПосмотрим же наконец в стандарт. У меня есть только SQL 2002 Вопросы ? Какие вопросы? Микрософт - козлы. Извините, что поздно присоединилась. Искала ответ на свое недоумение, нашла и ... не могу прийти в себя. Вот моя маленькая история. Сменила работу. Как следствие, сменила oracle на ms sql server. Перед проектированием бд прочилата(!!!! решила в кои-то веки документацию почитать :-#) ОФИЦИАЛЬНУЮ документацию к учебному курсу "Проектирование и реализация баз данных MS SQL Sqerver 2000" Цитирую: Ограничения UNIQUE разрешается определить для столбцов, допускающих пустые значения (NULL)... ... SQL Server 2000 проверяет имеющиеся в столбцах данные, чтобы гарантировать уникальность ВСЕХ значений, КРОМЕ пустых. И вот бд спроектирована, тестирую... Добро пожаловать в реальный мир! Микрософт - ... нет слов, одни нецензурные выражения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 12:25 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Dreamy_Helga hvladПосмотрим же наконец в стандарт. У меня есть только SQL 2002 Вопросы ? Какие вопросы? Микрософт - козлы. Извините, что поздно присоединилась. Искала ответ на свое недоумение, нашла и ... не могу прийти в себя. Вот моя маленькая история. Сменила работу./. Хотите угадаю Вашу реакцию в первый рабочий день на новом месте? "Прихожу я на работу - сидят одни козлы" Девушка, ну что же Вы первое своё сообщение начинаете с ругани? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:05 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Dreamy_HelgaОФИЦИАЛЬНУЮ документацию к учебному курсу "Проектирование и реализация баз данных MS SQL Sqerver 2000" А надо все-таки было BOL читать: Also, unlike PRIMARY KEY constraints, UNIQUE constraints allow the value NULL . However , as with any value participating in a UNIQUE constraint, only one NULL value is allowed per column . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 10:07 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
pkarklin Dreamy_HelgaОФИЦИАЛЬНУЮ документацию к учебному курсу "Проектирование и реализация баз данных MS SQL Sqerver 2000" А надо все-таки было BOL читать: Also, unlike PRIMARY KEY constraints, UNIQUE constraints allow the value NULL . However , as with any value participating in a UNIQUE constraint, only one NULL value is allowed per column . ок, так и сделаю (и сразу проверять - на всяк случай) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 17:10 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Dreamy_Helga pkarklin Dreamy_HelgaОФИЦИАЛЬНУЮ документацию к учебному курсу "Проектирование и реализация баз данных MS SQL Sqerver 2000" А надо все-таки было BOL читать: Also, unlike PRIMARY KEY constraints, UNIQUE constraints allow the value NULL . However , as with any value participating in a UNIQUE constraint, only one NULL value is allowed per column . ок, так и сделаю (и сразу проверять - на всяк случай)все проверять нужно в любом случае, и неважно какой продукт. А то что MS SQL отличается от Oracle и наоборот - так это давно известный факт. Удивительно что вы думали работать с MSSQL как с Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 17:56 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
segunвсе проверять нужно в любом случае, и неважно какой продукт. А то что MS SQL отличается от Oracle и наоборот - так это давно известный факт. Удивительно что вы думали работать с MSSQL как с Oracle. В том то и дело, что в не-мелкософтовских продуктах ВСЕ проверять как раз не нужно, оно работает как написано в документации. Это у серьезных производителей, не обязательно больших и не обязательно платных. Поработав с мелкософтом и привыкнув к необходимости все проверять, переходишь потом на другой продукт и не устаешь удивляться, когда все пишешь по документации и оно сразу работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 03:29 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
c127В том то и дело, что в не-мелкософтовских продуктах ВСЕ проверять как раз не нужно, оно работает как написано в документации. Ой, я Вас умоляю... Metalink по объемам ни чуть не меньше MSKB. И то что безбажных продуктов не бывает сие есть факт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 09:25 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
pkarklin Ой, я Вас умоляю... Metalink по объемам ни чуть не меньше MSKB. И то что безбажных продуктов не бывает сие есть фактгыгыгы. праблема та не фтом, шо бумага кривая, а фтом, шо в бумаге "как должно быть" (по стандарту) а по фахту -"как есь" - т.е. криво. Т.е. вруть не без умысла, а в маркетинговых целлях. А фсе туть сразу деушек пинать. Мелко, гс-да, мелл ко. И мяхкавата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 15:21 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
4321гыгыгы. праблема та не фтом, шо бумага кривая, а фтом, шо в бумаге "как должно быть" (по стандарту) а по фахту -"как есь" - т.е. криво.Т.е. вруть не без умысла, а в маркетинговых целлях. Эээ... Жду от Вас и от с127 цитат из BOL, где описано одно и сказано, что это по стандарту, а на самом деле не так! Особенно, когда это приподносится в "маркетинговых целлях"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 15:54 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Сорри, не дописал. С учетом того, что: The Microsoft® SQL Server™ 2000 Transact-SQL version complies with the Entry level of the SQL-92 standard , and supports many additional features from the Intermediate and Full levels of the standard. А support for the UNIQUE predicate - это Intermediate level. Так что лично я не вижу здесь нарушения стандарта. ;) Причем, о том, как отличается UNIQUE в MS SQL, от SQL-92 Intermediate level указано таки в документации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 16:03 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
pkarklin лично я не вижу здесь нарушения стандарта. pkarklin о том, как отличается UNIQUE в MS SQL, от SQL-92 Intermediate level указано таки в документации. радд завас. И пошто деушек шпыниаите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 17:25 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
4321 pkarklin лично я не вижу здесь нарушения стандарта. pkarklin о том, как отличается UNIQUE в MS SQL, от SQL-92 Intermediate level указано таки в документации. радд завас. И пошто деушек шпыниаите? Я бы согласился с Вашим хохотом, если бы в документации по сиквел серверу было бы упомянуто о том, что он complies with the Intermediate level of the SQL-92 standard. А так - это просто детали реализации, которые не complies with SQL-92. ;) На счет девушек... Ничего личного... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 17:38 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
pkarklin Я бы согласился с Вашим хохотом, если бы в документации по сиквел серверу было бы упомянуто о том, что он complies with the Intermediate level of the SQL-92 standard. А так - это просто детали реализации, которые не complies with SQL-92. ;) да entry level это большое достижение :) дока от MySql 4.0 1.8.1 What Standards MySQL Follows Entry-level SQL-92. ODBC levels 0-3.51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 19:45 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Yo!!да entry level это большое достижение :) Не... Большое достижение это: supports many additional features from the Intermediate and Full levels of the standard . ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2005, 09:11 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
pkarklin Yo!!да entry level это большое достижение :) Не... Большое достижение это: supports many additional features from the Intermediate and Full levels of the standard . ;) Ага, до 60% у 30% женщин :o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2005, 10:37 |
|
||
|
UNIQUE в MS SQL и в ORACLE
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) pkarklin Yo!!да entry level это большое достижение :) Не... Большое достижение это: supports many additional features from the Intermediate and Full levels of the standard . ;) Ага, до 60% у 30% женщин :o) Дык я ж и не спорю... на счет процетнов... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2005, 10:48 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%A4%D0%BB%D1%88]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 690ms |
| total: | 861ms |

| 0 / 0 |
