вьювер что это такое
Вьювер
Смотреть что такое «Вьювер» в других словарях:
вьювер — сущ., кол во синонимов: 2 • визуализатор (3) • вьюер (2) Словарь синонимов ASIS. В.Н. Тришин. 2013 … Словарь синонимов
вьювер — сл. программа для просмотра файлов … Hacker’s dictionary
вьювер — просмотрщик … Словарь иностранных слов под редакцией И. Мостицкого
вьювер — просмотрщик … Словарь иностранных слов под редакцией И. Мостицкого
RealXtend — Логотип Создатели Геймдизайнер Juha Hulkko Сайт … Википедия
Визуализатор — программное средство, предназначенное для просмотра данных. По английски: Viewer Синонимы: Вьювер См. также: Компьютерные программы Финансовый словарь Финам … Финансовый словарь
Молекулярный редактор — Молекулярный редактор специализированная программа для электронно вычислительных машин, позволяющая вводить, редактировать и выводить на внешние носители информации (на бумагу, на экран) информацию о составе и структуре молекул веществ.… … Википедия
Evince — Evince … Википедия
Vc — Volkov Commander Открыт диалог выбора дисков в запущенном Volkov Commander. Тип Файловый менеджер Разработчик Всеволод Волков ОС 2002 Лицензия … Википедия
Волков коммандер — Volkov Commander Открыт диалог выбора дисков в запущенном Volkov Commander. Тип Файловый менеджер Разработчик Всеволод Волков ОС 2002 Лицензия … Википедия
File viewer, он же вьювер, он же просмотрщик
Вьювер файлов — приложение, представляющее данные файла в дружественной для пользователя форме. Вьюверы используются для просмотра документов без использования тяжеловесных программ-редакторов. В этой статье мы рассмотрим вьюверы в рамках ЕСМ систем.
ECM (Управление корпоративным информационным контентом) — управление, хранение, обработка и доставка контента в масштабах предприятия. В соответствии с требованиями стандарта MoReq, электронные документы одинаково успешно должны открываться как в родном приложениях так и во встроенном вьювере. Однако для многих пользователей ЕСМ-систем именно вьювер является основным интерфейсом работы с документами. На данный момент существует множество форматов, с которыми работают ЕСМ системы, но по сей день удобного и универсального встроенного вьювера в данных системах нет. Почему?
Попробуем ответить на этот вопрос и предложить свои варианты решений
История вопроса
По сути, первым вьювером и был первый редактор. Автор, создавший документ в редакторе, передавал его читателю, который просматривал его в том же приложении.
Одним из первых текстовых редакторов был O26, который был написан для оператора консоли CDC 6000 series в 1967 году. Первым же “народным” текстовым редактором стал полноэкранный редактор “vi”, изначально созданный для Unix в 1976 году.
CDC 6600 series
Компьютерная графика начала развиваться с 1963 года, когда появился программно-аппаратный комплекс Sketchpad. Это был первый векторный редактор, реализованный на компьютере. А уже в 1968 году появилась возможность запоминать изображение и выводить его на дисплей компьютера.
Программно-аппаратный комплекс Sketchpad
Позже, с появлением персональных компьютеров, программы-редакторы начали развиваться семимильными шагами. Они становились более разнообразными, функционально сложными, требовательными к компьютерным ресурсам и, как следствие, дорогостоящими. Появлению вьюверов фактически способствовал один фактор — потребность в просмотре файлов без использования родного приложения (редактора). Ведь, по сути, для просмотра печатного документа вам не нужна печатная машинка, а для просмотра фотографий — фотошоп.
Текущая ситуация
Концепция ECM подразумевает работу с множеством форматов неструктурированных данных.
В ЕСМ-системах ситуация усугубляется тем, что информационный объект может быть представлен сразу в нескольких взаимосвязанных файлах, записях баз данных и структурах. Как пример: скан чертежа — в формате tiff, исходник — в dwg, атрибуты — в карточке, хранимой в базе, структура изделия — в xml.
Также к системе обращается большое количество пользователей, это могут быть не только сотни сотрудников компании из разных отделов и филиалов, но и клиенты. Одним пользователям необходимо просматривать текст, а другим чертежи. А если учесть, что есть группа пользователей, которым необходимо просматривать несколько форматов одновременно — какой нужен вьювер в такой системе?
Можно сделать несколько вьюверов в одной ЕСМ-системе, которые будут отвечать требованиям каждой из групп пользователей, можно всех “накренить” сохранять свои документы в форматe pdf. Будет ли это выходом из ситуации?
Отраслевая специфика и специализированные стандарты накладывают свой отпечаток.
Медицина
Пример: рентгеновский снимок и его метаданные в формате DICOM.
При отображении такого документа вьювер должен показать как сам снимок, так и все необходимые атрибуты (ФИО пациента, врача, лаборанта, дата снимка, часть тела, проекция, тип оборудования и так далее).
Проектно конструкторская деятельность
Пример: чертеж проектной документации. При отображении такого документа во вьювере должен отображаться сам чертеж, наименование объекта, данные о создателе чертежа, данные согласования и утверждения.
Библиотека
Пример: Скан книги, метаданные в формате RusMARK. Помимо страницы и навигации по книге вьювер должен показывать данные об авторе, издателе, содержание, комментарии читателей и так далее.
Универсальные требования для всех вьюверов
В не зависимости от отраслевой специфики к вьюверам предъявляется ряд общих требований.
Функциональные
Нефункциональные требования
Решения
По нашему опыту, выходов из сложившейся ситуации немного:
1. Приобрести и интегрировать внешний вьювер (например, Brava), как это делают такие компании как EMC Documentum, Alfresco, MS SharePoint.
Плюсы. Все уже сделано за вас.
Минусы. Защита от копирования отсутствует. Цена конфигураций, поддерживающая растровую графику, CAD и офисные форматы на одно рабочее место — 345$, сетевая лицензия на 10 рабочих мест — 3105$. Для установки в читальном зале на 10 компьютеров цена может быть приемлема, но для предоставления доступа для 4000 студентов — нет.
2. Максимально приводить документ к одному формату, например pdf, разобравшись с подформатами, сжатиями, исходными форматами и конвертерами. Это можно делать автоматически (необходимы конвертеры) или вручную.
Плюсы. Понадобится только один вьювер (например Adobe Acrobat).
Минусы. Конверторы стоят денег, конвертация вручную — лишние трудозатраты, потеря информации, сброс форматирования и другие проблемы при конвертации.
3. Отказаться от встроенного вьювера и согласиться с “зоопарком” внешних приложений для просмотра. Определиться с их оптимальным перечнем и установить на все рабочие машины.
Плюсы. Возможность покрыть все требуемые форматы бесплатными вьюверами.
Минусы. Самостоятельная поддержка, количество установленных вьюверов (один вьювер — один тип документов).
4. Написать свой собственный вьювер на базе многочисленных бесплатных библиотек.
Плюсы. Возможность покрыть все требования заказчика.
Минусы. Время на разработку, непонятный бюджет, работа со сторонним ПО.
В реализации вьювера в нашей системе мы остановились на варианте №4. Дался он нам не легко, но стал при этом определенным конкурентным преимуществом. По нюансам реализации, в частности в электронных библиотеках и инженерной графике, мы расскажем отдельно.
Вопрос для дискуссии: С какими задачами/проблемами отображения файлов сталкивались вы? Какой вариант реализации предпочли?
Послесловие
С вьювером как с машиной. Определяйте приоритеты, иначе в попытке угодить всем, вы получите вот это:
Танцпол и цветомузыка в подарок.
Teamviewer: что это за программа
Teamviewer − это популярная программа для дистанционного управления компьютерами. Чем больше пользов.
Teamviewer − это популярная программа для дистанционного управления компьютерами. Чем больше пользователей становится, тем актуальнее вопрос: «Как работать с тим вивер?».
Программа имеет интуитивно понятный интерфейс, небольшой размер, но при этом богатую функциональность. Пресс-релизы компании утверждают, что количество установок TeamViewer превышает полутора миллиарда.
В число возможностей программы, кроме непосредственно управления, входит передача файлов между управляющим и управляемым компьютером, видеоконференции, создание VPN между устройствами.
К таким программам предъявляются особые требования по обеспечению безопасности. В случае тимвивера можно с уверенностью утверждать, что защита конфиденциальности на высоком уровне. В приложении реализована гибкая настройка управления доступом к устройствам и личной информации, что надежно предотвращает несанкционированные проникновения.
Если вы оказываете услуги техподдержки или требуется удаленное управление несколькими устройствами (домашним и рабочим компьютерами), то тимвивер − это программа для вас. Удаленно провести презентацию или конференцию, оказать или получить компьютерную помощь через интернет, дистанционно подключиться к собственному компьютеру – возможности Temviewer.
Давайте теперь разберемся, как работает тим вивер, и как программу настроить.
Как загрузить и установить TeamViewer?
Скачать программу лучше с официального сайта производителя www.teamviewer.com. На главной странице посетителю сразу предложат скачать бесплатную для личного использования версию. Там же информация о расценках на бизнес-дистрибутив приложения.
Для знакомства с полной функциональностью программы откройте пункт меню «Товары» и выберите Teamviewer. На странице продукта сайт предложит загрузить бесплатный пробный дистрибутив программы. На самом деле загружается полный (full) дистрибутив, но пока еще не активированный ключом лицензии. Рассматривать будем вариант, как настроить тим вивер для личного использования, тем более, что различий в настройке с платной бизнес-версией по сути нет.
Бесплатно пользоваться полной функциональностью продукта можно в течение 15 дней пробного периода, но затем придется выбрать вариант из трех подписок и зарегистрироваться. Личная же версия для физических лиц бесплатна в течение всего срока использования.
Тимвивер поддерживает работу в ключевых операционных системах (Windows, Linux и macOS, а также мобильных iOS, Android, Windows Mobile) и на этапе загрузки сайт сам определит тип ОС и отправит соответствующий дистрибутив программы.
Перейдем непосредственно к установке программы. Запустите скачанный файл для старта мастера установки. На первом шаге мастер предлагает выбрать три типа установки:
Первый вариант выбирайте в том случае, если хотите запускать Teamviewer лично. Второй вариант (наиболее часто используемый) зарегистрирует на компьютере системный сервис и позволит подключаться к устройству дистанционно. Третий же подойдет для одноразового запуска приложения в том случае, если необходимо предоставить временный доступ к компьютеру, например, для работника технической поддержки. За блоком выбора типа установки следует выбор области использования тим вивера. Предлагается также три варианта:
Для продолжения установки выбираем желаемый вариант и на этом для большинства пользователей настройка параметров заканчивается. Для продвинутых пользователей мастер предлагает установить флажок «Показать дополнительные настройки». Кнопка мастера сменит текст на «Принять — далее» и позволит настроить дополнительные опции. Если чек-бокс не отмечен, то Teamviewer использует стандартные настройки установки. Указанные настройки доступны уже после установки программы, так что этот шаг необязателен. В окне специальных параметров устанавливаются следующие значения:
Выберите необходимые значения и нажмите кнопку «Далее». Установка завершена.
Как пользоваться TeamViewer
Интерфейс программы простой. Компьютер (мобильное устройство) может быть «управляющим» и «управляемым» – либо вы дистанционно управляете чужим устройством, либо сами отдаете систему в руки удаленного пользователя. Поэтому главное окно программы содержит две области.
В левой части экрана содержится информация о вашем ID и временном пароле подключения. Если партнеру необходимо получить доступ к компьютеру, то, сообщив указанную информацию «вызывающей» стороне, вы тем самым разрешаете удаленное управление. Имейте в виду, что экземпляр Teamviewer должен быть запущен в течение всего времени соединения, иначе удаленный пользователь получит ошибку при попытке подсоединиться. Для случая, когда сам хозяин планирует удаленно подключаться к собственному компьютеру, здесь указывается постоянный пароль, разрешающий доступ в систему.
В правой части экрана область для работы с «управляемым» компьютером. Для подключения надо знать ID этого компьютера. Вводим это значение в поле «ID партнера» и выбираем характер соединения на основе предполагаемых действий. Предлагается три варианта:
Далее нажимаем кнопку «Подключиться к партнеру» и вводим временный пароль, который сообщает владелец «управляемого» устройства, или постоянный пароль, если удаленное устройство тоже ваше и он вам известен. Так как наиболее часто используется режим удаленного управления, кратко остановимся на нем. Тем более, что режим передачи файлов представляет собой стандартный файловый менеджер, а работу с VPN лучше изучить подробно по инструкции на официальном сайте приложения.
Итак, после установления соединения появится рабочий стол удаленного компьютера. Работать с ним можно также, как будто вы физически перед этим ПК. По сути можно делать все, что заблагорассудится: запускать и работать с программами, настраивать систему, перезагружать удаленный компьютер.
Для функций тим вьювера в режиме управления удаленным рабочим столом сверху предусмотрено меню соединения. С его помощью можно закрыть или восстановить соединение, получить информацию по характеристикам соединения или удаленного компьютера, передать удаленному компьютеру комбинацию «CTRL-ALT-DEL» для перезагрузки или вызова диспетчера задач (это пункт меню «Действия»). Отдельным пунктом предусмотрено управление графическими характеристиками (пункт «Просмотр») − в зависимости от скорости интернет-соединения выставляется качество «картинки», разрешение экрана удаленного компьютера, настраивается масштабирование, выбирается один или несколько активных мониторов.
Пожалуй, это главные действия, которые могут понадобиться при знакомстве с программой. Остальная информация по меню есть в документации на официальном сайте.
Как настроить TeamViewer?
Программа имеет гибкую систему настроек, включающую большое количество различных опций. Не будем сильно углубляться и затронем только главные. Для комфортной работы с Teamviewer 13 и прочих близких версий настроим опции безопасности и параметры интернет-соединения.
Настройки тим вивера находятся в главном меню основного окна приложения. В строке меню выбираем пункты «Дополнительно − Опции».
Откроется диалоговое окно «Опции TeamViewer», где слева будут разделы, среди которых нас интересуют «Основное» и «Безопасность». Так как основным требованием к подобным программным продуктам является безопасность личной информации, то начнем с нее. В области окна справа от пункта меню отобразятся настраиваемые параметры безопасности. Вот некоторые из них.
Пароль. Введите личный пароль для использования вместо случайно сгенерированного временного пароля для доступа к компьютеру.
Управление дополнительными паролями. Используйте настройку в случае, если вам необходимо предоставить доступ к компьютеру нескольким людям.
Случайный пароль. Здесь настраивается сложность временного пароля (минимальная длина четыре символа).
Черные и белые списки. Укажите только те контакты, которые имеют или не имеют право доступа к этому компьютеру. Чтобы открыть диалоговое окно «Черный и белый списки», нажмите кнопку «Конфигурация». В диалоговом окне указываете TeamViewer ID для настройки разрешения подключения к устройству. Внесение идентификаторов в «белый» список разрешит подключение только указанных учетных записей. «Черный» список запрещает ряду партнеров использовать компьютер. Настройки сетевого подключения находятся в разделе «Основное».
Запускать TeamViewer при загрузке Windows. Поставьте флажок, если хотите, чтобы программа запускалась автоматически вместе с Wndows. Это избавит от ситуаций, когда вы забудете запустить тим вьювер на удаленной машине, а вам срочно понадобится доступ.
Настройки прокси. Стандартная настройка соединения с интернетом в сети с запущенным прокси-сервером. По умолчанию берутся настройки, указанные в дефолтном браузере. Связать с учетной записью. Если вы зарегистрировались на официальном сайте, то можете привязать копию программы к официальной учетной записи Teamviewer.
Вот, пожалуй, главные настройки этой программы. Если потребуется глубже изучить Teamviewer, то скачайте официальную документацию с сайта разработчика. Удачи в использовании!
Вьюверы: ограниченый доступ к данным
Что такое вьверы?
Вьювер создается на базе одной или нескольких таблиц, расположенных в базе данных. Таблицы, из которых строится вьювер называются базовыми или основными. Вьювер может быть также построен на основе другого вьювера.
Определение вьювера и названия его базовых таблиц сохраняется в базе данных. При определении вьювера не создается никаких копий табличных данных. Все данные, которые появляются во вьювере, на самом деле распологаются в базовых таблицах.
По внешнему виду вьювер ничем не отличается от таблицы базы данных. С расположенными в нем данными можно работать почти также как с табличными данными. Язык Transact-SQL был расширен для того, чтобы снять все ограничения на выборку данных через вьювер и ослабить обычные ограничения на модификацию данных. Оставшиеся исключения и ограничения будут описаны в этой главе.
Когда через вьювер происходит изменение видимых в нем данных, то на самом деле изменяются данные, находящиеся в базовых таблицах. Обратно, если изменяются данные в базовых таблицах, то автоматически происходят изменения во вьюверах, построенных на основе этих таблиц.
Преимущества вьюверов
Примеры, которые приведены в этой главе, показывают, как вьюверы могут использоваться для выделения нужных данных и упрощения их восприятия. Вьюверы также обеспечивают простой в использовании механизм защиты данных. Кроме того, вьюверы могут быть полезны, когда изменяется структура базы данных, а пользователь предпочитает работать в привычном для себя стиле.
Фокусировка
Вьюверы позволяют пользователю сосредоточиться на интересующих его данных и на задаче, которую ему надо решить. Данные, которые не имеют отношения к конкретному пользователю, могут быть скрыты из его поля зрения.
Более простая работа с данными
Вьюверы облегчают не только восприятие данных, но и работу с ними, поскольку часто используемые объединения, проекции и выборки могут быть определены для вьюверов, что позволяет пользователю не указывать всех условий и уточнений каждый раз, когда выполняется очередная операция.
Гибкость
Вьюверы позволяют различным пользователям иметь различные точки зрения на одни и те же данные. Это особенно важно, когда много различных пользователей с различной квалификацией работают с одной и той же базой данных.
Безопасность
Через вьювер пользователи могут запрашивать и модифицировать только те данные, которые они видят. Остальная часть базы данных остается для них скрытой и недоступной.
С помощью команд grant (предоставлять) и revoke (отнимать) можно разрешить доступ каждому пользователю только к определенным объектам базы данных, включая вьюверы. Если вьювер, а также все базовые таблицы и вьюверы, на которых он основан, принадлежат одному владельцу, то этот владелец может давать разрешение другим пользователям на использование этого вьювера и в то же время запретить непосредственное использование базовых таблиц и вьюверов. Это простой и вместе с тем эффективный механизм обеспечения защиты данных. Детальное описание команд grant и revoke дается в Руководстве по администрированию доступа к SQL Серверу.
Определив различные вьюверы и задав различные права доступа к ним, можно разрешить доступ пользователей только к опеределенным подмножествам данных. Далее приводятся примеры использования вьюверов исходя из соображений безопасности:
· Доступ может быть разрешен только к определенным строкам базовой таблицы, содержащих определенную информацию. Например, можно создать вьювер, в котором будут показаны только книги по бизнесу и психологии, а информация о всех других книгах будет скрыта;
· Доступ может быть разрешен только к определенным столбцам базовой таблицы. Например, можно определить вьювер, в котором будут видны все строки из таблицы titles, но данные в столбцах royalty (гонорар) и advance (аванс) будут скрыты, поскольку они носят коммерческий характер;
· Доступ может быть разрешен только к определенным строкам и столбцам базовой таблицы;
· Доступ может быть разрешен только к тем строкам, которые удовлетворяют условиям соединения с несколькими базовыми таблицами. Например, можно определить вьювер, в котором соединяются данные из таблиц titles, authors и titleauthor, чтобы были видны фамилии авторов вместе с названиями книг, которые они написали. В этом вьювере можно не показывать персональную информацию об авторах и информацию коммерческого характера;
· Доступ может быть разрешен только к итоговым данным в основной таблице. Например, через вьювер category_price (категория_цена) пользователь может узнать только средние цены по каждому виду книг;
· Доступ может быть разрешен только к подмножеству строк в другом вьювере или к комбинации вьюверов и таблиц. Например, через вьювер hiprice_computer пользователь может узнать названия и цены книг по компьютерной тематике, которые удовлетворяют условиям, указанным в определении вьювера.
Чтобы определить вьювер, пользователь должен получить разрешение на выполнение команды creat view (создать вьювер) от владельца базы данных и иметь соответствующие права доступа ко всем таблицам или вьюверам, которые используются в определении этого вьювера.
Если в определении вьювера участвуют объекты из различных баз данных, то пользователь, создающий вьювер, должен иметь право доступа к этим базам или иметь гостевые права в этих базах.
Пользователь, владеющий объектом в базе, должен сам следить за тем, как другие пользователи используют его информацию через вьюверы. Рассмотрим ситуацию, когда владелец базы данных разрешил “Гарольду” создавать вьюверы, а пользователь по имени “Моди” разрешила “Гарольду” выбирать данные из своей таблицы. С этими правами “Гарольд” может определить вьювер, через который будет открыта вся информация из таблицы, принадлежащей “Моди”. Если после этого “Моди” отберет у “Гарольда” права на чтение данных из своей таблицы, он тем не менее может увидеть их через свой вьювер.
Логическая независимость данных
Вьюверы помогают защитить пользователей от изменений в структурах таблиц, если внесение таких изменений становится совершенно необходимым.
Например, предположим, что база данных была реструктурирована с помощью оператора select into (выбрать в) и таблица titles была разделена на две новых таблицы titletext и titlenumbers с удалением таблицы titles:
titletext (title_id, title, type, notes)
titlenumbers (title_id, pub_id, price, advance, royalty, total_sales, pub_date)
Заметим, что прежняя таблица titles может быть “восстановлена” с помощью соединения по столбцу title_id двух новых таблиц. Чтобы защитить от этого изменения пользователей, достаточно создать вьювер на основе двух новых таблиц. Можно даже назвать его прежним именем titles.
Любой запрос или любая сохраняемая процедура, которая раньше обращалась к таблице titles теперь будет обращаться к вьюверу titles. Все операторы select (выбор) у пользователей будут работать как и раньше. Пользователям, которые только выбирают данные из этой таблицы, можно даже не сообщать о проишедшем изменении.
К сожалению, вьюверы обеспечивают лишь частичную логическую независимость. Некоторые операторы модификации данных не будут выполняться с новым объектом titles, поскольку они не разрешены для вьюверов.
Примеры вьюверов
В нашем первом примере вьювер будет получен из таблицы titles. Предположим, что пользователя интересуют только книги, цена которых выше 15 долларов и по которым был выплачен больший чем 5000 долларов. В соответствующем оператор выбора нужно указать следующие условия отбора строк:
Предположим теперь, что необходимо выполнить много операций выборки и обновления на этом массиве данных. Можно, конечно, каждый раз указывать вышеприведенные условия в каждой выполняемой команде. Однако, удобней создать вьювер, в котором явно указать какие записи должны быть видны:
create view hiprice
Когда SQL Сервер получит эту команду, то вместо выполнения оператора выбора select, который указан здесь после ключевого слова as, сервер сохранит этот оператор, который фактически является определением вьювера hiprice, в системной таблице syscomments. Информация о каждом столбце вьювера будет также записана в системные таблицы sysobjects и syscolumns.
Теперь, при обращении к вьюверу hiprice, SQL Сервер объединит выполняемый оператор с определением вьювера hiprice. Например, пользователь может изменить все цены в hiprice также, как и в любой другой таблице, с помощью следующего оператора:
set price = price * 2
SQL Сервер сам находит определение вьювера в системных таблицах и конвертирует этот оператор обновления следующим образом:
set price = price * 2
Другими словами, SQL Сервер, основываясь на определении вьювера, обновит таблицу titles. При этом, конечно, будут обновляться только те строки, которые удовлетворяют условиям по цене и авансу, которые также были указаны в определении вьювера и переписаны в оператор обновления.
Последствия выполнения этого оператора обновления можно увидеть как через вьювер, так и непосредственно в таблице titles. И наоборот, если бы пользователь выполнил второй из указанных операторов обновления непосредственно с таблицей titles, то изменения можно было бы увидеть и через вьювер.
Обновление базовой таблицы может привести к изменениям в данных, видимых через вьювер. Например, если увеличить цену книги “You can combat computer stress” до 25.95 долларов, то ее можно будет увидеть через вьювер, поскольку она будет удовлетворять условиям отбора данных в этом вьювере.
Однако, если происходят изменения в структуре базовой таблицы, например к ней добавляются новые столбцы, то эти столбцы не будут отображены во вьювере, поскольку их нет в соответствующем операторе выбора select *. Для их появления необходимо переопределить вьювер, поскольку звездочка (*) является сокращением для списка столбцов, присутствующих в таблице в момент определения вьювера.
Создание вьюверов
Название вьювера должно быть уникальным среди уже сущестующих названий таблиц и вьюверов. Если установлена опция командой set quoted_identifier on, то можно заключать название вьювера в кавычки. В противном случае, название должно удовлетворять правилам написания идентификаторов, изложенным в главе 1.
Вьюверы можно строить из других вьюверов, а также на базе процедур, которые обращаются к вьюверам. На вьюверах можно определять главные, внешние (foreign) и общие ключи. С вьюверами нельзя связывать правил, значений по умолчанию, триггеров или индексов. Нельзя создавать временные вьюверы и нельзя строить вьювер на временной таблице.
Синтаксис команды создания вьюверов
Оператор создания вьюверов имеет следующий общий вид:
create view [[название_базы.]владелец.]название_вьювера
as select [distinct] оператор _ выбора
Как было показано в примере, приведенном в предыдущем разделе, пользователь может не указывать названий столбцов в предложении create оператора создания вьювера. В этом случае SQL Сервер присваивает столбцам вьювера те же названия и те же типы данных, что приведены в списке выбора оператора select. Этот список может быть заменен звездочкой (*), как в предыдущем примере, или быть частью списка названий столбцов базовой таблицы.
Пользователь может определить вьювер, в котором не будет повторяющихся строк. Для этого нужно указать ключевое слово distinct в операторе выбора select.
Вьюверы, созданные с ключевым словом distinct нельзя обновлять.
Всегда возможно явно указать названия столбцов. Однако, названия столбцов нужно указывать в предложении create для каждого столбца, если имеет место любое из следующих условий:
· Если столбец получается в результате вычисления арифметической, агрегирующей или встроенной функции или содержит константу;
· Если два или более столбца вьювера, в противном случае, получат одинаковое название. Это обычно происходит при построении вьювера на основе соединения, когда соединяемые таблицы имеют столбцы с одинаковым названием;
· Когда желательно изменить название столбца вьювера по сравнению с его табличным названием. Пользователь может переименовать столбцы и в операторе выбора select, который определяет вьювер. Независимо от изменения названия столбец вьювера наследует тип данных из столбца таблицы, на котором он основан.
Далее приводится пример определение вьювера, в котором изменено название столбца по сравнению с табличным названием:
create view pub_view (Publisher, city, state)
as select pub_name, city, state
Далее приводится другой способ создание того же вьювера, в котором столбец переименовывается в операторе выбора:
create view pub_view2
as select Publisher = pub_name, city, state
В примерах, которые приводятся в следующих разделах, будут показаны остальные способы включения названий столбцов в предложение create view.
В следующем разделе рассматривается оператор выбора, определяющий вьювер, ключевое слово distinct и опция with check option (опция проверки). После этого описывается команда удаления вьюверов drop.
Использование оператора выбора при создании вьюверов
Команда выбора select в операторе создания вьювера по существу определяет вьювер. Пользователь должен иметь право доступа ко всем объектам, указанным в этой команде.
Вьювер не обязан быть простым подмножеством строк или столбцов одной таблицы, как это было показано в нашем предыдущем примере. Вьювер можно строить из нескольких таблиц и вьюверов с помощью оператора выбора любой сложности.
Имеется несколько следующих ограничений для оператора выбора в определении вьювера:
· В нем нельзя использовать предложения order by и compute;
· В нем нельзя использовать ключевое слово into;
· В нем нельзя использовать временные таблицы.
Определение вьювера в виде проекции
Чтобы создать вьювер, в котором отображаются все строки таблицы titles, содержащие информацию только из части столбцов (проекция), можно воспользоваться следующим оператором:
create view titles_view
as select title, type, price, pubdate
Заметим, что в предложении create view этого оператора нет названий столбцов, поскольку все они указаны в списке выбора.
Определение вьювера с вычисляемым столбцом
Далее приводится определение вьювера, значение в одном из столбцов которого вычисляется из величин, содержащихся в столбцах price, royalty и total_sales:
create view accounts (title, advance, amt_due)
as select titles.title_id, advance, (price * royalty /100 ) * total_sales
from titles, roysched
and titles.title_id = roysched.title_id
and total_sales between lorange and hirange
В этом примере список столбцов должен быть указан в предложении creat, поскольку в данном случае нет названия для столбца, в котором перемножаются величины из столбцов price, royalty и total_sales. Вычисляемый столбец получил название amt_due, которое должно быть указано на том же по порядку месте в предложении creat, что и соответствующее ему вычисляемое выражение в предложении select.
Определение вьювера с агрегирующими и встроенными функциями
Если в определении вьювера используются агрегирующие или встроенные функции, то в предложении creat нужно указывать названия столбцов. Например :
create view categories (category, average_price)
as select type, avg(price)
Если вьювер создается из соображений безопасности данных, то нужно проявлять осторожность при использовании агрегирующих функций и группировки (group by). Поскольку в языке Transact SQL нет ограничений на использование столбцов при группировке в операторе выбора, то может возникнуть ситуация, когда вьювер возвратит больше информации чем нужно. Например :
create view categories (category, average_price)
as select type, avg(price)
where type = «business»
В предыдущем примере возможно было бы целесообразно ограничиться только книгами по бизнесу, поскольку результаты будут выданы по всем категориям книг. Дополнительная информация о группировке была приведена в главе 3.
Определение вьювера через соединение
Пользователь может создать вьювер из нескольких базовых таблиц. Далее приводится пример вьювера, полученного из таблиц authors и publishers. В нем отображаются фамилии авторов книг, которые живут в одном городе с издателем, вместе с названием издателя и названием города.
create view cities (authorname, acity, publishername, pcity)
as select au_lname, authors.city, pub_name, publishers.city
from authors, publishers
where authors.city = publishers.city
Построение вьювера из других вьюверов
Вьювер можно определить на основе других вьюверов, например:
create view hiprice_computer
as select title, price
where type = ‘popular_comp’
Построение вьювера с ключевым словом distinct
Пользователь может определить вьювер, в котором не будут повторяться строки, например:
create view author_codes
as select distinct au_id
Строка является дубликатом другой строки, если значения во всех столбцах этой строки в точности совпадают со значениями в другой строке. При этом неопределенные значения рассматриваются как одинаковые.
SQL Сервер обеспечивает отсутствие дубликатов, когда вьювер открывается в первый раз и перед каждой проекцией или селекцией. Вьюверы выглядят и ведут себя как обычные таблицы. Если выполняется проекция во вьювере без повторений, т.е. выбираются все строки по некоторым столбцам, то могут появиться результаты, которые кажутся повторяющимися. Однако, каждая строка вьювера по прежнему будет уникальной. Например, предположим, что создается вьювер без повторений myview с тремя столбцами a,b, и c, которые содержат следующие величины:
Таблица 9-1: Пример вьювера myview без повторений