Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JOIN и UNION, переводы на русский язык
 
 автор: Trianon (из кафе)   (05.06.2009 в 10:20)
 
 

что за зверь такой - самообъединение?

  Ответить  
 
 автор: Valick   (05.06.2009 в 10:36)   письмо автору
 
   для: Trianon (из кафе)   (05.06.2009 в 10:20)
 

ну когда выборку из таблицы по средствам JOIN объединяют с другой выборкой из этой же таблицы
или я загоняюсь уже?
Кстати, приятного аппетита)

  Ответить  
 
 автор: cheops   (05.06.2009 в 11:40)   письмо автору
 
   для: Trianon (из кафе)   (05.06.2009 в 10:20)
 

Используется такой термин в русскоязычной литературе, как раз как это описывает Valick.

  Ответить  
 
 автор: Trianon (из кафе)   (05.06.2009 в 13:28)
 
   для: cheops   (05.06.2009 в 11:40)
 

Я могу предположить лишь кривую кальку с английского self-joined table (tbl AS t1 JOIN tbl AS t2), но не представляю как в этом примере такую конструкцию можно применить.

Кривакя калька потому, что применять термин объединение для операции JOIN неправильно.
Неправильно, некорректно, неудобно наконец. Так как термин этот уже нагружен операцией UNION - совсем другой табличной операцией. А для JOIN есть термин соединение.
-

  Ответить  
 
 автор: Valick   (05.06.2009 в 14:28)   письмо автору
 
   для: Trianon (из кафе)   (05.06.2009 в 13:28)
 

намёк понял
но вот как раз лично я бы назвал UNION соединением
постараюсь в будущем отказаться от этих русскоязычных терминов

но не представляю как в этом примере такую конструкцию можно применить

алиасы дать не самой таблице, а результатам выборки

  Ответить  
 
 автор: Zilog   (05.06.2009 в 14:29)   письмо автору
 
   для: Trianon (из кафе)   (05.06.2009 в 13:28)
 

Ребята, всем спасибо за участие. Как я понимаю, лучшее решение - с использовением БД.

Тепеь думаю о следующем: если сайт предполагает наличиие других "переводных" мест - может таблицу с переводами строк сделать универсальной, для всех случаев (т.е. не только для фоток)?

  Ответить  
 
 автор: Valick   (05.06.2009 в 14:36)   письмо автору
 
   для: Zilog   (05.06.2009 в 14:29)
 

а что мешает?)

  Ответить  
 
 автор: cheops   (05.06.2009 в 21:09)   письмо автору
 
   для: Trianon (из кафе)   (05.06.2009 в 13:28)
 

>Кривакя калька потому, что применять термин объединение для операции JOIN
>неправильно.
Тем не менее для JOIN везде последовательно используется термин объединение, если честно даже не нашел книг в своей библиотеке, где бы эта операция по другому бы называлась (первые попавшиеся книги по чистому SQL, PostgreSQL, MS SQL и MySQL говорят именно об объединении таблиц при использовании оператора JOIN, причем книги досточно старые - т.е. такая терминология давно уже прижилась).

  Ответить  
 
 автор: Trianon   (05.06.2009 в 21:32)   письмо автору
 
   для: cheops   (05.06.2009 в 21:09)
 

Как Вы называете операцию UNION над таблицами ?

И как Вы называете операцию над множествами, результатом которой является множество, содержащее элементы всех своих операндов?

http://www.intuit.ru/department/database/sql/5/2.html
http://www.intuit.ru/department/database/sql/5/3.html

Собственно, мне как-то всё равно, сколько [переводов] книг использовало термин неудачно...
Изначально я интересовался, как автор идеи собирается прикрутить self-joined table к проблеме.
Ясности так и не увидел.

  Ответить  
 
 автор: cheops   (05.06.2009 в 21:55)   письмо автору
 
   для: Trianon   (05.06.2009 в 21:32)
 

>Как Вы называете операцию UNION над таблицами ?
Объединением, как и авторы (вернее переводчики) других книг, первым делом это посмотрел.

>И как Вы называете операцию над множествами, результатом которой является множество,
>содержащее элементы всех своих операндов?
Объединением. Если результатом, является множество, содержащее элементы, присутствующих в обоих операндах - пересечением.

Вероятно от соединения в пользу объединения отказались так как первый термин, не смотря на всю неоднозначность, более понятен читателю.

  Ответить  
 
 автор: Trianon   (05.06.2009 в 22:00)   письмо автору
 
   для: cheops   (05.06.2009 в 21:55)
 

>Вероятно от соединения в пользу объединения отказались так как первый термин, не смотря на всю неоднозначность, более понятен читателю.

