Март 2004


Сделано в России


Александр Соколов
Компания РДТЕХ
(mailto:ap_sokolov@mail.ru)
(под редакцией М. Р. Когаловского,
mailto:kogalov@cemi.rssi.ru)

О чистоте русского языка и точности терминологии
(часть IXX)

 

  • Введение
  • Из переписки
  • correlation number
  • log switch
  • raw data
  • shut down the database
  • autonomous vs. standalone
  • endpoint
  • protocol address
  • cluster interconnect
  • member function, member procedure
  • member method / static method
  • Star schema
  • Summary table
  • Fact table
  • MERGE
  • Merging into a Table
  • partition view
  • Mergeable and Nonmergeable Views, push join predicate
  • stride
  • revoke
  • ping, pinging
  • incremental
  • feature

    Введение
    Данный выпуск колонки посвящен продолжению обсуждения терминологических вопросов, возникших в процессе перевода комплекта документации СУБД Oracle9i, который был выполнен компаниями РДТЕХ (www.rdtex.ru) и ITI Ltd. (www.iti.ru). Обсуждение некоторых терминов технологии Oracle9i Streams вынесено в отдельный раздел колонки.

    Примечание. Полученные и отправленные корреспондентам материалы подвергаются некоторой редакторской правке. Естественно, в пользу ведущего колонки, но с сохранением смыслового содержания переписки.

    Из переписки

    correlation number

    Контекст.
    The correlation number can be any number and is used to correlate this ancillary function with its primary condition.

    Предложение переводчика.
    "коэффициент корреляции"

    Комментарий А.Майорова (mayorov@rdtex.ru).
    Мне кажется, что это нормально.

    Комментарий В.Сусойкина (susoikin@rdtex.ru).
    В этом контексте, на мой взгляд, неправильно (опасно) переводить "correlation number" как коэффициент корреляции. Ведь здесь речь идет о функции PATH, используемой для доступа к XML-документам. Здесь вообще, на мой взгляд, нет никакой статистики.

    В Oracle есть функция REGR_R2 (коэффициент детерминации). Известно, что коэффициент детерминации – это квадрат коэффициента корреляции. Как бы с этим нам не спутать, то число, что передается в функцию PATH для доступа к XML-документам.

    Дополнение В.Сусойкина.
    Кстати, функция CORR как раз и вычисляет коэффициент корреляции (в смысле математической статистики).

    Комментарий А.Майорова.
    Да, здесь Виктор прав, по сути речь идет об указателе. Может так и перевести как "указатель".

    Комментарий И.Абдуллина (irek@rdtex.ru).
    Если я правильно понимаю, это похоже по смыслу на "correlation variable", т.е. используется для связывания фрагментов команды, играя роль цифровой метки. Может быть, тогда и поступить по аналогии.

    Резюме.
    "коррелирующий номер" (см. обсуждение термина "correlation variable" в предыдущем выпуске нашей колонки)

    log switch

    Контекст.
    The point at which LGWR stops writing to the active redo log file and switches to the next available redo log file. LGWR switches when either the active log file is filled with redo records or you force a switch manually. (Backup and Recovery Concepts)

    Старый перевод.
    "переключение журнала"

    Предложение А.Соколова.
    Термин "переключение журнала" вводит в заблуждение переводчиков и читателей. Дело в том, что экземпляр СУБД Oracle для журнализации транзакций может иметь только один журнал, "redo log":

    "A set of files that protect altered database data in memory that has not been written to the datafiles. The redo log can consist of two parts: the online redo log and the archived redo log." (Backup and Recovery Concepts)

    Вместе с тем, в документации вместо "redo log file" часто как синоним пишется просто "log" (естественно, машинально это переводится как "журнал", что не соответствует определениям из глоссария Oracle).

    Предлагаю "log switch" переводить как "переключение журнальных файлов", что полностью соответствует смыслу этого термина.

    Комментарий И.Абдуллина.
    Мне кажется, "переключение журнальных файлов" – это правильное и естественное уточнение.

    Комментарий С.Мисюры (misiura@rdtex.ru).
    Поддерживаю предложение – я именно такой термин и использую при чтении курсов и обсуждении соответствующих проблем – "переключение журнальных файлов".

    Резюме.
    "переключение журнальных файлов" (Заметим, то же самое относится и к "log sequence number" – не "порядковый номер журнала" , а "порядковый номер журнального файла".)

    raw data

    Предложение А.Майорова.
    Предлагаю переводить raw data ( имеется ввиду тип RAW), как "неструктурированные данные". Сейчас в глоссарии – "необработанные входные данные". Последнее, видимо, предложено кем-то с физическим наследством. В случае Оracle, как известно, ни о какой обработке речи нет. Это данные, как правило, двоичные, о структуре которых не делается никаких предположений.

    Комментарий А.Соколова.
    Термин "неструктурированные данные" уже занят. По всем словарям это действительно "необработанные данные". Слово "входные" я из глоссария на всякий случай убрал.

    Комментарий А.Криушина (kriushin@rdtex.ru).
    Извините, если не совсем к месту. Есть такой устоявшийся термин "raw device", который мы в контексте работы АБД обычно переводим как "сырое устройство". Правда, "сырые данные" не звучит...

    По сути, это "скаляр, который не является иным базовым скалярным типом данных". Не мудрствуя лукаво, "данные типа raw"?

    Комментарий А.Соколова.
    Извините, но "сырое устройство" – это жаргон.

    В глоссарии есть переводы:

    • RAW datatype – тип данных RAW (необработанные данные).
    • raw devices – RAW-устройства.

    Замечание Ю.М.Сайгина (saigin@rdtex.ru).
    То же замечание. Нам нужен не перевод, а термин, который, в идеале, является кратким определением.

    Комментарий А.Пересыпкина (aperesypkin@mail.ru).
    В словарях корпорации Майкрософт термин "raw data" часто переводится как "исходные данные". Что же касается Oracle, то в справочнике по SQL есть такое определение: "The RAW and LONG RAW datatypes store data that is not to be interpreted (not explicitly converted when moving data between different systems) by Oracle. These datatypes are intended for binary data or byte strings. For example, you can use LONG RAW to store graphics, sound, documents, or arrays of binary data, for which the interpretation is dependent on the use." (жирным шрифтом выделил я, а не авторы справочника )

    Итак, "raw data" – это двоичные данные или строки байтов. Исходя из этого можно предложить два варианта перевода raw data:

    • двоичные данные
    • неинтерпретируемые данные

    Теперь о термине raw device: В различных словарях встречаются следующие переводы:

    1. неформатированная единица
    2. исходное устройство

    Определение raw device из документации Oracle:

    raw device
    A disk drive that does not yet have a file system set up. Raw devices are used for Real Application Clusters since they enable the sharing of disks. raw devices

    Disks or partitions on disk drives that do not have a file system set up on them. Raw devices are used for Real Application Clusters since they enable the sharing of disks.

    Итак, raw device – это:

    • неформатированный диск
    • диск без файловой системы

    Резюме.

    Предлагается:

    • RAW datatype – тип данных RAW (двоичные данные).;
    • raw data – двоичные данные;
    • raw device – диск без файловой системы.

    Комментарий А.Бачина (abachin@fors.ru).
    Raw device – вовсе не <...> диск, а именно устройство, так как в UNIX-подобных системах (говорим только о дисковых устройствах) device – и диск в целом, и слайс диска, то есть, его физическая часть, и (на разных RAID) логическая группа полос и участков, и т.п.

    Поэтому raw device – потоковое, байтовое, неформатированное, без файловой системы, сырое, небуферируемое и т.д. УСТРОЙСТВО для хранения данных в битовом представлении.

    Резюме вдогонку.
    Анатолий прав, называть "устройство" "диском" не следует без особых на то причин. На практике, однако, оказалось, термином "диск (устройство) без файловой системы" пользоваться весьма неудобно при частом его вхождении в текст. Есть вполне нормальные синонимы: "чистый" диск (устройство), "чистый" раздел (raw partition) – см., например, http://www.citforum.ru/database/skbd/glava_5.shtml.

    shut down the database

    Контекст.
    If you shut down and restart the database, the database is still in FORCE LOGGING mode.

    Предложение переводчика.

    "остановить базу данных"

    Комментарий А.Соколова.
    Мне кажется, останавливается не база данных, а "экземпляр СУБД".

    Комментарий А.Криушина.
    Предложение переводчика: "остановить базу данных" – жаргон.

    Согласен с комментарием А.Соколова. Для RAC (в некоторых случаях) останавливаются ВСЕ ЭКЗЕМПЛЯРЫ.

    Комментарий А.Соколова.
    Напоминаю об определении из "Концепций":

    "An Oracle server consists of an Oracle database and an Oracle server instance. Every time a database is started, a system global area (SGA) is allocated and Oracle background processes are started. The combination of the background processes and memory buffers is called an Oracle instance ".

    Резюме.
    "остановить экземпляр [СУБД]"

    Перевод приведенного выше определения:
    "Сервер Oracle состоит из базы данных и экземпляра Oracle. При каждом запуске сервера выделяется системная глобальная область SGA и запускаются фоновые процессы. Такая совокупность фоновых процессов и буферов памяти называется экземпляром Oracle".

    autonomous vs. standalone

    Замечание И.Абдуллина.
    Неизбежное свершилось: в Application Developer's Guide – Fundamentals в одном контексте (Глава 7, раздел Autonomous Transactions):

    "An autonomous transaction executes within an autonomous scope. An autonomous scope is a routine you mark with the pragma (compiler directive) AUTONOMOUS_TRANSACTION. The pragma instructs the PL/SQL compiler to mark a routine as autonomous (independent). In this context, the term routine includes:

    • Top-level (not nested) anonymous PL/SQL blocks
    • Local, standalone, and packaged functions and procedures
    • Methods of a SQL object type
    • PL/SQL triggers

    Хотелось бы, чтобы "autonomous" было "автономный". А у нас "автономный" – это "standalone". В словаре Abbyy Lingwo для "standalone" есть единственное значение: "самостоятельный". Берем? Хотя мне и не очень нравится.

    Ответ А.Соколова.
    В http://www.kolbi.ru/cgi/dict/s.pl "stand-alone:" – автономный, отдельный, не входящий в систему # работающий без других программ, библиотек, локальной сети и т. п. по контексту. А "standalone debugger" – внешний, отдельный (невстроенный) отладчик .

    Комментарий И.Абдуллина.
    Ты, может быть, не понял, что речь идет о standalone subprogram, т.е. подпрограмме, которая не входит в пакет и существует как самостоятельный объект БД.. Если "автономный" занято под autonomous, "отдельный" – это не термин (как ты или Юра говорите), "внешний" не подходит вообще, то и возникает тот вопрос, который я задал. Если сейчас его не решить, он обязательно возникнет, когда переводчики дойдут до указанного мной фрагмента.

    Короче, я предлагаю еще раз:

    • "autonomous" -"автономный",
    • "standalone subprogram" – "самостоятельная подпрограмма".

    Резюме.
    Предложение принято.

    Комментарий А.Майорова.
    Может лучше "независимая, нежели "самостоятельная"? Кстати, в том контексте, что привел Ирек по поводу autonomous transaction. Вполне можно было бы переводить autonomous как "изолированная". Особенно если посмотреть контекст пошире:

    "At times, you may want to commit or roll back some changes to a table independently of a primary transaction’s final outcome. For example, in a stock purchase transaction, you may want to commit a customer’s information regardless of whether the overall stock purchase actually goes through. Or, while running that same transaction, you may want to log error messages to a debug table even if the overall transaction rolls back. Autonomous transactions allow you to do such tasks. An autonomous transaction (AT) is an independent transaction started by another transaction, the main transaction (MT). It lets you suspend the main transaction, do SQL operations, commit or roll back those operations, then resume the main transaction."

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

    Комментарий И.Абдуллина.
    Наверное, Андрей прав, что не стоит трогать уже устоявшийся термин: "standalone subprogram" – "автономная подпрограмма".

    Про вариант "standalone subprogram" – "независимая подпрограмма" я уже говорил Андрею, что это будет плохо сочетаться с подпрограммой, зависимой (в смысле "dependencies") от объектов схемы. Также я заметил, что "autonomous transaction" – "изолированная транзакция" может запутать в сочетании с "transaction isolation level". "Выделенная (под)транзакция", мне кажется, не тянет на термин.

    Можно попробовать оставить: "autonomous transaction" – "автономная транзакция", а для "autonomous routine" ввести новый термин "подпрограмма-транзакция", поскольку при вызове таких подпрограмм или активизации триггера они выполняются в рамках автономной (независимой) транзакции.

    Итак, мои предложения:

    • "standalone subprogram" – "автономная подпрограмма"
    • "autonomous transaction" – "автономная транзакция"
    • "autonomous routine" – "подпрограмма-транзакция"

    Хотя, наверное, при переводе приведенного в начале здесь фрагмента из Application Developer's Guide потребуются довольно тонкие формулировки.

    Резюме.
    Данное предложение принято. Хотя термин "подпрограмма-транзакция" кажется довольно странным.

    Комментарий Н.Костюкевич (Natalia.Kostioukevitch@iti.ru).
    Я так и не поняла, какое предложение принято. По-моему, автономная или независимая программа – это одно и то же. Если перевод слова "stand-alone" словом "автономный" устоялся, не вижу причин, запрещающих переводить и "stand-alone", и "autonomous" как "автономный" (autonomous transaction – автономная транзакция, standalone subprogram/autonomous routine – автономная подпрограмма, программа и т.д.). Да мало ли что еще может быть автономным? В отрыве от контекста любое из предложенных слов может быть непонятно без напоминания или ссылки. Если в примере слово "autonomous" специально поясняется, как "independent", давайте тоже скажем "автономная" и затем в скобках "независимая", но зачем придумывать что-то еще (например, подпрограмма-транзакция)? Мой опыт показывает, что по возможности не следует соединять в терминах разные "понятия". В тексте можно что-то пояснить, но в терминах транзакция должна быть транзакцией, а программа программой.

    Ответ А.Соколова.
    Сейчас в глоссарии ИТИ:

    • "standalone subprogram" – "автономная подпрограмма"
    • "autonomous transaction" – "автономная транзакция"
    • "autonomous routine" – "подпрограмма-транзакция"

    Но термин "подпрограмма-транзакция" меня не устраивает. Может быть "подпрограмма (процедура) выполнения автономных транзакций"?

    Комментарий И.Абдуллина.
    Я хочу пояснить проблему еще раз. "Standalone subprogram" (с 1994 г. в наших переводах "автономная подпрограмма") – это хранимая подпрограмма, создаваемая командой SQL "CREATE PROCEDURE" и представляющая собой самостоятельный объект схемы, в отличие от пакетной подпрограммы.

    "Autonomous routine" – это блок PL/SQL, локальная, АВТОНОМНАЯ ("standalone") или пакетная подпрограмма, метод объектного типа или триггер, имеющие в своем разделе объявлений прагму AUTONOMOUS_TRANSACTION. Их выполнение представляет собой автономную транзакцию.

    Короче говоря, подпрограмма может быть одновременно "standalone" и "autonomous", т.е. дважды автономной, но в разных смыслах.Если "autonomous routine" – "подпрограмма выполнения автономных транзакций" не кажется слишком длинным, то я не против.

    Резюме.
    "autonomous routine" – "подпрограмма выполнения автономных транзакций"

    Предложение И.Абдуллина.
    При редактировании 6-ой главы PL/SQL встретился тот же самый фрагмент, который я привел в начале дискуссии. Но здесь есть большое продолжение, где постоянно используются вместе "autonomous" и "standalone". Вариант "autonomous routine" как "подпрограмма выполнения автономных транзакций" – слишком длинный, чтобы повторять его 10 раз на страницу. Поэтому придется, наверное, все-таки изменить перевод "standalone". Снова возвращаюсь к своим предложениям:

    • "autonomous" -"автономный",
    • "standalone subprogram" – "самостоятельная подпрограмма".

    Резюме.
    Предложение принято.

    Комментарий М.Вольштейна (Mark.Volshtein@iti.ru)..
    Термин standalone встречался во многих книгах, которые мы раньше переводили, и везде он переводился как "автономный". Как читатель сможет понять такую метаморфозу?

    Кроме того, как тогда переводить предложение: "In the following example, you mark a standalone function as autonomous."

    Как из перевода "самостоятельная функция определяется как автономная" читатель поймет, что здесь сказано, что "функция, не принадлежащая пакету, объявляется запускающей автономную транзакцию".

    Ответ А.Соколова.
    Я думаю, читатель поймет, если один раз оговориться, например, "самостоятельная функция (не принадлежащая пакету) определяется как функция выполнения автономных транзакций (автономная функция)" или что-то в этом роде по согласованию с Иреком Абдуллиным. В документации Oracle встречаются гораздо более серьезные казусы.

    Комментарий М.Вольштейна.
    С одним предложением можно как-то справиться, но что делать с переводом прежних книг? Там же везде писалось standalone – автономный. Я согласен, что это не совсем удачный перевод, но ведь исправить его уже нельзя.

    Кроме того, перевод как "самостоятельная" ничем не лучше, ведь "самостоятельная" и "автономная" – это синонимы. Лучше уж тогда переводить standalone как "одиночная", что больше соответствует оригиналу (и, может быть, не запутает читателя)

    Ответ А.Соколова.
    Я думаю, переводы прежних книг исправлять не нужно. Над "одиночной" стоит подумать, звучит достаточно непривычно, но по существу верно.

    Комментарий И.Абдуллина.
    Мне самому не нравится "самостоятельный", но ведь до сих пор же никто ничего другого не предлагал. Я вполне согласен на "одиночный", считая еще более точным переводом "одинокий" (но как сказал один из участников дискуссии по другому поводу, такой термин навевает не совсем уместный оттенок грусти).

    Итак, давайте еще раз обсудим предложение Марка: "standalone" – "одиночный". Лично я согласен.

    Комментарий А.Соколова.
    Вот что означает "менять коней на переправе".

    Предложение А.Соколова.
    Чтобы не заниматься самодеятельностью, предлагаю вернуться на исходные позиции:

    • "standalone subprogram" – "автономная подпрограмма"
    • "autonomous transaction" – "автономная транзакция"
    • "autonomous routine" – "подпрограмма выполнения автономных транзакций", ПВАТ

    То есть, при частом употреблении термина "autonomous routine" использовать аббревиатуру ПВАТ, как это принято в технических текстах.

    Комментарий И.Абдуллина.
    Во втором просмотре перевода дошел до автономных транзакций.

    Кто-то из редакторов ITI придумал: "autonomous routine" – "подпрограмма, запускающая автономную транзакцию" (я заменил это на "подпрограмму выполнения автономных транзакций"), оставив "standalone subprogram" – "автономная подпрограмма".

    Кроме того, в подходящих контекстах применяются (и я это не правил):

    • "функция выполнения автономных транзакций",
    • "триггер выполнения автономных транзакций".

    В общем, наверное, нужно ставить точку и согласиться, что:

    • "standalone subprogram" – "автономная подпрограмма"
    • "autonomous transaction" – "автономная транзакция"
    • "autonomous routine" – "подпрограмма выполнения автономных транзакций"

    Использовать ПВАТ я не решился.

    Резюме.
    Решение принято…

    endpoint

    Контекст.

    Each listener is configured with one or more protocol addresses that specify its listening endpoints. Clients configured with one of these protocol addresses can send connection requests to the listener. (Net Services Administrator’s Guide)

    Предложение переводчика.
    "узел для прослушивания"

    Комментарий А.Соколова.
    Мне кажется, что такой перевод термина несколько обобщенный. Приведем еще одну цитату из той же самой книги: "Optionally, listening endpoints – port numbers – can be dynamically registered with the listener. For example, with Oracle XML DB, HTTP, FTP, and WebDAV listening endpoints are registered with the listener."

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

    protocol address

    Контекст.
    An address that identifies the network address of a network object. When a connection is made, the client and the receiver of the request, such as the listener, Oracle Connection Manager, or Oracle Names server, are configured with identical protocol addresses. (Net Services Administrator’s Guide)

    Предложение переводчика.
    "протокольный адрес"

    Комментарий А.Соколова.
    Полное название данного термина "listening protocol address" В глоссарии Oracle: "protocol address" – "An address that identifies the network address of a network object. When a connection is made, the client and the receiver of the request, such as the listener, Oracle Connection Manager, or Oracle Names server, are configured with identical protocol addresses. The client uses this address to send the connection request to a particular network object location, and the recipient "listens" for requests on this address. It is important to install the same protocols for the client and the connection recipient, as well as to configure the same addresses."

    Может быть, так и стоит переводить: "адрес прослушивания для заданного протокола".

    cluster interconnect

    Вопрос Н.Костюкевич.
    У меня вопрос по поводу "cluster interconnect", который в глоссарии переводится как "взаимосвязь кластеров". Из того, что я вижу в документации, не очень понятно, о какой взаимосвязи идет речь: о взаимосвязи кластеров или узлов в одном кластере.

    Примеры:

    1. The high speed interprocess communication (IPC) interconnect is a high bandwidth, low latency communication facility that connects each node to the other nodes in the cluster. The high speed interconnect routes messages and other cluster database processing-specific traffic among the nodes to coordinate each node's access to data and to data-dependent resources. (Oracle9i Real Application Clusters Concepts)
    2. A node has the following main components:
      • CPU--The main processing component of a computer which reads from and writes to the computer's main memory.
      • Memory--The component used for programmatic execution and the buffering of data.
      • Interconnect--The communication link between the nodes. (одного и того же кластера?)
      • Storage--A device that stores data. This is usually persistent storage that must be accessed by read-write transactions to alter its contents

    Примечание: в Яндексе это называется шиной Interconnect для связи между серверами кластера.

    Комментарий А.Соколова.
    В документации есть определение: "interconnect" – "The communication link between the nodes". (Real Application Clusters Concepts)

    В глоссарий я вставил новый перевод: "канал связи между узлами кластера".

    member function, member procedure

    Контекст.
    First, member function reciprocal() is called, then member procedure normalize() is called. (PL/SQL User’s Guide and Reference)

    Предложение переводчика.
    "функция-член", "процедура-член"

    Комментарий А.Соколова.
    В предыдущем переводе данной книги использовались термины "метод-функция" и "метод-процедура". Предлагаю такими их и оставить.

    Комментарий И.Абдуллина.
    Я поддерживаю "метод-функция" и "метод-процедура".

    Резюме.
    Данное предложение принято.

    Комментарий А.Майорова.
    Поддерживая Александра, хочу заметить, что в абсолютном большинстве случаев, если по контексту особого значения тип метода (функция или процедура) не имеет, то лучше употреблять просто "метод". То же самое и по отношению к "constructor function", не знаю уж зачем Oracle акцентирует на этом внимание, но, как мне кажется общеупотребимый термин – просто "constructor", соответственно, я бы в переводе всюду использовал "конструктор" без всяких функций.

    member method / static method

    Предложение А.Майорова.
    В ряде случаев встречается MEMBER method, как противопоставление STATIC method. Хотя и можно использовать описательный перевод типа – "метод определенный с помощью ключевого слова MEMBER", хочу предложить термин "метод экземпляра" и соответственно "статический метод". Пример из текста:

    "MEMBER methods accept a built-in parameter named SELF, which is an instance of the object type. Whether declared implicitly or explicitly, it is always the first parameter passed to a MEMBER method. However, STATIC methods cannot accept or reference SELF."

    Комментарий И.Абдуллина.
    Поддерживаю.

    Резюме.
    Внесено в глоссарий ИТИ.

    Star schema

    Замечание В.Сусойкина.
    Раньше, в документации по Oracle8, мы переводили star schema как схема типа “звезда”. По моим представлениям такой перевод является устоявшимся. И в Internet он встречается очень часто, чего нельзя сказать о переводе схема типа звезды. Такой перевод я нашел только в энциклопедии М.Р.Когаловского. Посмотрел нашу документацию по Oracle9i и обнаружил, к сожалению, и там такой перевод, т.е. как схема типа звезды.

    Аналогично, star query мы переводили как запрос типа “звезда”, но не как запрос типа звезды.

    Вопрос к справочной службе русского языка.
    В терминологии хранилищ данных термин star schema переводится как схема типа "звезда" и как схема типа звезды. Какой из этих вариантов является более предпочтительным с точки зрения русского языка?

    Ответ.

    Можно написать: схема "звезда", схема типа "звезда".

    Вопрос (К вопросу 74400).
    Я согласен, схема "звезда", так как здесь при склонении существительного "звезда" изменяется смысл термина, но зачем в выражении схема типа "звезда" нужны кавычки, поскольку существительное "звезда" здесь можно склонять без изменения смысла термина?

    Ответ.

    Написать схема типа звезды (без кавычек) нельзя: здесь тип – разновидность чего-либо, получается, что схема – это разновидность звезды; ср. при этом допустимые: схема типа плана, звезда типа солнца, устройство типа монитора и т. п.

    Схема типа "звезда" – то же, что и схема типа схемы "звезда".

    Комментарий М.Р.Когаловского.
    Хочу поблагодарить Виктора за его замечания. Думаю, что <схема типа "звезда"> и <таблица итогов> – более точные термины, чем предложенные мною. Аргументы экспертов справочной службы русского языка представляются мне убедительными. При этом <схема типа "звезда"> для меня более предпочтителен, чем вариант <схема "звезда">.

    Термин <запрос типа звезды> у меня в энциклопедии отсутствует. С ним нужно поступить аналогично термину <запрос типа "звезда">. Вместе с тем мне кажется, этот термин не слишком удачен. Ведь "звезда" здесь буквально – это не тип запроса, а тип (вид) схемы базы данных.

    Summary table

    Замечание В.Сусойкина.
    По моим представлениям самым распространенным переводом является таблица итогов, очень редко в данном контексте встречается перевод как итоговые таблицы и, тем более, сводные таблицы. Сводные таблицы это термин из MS Excel, где он имеет другую семантику. А термином итоговые таблицы обычно обозначают итоговые таблицы соревнований (протоколы соревнований). Хотя перевод сводные (итоговые) таблицы встречается в энциклопедии М.Р.Когаловского.

    Вопрос к Справочной службе русского языка.
    "Таблица итогов" или "итоговая таблица"? Мне представляется, что это – синонимы, но "итоговой таблицей" проще пользоваться при конструировании предложений.

    Ответ.

    Эти словосочетания различаются по значению. Таблица итогов и итоговая таблица – это таблица, в которой отражены итоги чего-либо. Кроме этого, итоговая таблица – это последняя таблица; таблица, созданная в итоге чего-либо, в конце какой-либо деятельности.

    Комментарий В.Сусойкина.
    Относительно термина "итоговая таблица". "Таблица итогов" показывает, что в таблице хранятся итоги (агрегаты). Таблица чего – итогов. "Итоговая таблица" этого не показывает, или показывает не так ярко, как "таблица итогов".

    Резюме.
    "таблица итогов"

    Fact table

    Если говорить о простоте конструирования предложений, то тогда уж надо переделать и перевод термина "fact table" – "таблица фактов" – на "фактографическая таблица" (именно так у нас и было в документации по Oracle8).

    Вопрос к Справочной службе русского языка.
    В терминологии хранилищ данных термин "fact table" переводится как "таблица фактов" и как "фактографическая таблица". Представляется, что с точки зрения русского языка предпочтительней использовать перевод "фактографическая таблица".

    Ответ.

    Прилагательное фактографический образовано от сущ. фактография – "описание фактов без анализа, обобщения, выводов". Если в таблице приводится именно такое описание, то название фактографическая таблица корректно.

    Комментарий М.Р.Когаловского.
    Я не могу согласиться с "фактографической таблицей". В контексте хранилищ данных речь идет именно о "таблицах фактов" наряду с "таблицами измерений".

    Резюме.
    "таблица фактов"

    MERGE

    Контекст.
    Use the MERGE statement to select rows from one table for update or insertion into another table. The decision whether to update or insert into the target table is based on a condition in the ON clause. This statement is a convenient way to combine at least two operations. It lets you avoid multiple INSERT and UPDATE DML statements. (Oracle9i SQL Reference)

    Предложение А.Соколова.
    "оператор (команда) MERGE (сведение данных)"

    Резюме.
    "оператор MERGE (обновление со вставкой)". См. ниже предложение А. Майорова.

    Merging into a Table

    Контекст.
    Merging into a Table: Example.
    The following example creates a bonuses table in the sample schema oe with a default bonus of 100. It then inserts into the bonuses table all employees who made sales (based on the sales_rep_id column of the oe.orders table). Finally, the Human Resources manager decides that all employees should receive a bonus. Those who have not made sales get a bonus of 1% of their salary. Those who already made sales get an increase in their bonus equal to 1% of their salary. The MERGE statement implements these changes in one step. (Oracle9i SQL Reference)

    Предложение переводчика.
    "слияние (операция MERGE) со вставкой для таблицы"

    Комментарий А.Соколова.
    Никакого слияния данных фактически не происходит. Предлагаю: "сведение данных в таблице", хотя это и звучит весьма странно.

    Предложение А.Майорова.
    Слияние (merge) – только в смысле слияния двух операторов (Update, Insert) в один (Merge). Мне кажется, лучше выбрать один из вариантов: "обновление со вставкой", "обновляющая вставка".

    "Сведение данных" – не очень понятен смысл и звучит действительно странно.

    Резюме.
    "обновление таблицы со вставкой"

    partition view

    Вопрос Н.Суренской (surenska@rdtex.ru).
    В глоссарии ITI partition view – представление секций. Во всех приведенных в глоссарии ITI фразах (см. контекст) речь идет именно о секционированном представлении и его преобразовании в секционированную таблицу. По-моему, мы всегда называли это секционированным представлением. И что делать?

    Термин секционированное представление использовался и используется, а что такое "представление секций" – непонятно. Для переводчиков глоссарий имеет приоритет над всеми остальными мнениями, хотя в глоссарии далеко не всегда приведен самый правильный и наиболее приемлемый вариант.

    Контекст.
    This scenario describes how to convert a partition view (also called "manual partition") into a partitioned table. (Oracle9 i Database Administrator’s Guide)

    Ответ А.Соколова.
    В глоссарий внесено изменение: "секционированное представление". Хотя с этим можно и поспорить, так как на самом деле секционируются не представления, а с помощью представлений вручную секционируются таблицы.

    Mergeable and Nonmergeable Views, push join predicate

    Контекст.
    _push_join_predicate This parameter enables the push join predicate feature which allows the optimizer to push join predicates inside non-mergable views. This helps eliminate full table scans against the adjoining table of a non-mergable view. Pushing the join predicate allows the optimizer to promote an index on the table inside the view and utilize a nested loop join to the outer referencing table. Другой фрагмент: The optimizer can transform a query block that accesses a nonmergeable view by pushing the query block's predicates inside the view's query. Because the view is defined as a compound query, the optimizer cannot merge the view's query into the accessing query block. Instead, the optimizer can transform the accessing statement by pushing its predicate, the WHERE clause condition (deptno = 20), into the view's compound query. (Server Reference)

    Предложение А.Соколова.
    "представление, оператор запроса в котором может объединяться с оператором запроса к этому представлению", "представление, оператор запроса в котором не может объединяться с оператором запроса к этому представлению"

    Длинно, может кто-нибудь предложит лучший вариант.

    Предложение В.Сусойкина.
    В документации по Oracle 8.0 эти термины переводились соответственно: "подключаемые" и "неподключаемые представления". Можно сохранить эти переводы. Или предложить: "включаемые" и "невключаемые представления". Ведь речь идет о включении предиката запроса представления в оригинальный запрос (верхнего уровня), и наоборот.

    Резюме.
    "подключаемое представление", "неподключаемое представление", "включение предикатов соединения в запросы неподключаемых представлений"

    Комментарий М.Р.Когаловского.
    Мне не нравятся предложенные варианты, но конструктивного предложения у меня нет.

    stride

    Контекст.

    1. Number of HKB between contiguous units (CU) in the file that are contiguous on this element. Used in RAID5 and striped files. (Database Reference)
    2. In a struct of parallel arrays, the data for the individual columns is stored contiguously. In an array of structs, on the other hand, the column data is interleaved, whereby each occurrence of a column in the array is separated by the space required by the other columns in the struct. This space is known as a stride. (Pro*C/C++ Precompiler)

    Вопрос.
    Как перевести этот термин?

    Предложение А.Майорова.
    А что "шаг", чем-то не подходит?

    Комментарий А.Соколова.
    Вообще-то подходит, но при переводе возникнут большие сложности.

    Предложение А.Соколова.

    • "шаг (в полукилобайтах между смежными блоками файла)" для контекста #1
    • "шаг" для контекста #2

    revoke

    В глоссарии ИТИ.
    "revoke a privilege/role" – "отменить привилегию/роль"

    Предложение редактора.
    "отобрать (привилегию)"

    Старое учтенное замечание Н.Костюкевич.
    “Grant/Revoke” (выдать/отобрать) в глоссарии звучит просто грубо.

    Комментарий И.Абдуллина.
    Вообще-то у нас, наверное, везде раньше было "выдать/отобрать", но, может быть, Наталья права. "revoke" – "отменить" почему-то кажется неточным. Можно предложить "предоставить/отозвать".

    Резюме.
    "предоставить/отозвать"

    Комментарий Н.Суренской.
    Revoke – отобрать привилегию. Привилегия предоставляется, поэтому логично ее отбирать. Чаще употребляют именно понятие "отобрать привилегии", а не отменить их. Отобрать – значит лишить чего-то, что собственно и делает оператор REVOKE.

    Резюме.
    "предоставить/отозвать"

    Комментарий М.Р.Когаловского.
    "Отменить" вполне приемлемо, так же как и “аннулировать”. “Отобрать” никуда не годится.

    ping, pinging

    Контекст.
    A synonymous term for forced disk write: "In Real Application Clusters, a particular data block can only be modified by one instance at a time. If one instance modifies a data block that another instance needs, then whether a forced disk write is required depends on the type of request submitted for the block." (Oracle9i Real Application Clusters Concepts)

    Предложение переводчика.
    "пинг", "пингинг"

    Предложение А.Соколова.
    В соответствии с предыдущим переводом Database Reference: "выгрузка из кеша".

    incremental

    Предложение А.Соколова.
    У нас в глоссарии это слово имеет два перевода: "инкрементальный" и "инкрементный". Предлагаю для однообразия остановиться на одном варианте. По словарям получается "инкрементный".

    Комментарий А.Соколова.
    В Русском орфографическом словаре Российской академии наук (Отв. ред. В. В. Лопатин) зафиксированы: инкремент, инкрементальный, инкрементный.

    feature

    Контекст.
    "Oracle Managed Files feature" (Database Administrator’s Guide)

    Предложение переводчика.
    "функция управления файлами"

    Предложение А.Соколова.
    Данный термин в документации Oracle, как правило, используется в более широком контексте чем "функция". И это указано в нашем глоссарии: "(функциональное) средство, возможность".

    Продолжение следует.

  • E-mail this page