|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
SQL:2011only if there is a row of the referenced table that matches all the non-null referencing columns. Мда, формулировочка... Daddy: (1, 2, 3 ) -- unique key: 2,3 Child: (-1, 2, NULL ) -- Foreign Key: 2, NULL Если по "букве закона", то такое должно быть нормально для MATCH PARTIAL Какой в этом практический смысл - хз ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 15:43 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
AriochКакой в этом практический смысл - хз Точно такой же как и в unique с null-ами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 15:45 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, чтобы "точно такой же" (2, Null) не должен соответсвовать (2,3), также как это считаются корректными но разными значениями внутри unique Но процитированное - если читать буквально - означает что значение (2,null) внешнего индекса соответствует любым значениям (2, что-нибудь) родительской таблицы. Это совсем другoе дело ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 17:31 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Arioch, нет как раз наоборот означает что значение (2,null) внешнего индекса не соответствует любым значениям (2, что-нибудь) родительской таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 17:33 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Arioch, "стандарт плох, но таков стандарт" © ДЕ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 17:35 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Симонов Денис, с какой стати не соответсвует, если соответсвует ? "matches all the non-null referencing columns" Нуллы во внимание просто не принимаются, игнорируются при сравнении, как если бы соотв. столбцы не входили в ключи. ...а то, что это стандарт, я не спорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 18:31 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Ariochс какой стати не соответсвует, если соответсвует ? "matches all the non-null referencing columns" ты урезал оригинал. а там написано MATCH SIMPLE: if at least one referencing column is null, then the row of the referencing table passes the constraint check. If all referencing columns are not null, then the row passes the constraint check if and only if there is a row of the referenced table that matches all the referencing columns. если хотя бы один столбец ссылки содержит null, то строка проходит контроль ссылочной целостности. Если ВСЕ столбцы FK not null, то строка проходит контроль только если есть точно соответствующая строка в таблице, на которую ссылается FK. То есть - заполнены все столбцы - контроль есть. Хоть один стольбец null - контроля соответствия нет. null <> null, поэтому 1, null <> 1, null. А вот с MATCH PARTIAL - так как тебе кажется: If at least one referencing columns is not null, then the row passes the constraint check if and only if there is a row of the referenced table that matches all the non-null referencing columns. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 23:29 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
kdvAriochс какой стати не соответсвует, если соответсвует ? "matches all the non-null referencing columns" ты урезал оригинал. а там написано MATCH SIMPLE: Стоп-стоп-стоп, какой нафиг SIMPLE ? 19019548 - я как раз именно писал про PARTIAL и только про PARTIAL kdvА вот с MATCH PARTIAL - так как тебе кажется: о чем и речь: получается, что отдельно взятая запись FK иногда мoжет соответствовать сразу нескольким записям в мастере. ...что на мой взгляд отдаёт бредом, хотя возможно мне просто мозгов не хватает представить когда это было бы реально нужно. Фактически в этом контексте NULL станолвится как звёздочка в именах файлов - "подходит всё". Но - зачем? Хотя, спору нет, dura SQL sed SQL... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:02 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Hello, Arioch! You wrote on 6 апреля 2016 г. 13:11:19: Arioch> о чем и речь: получается, что отдельно взятая запись FK иногда мoжет соответствовать сразу нескольким записям в мастере. > ...что на мой взгляд отдаёт бредом, хотя возможно мне просто мозгов не хватает представить когда это было бы реально нужно. множественное наследование в ООП Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:11 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
AriochФактически в этом контексте NULL станолвится как звёздочка в именах файлов - "подходит всё". ну, насколько я понимаю, запись в детали (2, null) будет соответствовать записям в мастере (2, null), (2, 1), (2, 2)... если это надо исключить, и соответствовать только (2, null) мастера, тогда надо использовать match full. Собственно, simple, partial и full как раз покрывают все возможные варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:20 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
kdvесли это надо исключить, и соответствовать только (2, null) мастера, тогда надо использовать match full. Авотфиг: If some referencing column is null and another referencing column is nonnull, then the row of the referencing table violates the constraint check . Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:24 |
|
Непонятки с null-able FOREIGN KEY
|
|||
---|---|---|---|
#18+
Arioch, стандарт он такой как есть, теперь менять поздно. Для возмущающихся есть трекер, где можно пожелать предложение MATCH [SIMPLE | PARTIAL | FULL]. Но умолчательное поведение никто менять не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:31 |
|
|
start [/forum/search_topic.php?author=ValeoBrother&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
373ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 441ms |
total: | 925ms |
0 / 0 |