Не жалеете?
Или Вы хотите сказать, что это было требование редактора?

  Ответить  
 
 автор: cheops   (05.06.2009 в 22:24)   письмо автору
 
   для: Trianon   (05.06.2009 в 22:00)
 

>Не жалеете?
>Или Вы хотите сказать, что это было требование редактора?
Да нет, просто посмотрели как в других книгах принято обозначать операцию и использовали такую же терминологию. Собственно, сожаления никакого нет, как и по поводу того, что PHP получил распространение в РФ, а скажем не Java, Python или Ruby. Ну получил и получил, будем работать с тем, что есть.

  Ответить  
 
 автор: sim5   (06.06.2009 в 08:09)   письмо автору
 
   для: cheops   (05.06.2009 в 22:24)
 

union (cуществительное) - союз (объеденение)

join (cуществительное) - соединение с ..., объединение с ...
join (глагол) - присоединяться (присоеденить)

UNION используется для объединения результатов работы нескольких команд SELECT в один набор результатов. (из учебников)

А для JOIN как раз более подходит присоединение, так как тут речь идет о явной зависимости. Хотя это мое мнение, да и в MySQL учебниках просто бардак, и его изучать сложно....

  Ответить  
 
 автор: cheops   (06.06.2009 в 14:00)   письмо автору
 
   для: sim5   (06.06.2009 в 08:09)
 

Это к переводчикам - просто можете на угад любую книгу, по любой базе данных брать, как я вчера, и увидите там объединение, вместо соединения и присоединение, в лучем случае, когда речь заходит об объединении, добавляется слово "декартово".

>MySQL учебниках просто бардак
Это отпечаток очень мутной ранней документации раннего периода, пока за неё Дюбуа не взялся, в ней черт ногу мог сломать - обрывки сведений в перемешку с внутренней реализацией. Не должны разработчики документацию на интерфейсы составлять - у них голова другим забита (однако в свободном проекте обычно именно так и бывает - по сути ориентироваться в документации без знания другой базы данных было не возможно, в документации PHP ситуация тоже очень похожа).

  Ответить  
 
 автор: sim5   (06.06.2009 в 14:51)   письмо автору
 
   для: cheops   (06.06.2009 в 14:00)
 

Вообще-то да, но на мой взгляд в РНР проще, и даже для начинающего будет достаточно маула, если есть у него умение мыслить логически. А вот MySQL, это зачастую хорошие справочники, редко претендующие на звание Учебник.
Если проанализировать этот раздел, то большая часть вопросов как раз по выборке из базы, и казалось бы, все в "учебнике" есть, но вот чтобы научиться строить их так, как на вопросы отвечает, к примеру, Trianon, то эти учебники как раз и не должны страдать "обрывками сведений в перемешку с внутренней реализацией". А это таки и есть.

  Ответить  
 
 автор: Valick   (06.06.2009 в 15:25)   письмо автору
 
   для: sim5   (06.06.2009 в 14:51)
 

но вот чтобы научиться строить их так, как на вопросы отвечает, к примеру, Trianon
для этого надо знать практически все возможности базы, а не достаточный минимум для написания одного варианта решения проблемы.

  Ответить  
 
 автор: sim5   (06.06.2009 в 15:31)   письмо автору
 
   для: Valick   (06.06.2009 в 15:25)
 

Для того чтобы работать с одним типом, достаточно хорошо знать одну, но чтобы ее хорошо знать, нужен хороший и обширный учебник, с тонкостями, в этом как раз и проблем. ;-)

  Ответить  
 
 автор: Valick   (06.06.2009 в 16:04)   письмо автору
 
   для: sim5   (06.06.2009 в 15:31)
 

я как раз и имел ввиду все возможности одной базы, например MySQL :)

  Ответить  
 
 автор: sim5   (06.06.2009 в 16:10)   письмо автору
 
   для: Valick   (06.06.2009 в 16:04)
 

А я о чем? Мне иногда кажется, что Trianon родился уже с книжкой по MySQL в руках, причем с удачным учебником.... Есть у меня вроде бы хороший учебник, но PDF, а его содержимое это картинки, не шибко то хочется читать таковой.... Я о проблеме учебника, а не о часах проведенных за ним. ;-)

  Ответить  
 
 автор: mihdan   (06.06.2009 в 16:22)   письмо автору
 
   для: sim5   (06.06.2009 в 16:10)
 

>Мне иногда кажется, что Trianon родился уже с книжкой по MySQL в руках
поддерживаю ;) Не раз этот человек выручал меня

  Ответить  
 
 автор: cheops   (06.06.2009 в 16:23)   письмо автору
 
   для: sim5   (06.06.2009 в 16:10)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования