Все статьи базы знаний о выборе и работе с программным обеспечении

Рейтинг лучших онлайн казино на деньги за 2020 год:

База знаний компании: Как сделать, чтобы сотрудники обучались самостоятельно

Евгений Севастьянов

Консультировал в области регулярного менеджмента более 70-ти компаний: от 10 до 9.000 человек (включая: холдинги, сети магазинов, фабрики, сервисные компании, строителей, государственных служащих, веб-агентства, интернет-магазины). Ученик Александра Фридмана.

Один из соавторов книги «Социальные технологии Таллиннской школы менеджеров. Опыт успешного использования в бизнесе, менеджменте и частной жизни»: http://www.ozon.ru/context/detail/id/140084653/

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

Как “пересадить” свои мозги подчинённым и коллегам?

Часто ли Вы ловите себя на мысли: “Чёрт возьми, ну как же мне ему пересадить свои мозги?” Трансплантология — дело опасное. Существует куда более безболезненный способ. Об этом и пойдёт рассказ.

Часто ли Вы сталкиваетесь с расширением или заменой персонала? Знакома ли Вам утрата квалификации действующими сотрудниками? Сколько месяцев у Вас занимает обучение новичков? Три? Шесть? Или все двенадцать месяцев?

Сложно поверить, что все эти задачи решаются в несколько раз быстрее за счёт наличия базы знаний организации. Сначала — как база знаний может помочь, а потом — из каких элементов она состоит. Не любите читать? Тогда смотрите подготовленный мной видео-урок.

Программа “минимум” для базы знаний: решить злободневные проблемы

Проблема №1. Расширение или замена персонала

Первая проблема стандартная, это когда вы либо расширяете, либо заменяете часть людей. И отсюда что вытекает? Длительное время на обучение новичков и крайне низкая производительность труда первые 2-3 месяца работы.

Я Вас уверяю, что с помощью хорошо построенной системы и базы знаний, про которую мы поговорим ниже, Вы сможете решать эту задачу гораздо быстрее. Конечно, время её решения будет зависеть от квалификации человека, которого Вы меняете и ещё от многих параметров.

Но, при прочих равных, при наличии базы знаний Вы сэкономите значительное количество времени. А время, хочу Вам напомнить, — это деньги. Это и затраты на оплату труда, и недополученная Вами прибыль.

Проблема №2. Утрата квалификации сотрудниками

Ещё одна типовая проблема — если люди что-то давно не делали, то это постепенно забывается. Поэтому цель внедрения базы знаний — предотвратить подобные ситуации. С ней всегда можно вспомнить, что же необходимо делать.

Проблема №3. Стандарты качества каждый понимает по-своему, важно иметь живые примеры

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

На мой взгляд, это то, что наглядно задает стандарты качества работы. Вы пишете «вежливо общаться» в регламенте, но эти слова каждый поймет по-своему, исходя из своего бэкграунда воспитания, жизненного опыта. Прослушивая эталонные записи, сотрудник услышит живые примеры. “Делай, как я” всегда работает лучше, чем “делай, как я сказал”.

Приземление “звёзд” и плюсы самообучения

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

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

Лучшие казино на русском языке:

Почём у Вас время руководителей?

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

Первое: экономится время сотрудника, который обучается, он обучается быстрее. Второе: компания получает больше прибыли за счет того, что сотрудник обучается быстрее. И третий очень важный момент: компании требуется меньше управленческих ресурсов. Управленческие ресурсы обходятся компании обычно дороже всего. Не правда ли?

Идеальная цель — программа “максимум”

Цель «максимум» в данном случае – организовать работу так, чтобы ваши сотрудники сами расширяли базу знаний, поддерживали её в актуальном состоянии. Потому что неактуальная база знаний — это неработающая база знаний. Иначе люди не будут к ней обращаться и пользоваться.

Видео-урок “База знаний компании” (с реальными примерами реализации)

Состав корпоративной базы знаний

Пройдёмся кратко по технологиям, которые используются при организации базы знаний.

1. Регламенты базы знаний

Перво-наперво, это регламенты. Регламент не только задаёт стандарты качества, но являются и алгоритмом выполнения работы. Про необходимость системы регламентов я писал в статье “Система регламентов в компании как краеугольный камень эффективности руководителя”.

Работает, как часы. Если сотрудник забывает, как делать то или иное действие, он открывает такой регламент-алгоритм и вспоминает.

Пример: Регламент по регистрации домена и хостинга для наших Клиентов

У нас есть в компании регламент, который обязателен для исполнения всеми сотрудниками. В этом регламенте прописаны общие вещи, общие стандарты качества, и алгоритмы решения тех или иных задач. Например, организация планирования. (см. подробнее в статье “Ежедневный план и отчёт: Как организовать, чтобы сотрудники сами планировали свой рабочий день”).

Например, есть прописанный порядок регистрации хостинга и домена для клиента. Вот чтобы таких вопросов не было каждый раз: «что делать?», или «как правильно регистрировать?», то написан отдельный алгоритм.

Я уверен, что данная работа выполняется в заданном стандартом качестве, и я могу не обучать новых сотрудников выполнению этих действий. Это достигается за счёт максимально подробного описания процесса. Как говорят в таких случаях: «Справится и блондинка».

2. Шаблоны документов

Шаблоны документов – заранее заготовленные специальные файлы. Используя шаблон, Вы можете путём копирования создать новый документ. Шаблон может иметь формат Google Docs, Microsoft Word, Excel, AutoCAD и т.д.

Например, у нас есть шаблон чек-листа по проверке текущего статуса проекта, в Google Docs. В нём выписаны все вопросы, которые необходимы. Когда решается задача по управленческой проверке, нет необходимости искать или составлять (придумывать) новый документ.

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

3. Видео-уроки

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

Например, у Вас есть бухгалтерия из 5 человек. Дайте поручение главному бухгалтеру записать видео-уроки по выполнению каких-то важных операций, чтобы в случае если бухгалтер будет в отпуске, их могли выполнить его коллеги. Ну и опять же, в любой компании важно ликвидировать вот элемент незаменимости. Банально человек шёл, на него свалился кирпич и всё, теперь эту операцию никто не может выполнить.

Чем записать видео-урок?

Я использую для записи видео-уроков программу Camtasia. Как я это делаю? Выбираю тему, например, «Как подготовить договор», «Как разработать документацию».

Могу сымитировать подготовку нового договора, взяв реквизиты действующего клиента, и записать сам процесс. Могу записать видео в тот момент, когда мне необходимо выполнить эту работу для реального Клиента.

Таким образом, я буду решать и задачу одновременно, и фактически сделаю руководство по её решению для своих подчинённых и коллег. Для руководителя видеоуроки — это бесценный инструмент делегирования.

Где размещать видеоуроки?

Дальше. Выкладывайте видеоурок на YouTube и добавляйте в регламенте ссылку на это видео. Например, возьмём работу с шаблонами документов в “Открытой Студии”.

В нашем регламенте по работе с шаблонами есть видеоурок «Структура документов Google Docs», где рассказывается, как работать с документами, как искать их, как структурированы документы Google Docs в нашей компании, основная логика. И, по-моему, там даже сказано, как работать с шаблонами, то есть, как их копировать, как добавлять стили.

Рекомендую для Youtube завести отдельный корпоративный аккаунт. А также сохранять исходники видео.

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

Рекомендую для Youtube завести отдельный корпоративный аккаунт. А также сохранять исходники видео. Кто знает, какой сервис будет следующим в санкционном списке! 🙂

4. Примеры выполненных работ — эталон качества

Когда Вы выполнили некую работу с эталоном качества, то вы можете говорить: «Результат вашей работы должно выглядеть также».

Например, техническое задание, которое я делал для сайта “Открытой Студии”. Что я говорю своим коллегам? Я говорю: «Смотрите вот сюда». При постановке задачи прямо даю ссылку на этот пример. И говорю: «Вот пример реального тех. задания, на которое нужно ориентироваться. Здесь всё расписано подробно максимально. Сделайте мне такое же по детализации и подробности».

Какие задачи здесь я решаю? В следующий раз, когда кто-то будет писать тех. задание, он посмотрит на этот пример, и я думаю, что ему станет понятно, что делать. В идеале ещё и заснять видеоурок, как Вы пишете тех. задание. Таким образом, это сразу превращается в мастер-класс. Вот вам урок, вот вам результат, — при таком подходе обучать сотрудников одно удовольствие!

5. Записи внутренних семинаров, вебинаров, выступлений и т.д.

Может быть, Вы или ваши коллеги проводите внутренние семинары? В таком случае, они должны быть записаны на видео и выложены в базу знаний!

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

Мне не надо объяснять каждому и проводить отдельных семинаров.

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

6. Записи успешных телефонных переговоров

В большинстве компаний подключена IP-телефония, в которой ведутся записи разговоров автоматически. Если есть пример, как Вы отработали возражение клиента, опыт успешных переговоров, опыт успешной продажи, как вы построили диалог с клиентом, выяснение его ожиданий и потребностей, то обязательно выкачивайте эту запись и добавьте в базу знаний!

Но, естественно, Вы её не размещаете в общий доступ, этого делать нельзя. Плюс с теми сотрудниками, кто имеет доступ к этой записи, желательно, чтобы было заключено соглашение о конфиденциальности. Будет некрасиво, если записи разговоров утекут куда-то.

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

Итоговые выводы по записям телефонных разговоров

После прослушивания ваших записей сотрудники (или коллеги) будут знать, как Вы работаете, как отрабатываете возражения, как отвечаете на вопросы клиента, какой у Вас тон голоса и какой у Вас настрой. Самые удачные ходы, которые появляются разговорах, добавляйте в клиентский FAQ (подробнее о нём ниже).

7. Клиентские FAQ

FAQ – это ответы на часто задаваемые вопросы. Клиентский FAQ — список типовых вопросов с заранее подготовленными ответами от клиентов. Как я рекомендую их структурировать? Первое — типовые вопросы о работе вашей компании: время, схемы работы, условия оплаты, какие документы нужны для заключения договора, кому жаловаться, кому писать благодарственные письма.

По каждой ключевой услуге / товарной категории желательно иметь отдельный файл. Например, у нас есть отдельный FAQ по SEO-продвижению, отдельный — по разработке сайта на типовом решении 1C-Битрикс, отдельный — по контекстной рекламе. В них собраны вопросы, которые относятся именно к этой услуге.

У этих файлов есть ещё одно преимущество. Во-первых, их видят естественно сотрудники, они понимают четко заданные стандарты, уже не внутренние, а те, которые транслируются вовне. Во-вторых, Вы можете донести именно свои ключевые принципы с минимальными искажениями. Как вариант, при заключении договора у Вас должно стоять обязательным пунктом в регламенте, что клиент с этим FAQ должен быть ознакомлен.

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

Бонус для читателей — пример общего FAQ

Хотите получить боевой пример нашего основного клиентского FAQ? Для этого нужно выполнить 2 простых действия: 1) Оставьте комментарий к статье (в самом низу): своё мнение или опыт использования базы знаний. 2) Отправьте запрос на получение FAQ через мои личные аккаунты в социальных сетях:

8. Корпоративная библиотека: книги, видео-тренинги

Важное звено базы знаний. Собирайте лучшие книги, которые Вы прочитали, может быть, которые Вам порекомендовали эксперты. Если вашему коллеге необходимо прокачать знания и навыки в какой-то области, то рекомендуете ему соответствующую книгу / видео тренинг.

Например, есть хорошая книга по отработке негатива — простая, очень хорошо читается «Психологическое айкидо». Подробнее в моём “Обзоре книги Михаила Литвака «Психологическое айкидо»”. Сразу её в библиотеку и сделать обязательной к прочтению всем менеджерам!

Сейчас, когда появляются электронные книги, я поступаю просто. Покупаю электронную книгу и добавляю её в нашу электронную библиотеку (хранится на внутреннем сервере). Аналогично и с видео-семинарами. Кто предпочитает бумажные, у меня ещё осталась со старых времен большая-большая библиотека бумажных книг.

9. Типовые планы обучения сотрудников

Предположим, в вашей компании стандартный профиль рабочего места. Разберу на примере «руководитель проектов» у нас. Мы знаем, что одна из его компетенций — это знание платформы “1С-Битрикс”. Дальше что необходимо сделать? Мы определяем, что нужно, чтобы эти знания были у руководителя проектов на приемлемом уровне для выполнения качественных работ. Эти пункты мы вставляем в план обучения.

В частности, для “1С-Битрикс” необходимо как минимум успешно изучить два курса. Первый — «контент-менеджер»; и второй — «администратор: базовый». После этого руководитель проекта сможет ставить задачи программистам и ориентироваться в административной панели “1С-Битрикс”. И взаимодействовать с клиентом, отвечать на какие-то вопросы.

Мы составляем план под каждый профиль. Дальше рассматриваем конкретного человека, который к нам пришёл работать. Есть ли у него необходимая компетенция? Если она отсутствует, Вы ему сразу создаете план обучения. Не забывайте в план обучения включать книги, видео-семинары и все остальные материалы.

10. Wiki-документы

Wiki-документы — как правило, не регламенты, а наборы ссылок, каких-то фишек, решений. И снова разберём на примере. Есть у нас услуга SEO-продвижение сайтов. Если кем-то из моих коллег была найдена хорошая статья, хорошая книга, полезная информация, сервис какой-то важный по данной тематике — сразу добавляет её в соответствующий wiki-документ.

Создавайте отдельный wiki-документ по каждой услуге, используемой программе, сервису

Имеет смысл заводить wiki-документ по каждой услуге, используемой программе, сервису. У нас есть такие документы по разработке сайтов, по контекстной рекламе, для менеджеров — отдельная папка по продажам, по бизнес-процессам веб-агентств и так далее.

Например, wiki-файл по работе с Microsoft Word. Есть какие-то проблемы, с которыми я столкнулся в процессе работы с Word’ом. Нахожу их решение и сразу заношу в документ. Если кому-то понадобится решение такой же проблемы, он откроет файл и найдёт его. Плюс документ использую лично (в следующий раз не трачу время на поиск решения).

Мои принципы обучения сотрудников

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

Обучение “в бою”

Как человек может пройти обучение? Частично “в бою”. Когда он уже непосредственно выполняет задачу с той компетенцией, которая у него развита слабо. И, естественно, он в процессе выполнения задачи и обучается. При этом, по таким работам рекомендую давать своим клиентам скидку.

Мы в таких случаях, даём неявную скидку. К слову сказать “Открытая Студия” работает только в формате оплаты часов специалистов. Например, задачу делал человек со слабой компетенцией и затратил 3 часа на её выполнения. И мы понимаем, что ту же самую задачу другой, более опытный человек с уровнем компетенции, которую мы считаем нормой, сделал бы за 2 часа. В таком случае мы пишем клиенту только 2 часа.

Обучение за счет работодателя

Под обучение за счёт работодателя подпадают специфические знания, которые мало где могут пригодиться сотруднику в будущем. К таким знаниям я отношу в первую очередь: как организованы внутренние процессы, внутренние стандарты работы и качества, регламенты.

Обучение неким сервисам, программам из разряда «вот такого нет нигде» также осуществляется за счет работодателя.

Самое эффективное обучение, когда оно за свой счёт

Всё остальное сотрудник изучает за свой счет. Например: как работать с email-рассылками, принципы контент-маркетинга, те же самые курсы “1С-Битрикс”.

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

Плюс у нас внедрена в компании система грейдов, когда человек с большими знаниями — больше денег и получает. Работает система просто. Заранее оговариваем с сотрудником список, что нужно изучить, чтобы получать, например, на 5-10 тысяч больше, к текущему окладу. Про систему грейдов подробно расскажу в одной из следующих статей.

База знаний компании: подведение итогов

Ещё раз про задачи, которые решает база знаний:

  • Снижение времени на обучение новых и действующих сотрудников.
  • Увеличение качества обучения.
  • Развитие компании. Если Вы не аккумулируете текущие знания, то что же будете развивать? Когда идёт сбор знаний коллектива компании, Вы можете их оценивать, анализировать на предмет эффективности и уже дальше идти по пути развития, улучшения бизнес-процессов.
  • Выигрыш для всех: сотрудников и руководителей.

Удачи Вам, коллеги, при внедрении базы знаний! Если у кого-то будут вопросы, я с удовольствием готов с Вами обсудить: как лучше внедрять, с чего начать. А, возможно, — и помочь построить базу знаний для вашей компании.

Использование баз знаний в поддержке программного обеспечения

В данной статье автором рассмотрен состав баз знаний, инструменты для их создания, приведены способы оценки эффективности.

Большинство согласится, что много доступной и качественной информации помогает при решении вопросов, связанных с настройкой и функционированием программного обеспечения (ПО). Но если вы находитесь на стороне производителя ПО, то задача организации баз знаний может оказаться и не такой простой. Итак, для чего предназначена база знаний?

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

Современные базы знаний, как правило, состоят из следующих компонентов:

  • документация по продукту – это те самые хелпы и мануалы. Информация в них статична, и обновляется с выходом новой версии ПО;
  • официальные информационные ресурсы производителя ПО, на которых в структурированном виде публикуются полезные статьи, информация об ошибках и оперативные исправления
  • неофициальные ресурсы, которые либо поддерживаются группой энтузиастов, либо связаны со сторонней компанией, с которой у производителя ПО есть совместный бизнес.

Если рассматривать интернет-ресурсы, то по структуре их можно разбить на следующие группы:

  • четко структурированный справочник материалов (примеры — http://technet.microsoft.com, http://msdn.microsoft.com);
  • структура в виде блога, в которой статьи разделаются системой тегов (примеры — http://asktom.oracle.com/, http://blog.sqlauthority.com/) ;
  • форум, на котором в виде обсуждений формируется та самая база знаний (пример: http://ubuntuforums.org/).

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

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

Инструменты для создания баз знаний

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

  1. Структурированный справочник: это может быть собственно разработанный сайт, или готовое решение, например, MindTouch: http://www.mindtouch.com/.
  2. Для создания блогов можно использовать любую площадку, но основываясь на своем опыте, я рекомендую http://www.blogger.com. Причина – это сервис-ресурс Google, все статьи прекрасно индексируются и отображаются в результатах веб-поиска.
  3. Для форумов также можно использовать любой подходящий ресурс. Если ваша HelpDesk система имеет эту функциональность, то удобнее использовать именно её. Мы используем в своей работе Zendesk: http://www.zendesk.com.

Вы создали и наполняете содержимым свою базу знаний. Но как определить её эффективность, какие метрики для этого подходят?

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

Второй вариант – использование системы оценок пользователей. Если такая функциональность есть, то основываясь на оценках можно определить полезность материалов.

Третий вариант немного более сложный. Главная цель базы знаний — увеличение степени самопомощи, за счет снижения числа обращений в службу технической поддержки. Одинаковые частые вопросы, которые приходят в службу технической поддержки, обязательно должны быть опубликованы. Если ввести систему ранжирования вопросов, например, частый (простой), и редкий (сложный), то при эффективно работающей базе знаний количество частых (простых) вопросов должно быть на минимальном уровне.

Можно использовать все варианты в различных комбинациях.

В заключении расскажу, как это работает у нас в «ДоксВижн». Достаточно долгое время у нас существовала только документация к продукту, которая составляла основу базы знаний. Плюс форумы партнерских компаний. Понятно, что документация не охватывала весь спектр сценариев использования и была инертной. Это подтверждалось большим количеством однотипных вопросов, поступавших в нашу службу технической поддержки.

Стало понятно, что информацией нужно делиться. Но где взять время на структурирование и приведение в одинаковую форму всех статей? И было принято решение открыть блог, в котором, в виде, потока публиковалась вся полезная информация.

С развитием HelpDesk-системы – переходом на Zendesk — материалы разделились на категории. Появилась возможность открыть форумы. Сперва может показаться, что информации мало, но у сайта есть и «скрытая» часть айсберга, которая доступна для нашим партнерам и клиентам.

руководитель службы технической поддержки компании «ДоксВижн».

Программное обеспечение работы с современными базами данных

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

11.1. Основные задачи программного обеспечения баз данных

При работе с реляционными базами данных можно условно выделить две основные задачи:

  • собственно работа с базой данных , включающая создание и ведение базы данных (создание структур таблиц, добавление записи в таблицу, удаление записи, обновление, выборка нужной записи );
  • создание пользовательских приложений, включающих разработку пользовательского интерфейса по работе с базой данных.

Для решения указанных задач современные СУБД в своем составе могут содержать следующие программные средства : языки процедурного пошагового программирования, средства визуального программирования (графический интерфейс , диспетчер проекта, мастера и построители), средства создания объектно-ориентированных приложений. Кроме этого, при разработке пользовательских программ во многих СУБД допускается использование других языков программирования, а также использование библиотек разного рода. Так, например, при работе с СУБД ACCESS можно использовать язык программирования ACCESS , мастер ACCESS и язык программирования VISUAL BASIC.

При работе с клиент-серверными системами ситуация немного сложнее. Здесь в работе участвуют два типа компьютеров ( сервер и клиент) и, соответственно, различают клиентское и серверное программное обеспечение . Серверное программное обеспечение включает язык программирования , поддерживающий создание и ведение базы данных , также реализацию поступающих от клиентов запросов пользователей к базе данных. Пользовательские приложения создаются и работают на компьютерах-клиентах. Именно эти компьютеры должны иметь, наряду со средствами формирования запросов к базе данных, средства разработки интерфейса . В связи с этим, для клиент-серверных СУБД программное обеспечение разделяется на две части: программное обеспечение – клиент и программное обеспечение – сервер . Заметим, что наряду с программным обеспечением – клиент, при разработке пользовательских программ в конкретной СУБД могут использоваться другие языки программирования, специальные библиотеки, другие системы программирования (определенные для этой СУБД ). В качестве примера в таблице приводятся возможные варианты использования программного обеспечения для организации клиент-серверного взаимодействия в СУБД Microsoft SQL Server .

Таблица 11.1. Возможные варианты использования программного обеспечения в СУБД MS SQL Server

Средства ведения баз данных на сервере MS SQL Средства разработки клиентских приложений
Службы SQL-сервер (MS SQL server и др.)
  • Программное обеспечение клиента SQL-сервер (Transact SQL, SQL Server Query Analyzer и др.)
  • MS Access (ODBC)
  • MS Visual Basic
  • MS Visual Studio
  • MS Visual FoxPro
  • Java (JDBC)
  • Borland Delphi
  • Borland C++Builder и др.
  • Библиотеки функций (API, ODBC и др.)

Полное рассмотрение всего спектра программного обеспечения работы СУБД очень обширно и выходит за рамки данного пособия. Поэтому в данной работе будет рассмотрены только средства создания и ведения базы данных .

11.2. Проблемы создания и ведения реляционных баз данных

При создании базы данных и организации работы с ней возникают три основные проблемы:

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

Первая проблема может быть решена посредством создания в каждой конкретной СУБД некоторой утилиты, позволяющей пользователю в определенный момент осуществлять все необходимые действия по созданию базы данных . Однако это не полностью решает проблему. Такая утилита не позволяет создать таблицу динамически во время работы прикладной программы, не позволяет, например, добавить в таблицу сформированнный во время работы пользовательской программы столбец. Необходимы средства, дающие возможность формирования во время работы прикладной программы запроса на изменение структуры и содержания базы данных . То же самое можно сказать и о решении второй проблемы.

Более подробно рассмотрим возможный путь решения третьей проблемы. Организация доступа к базе данных является важнейшей функцией информационной системы. Пользователи постоянно работают с данными. Рассмотрим простой пример. Пусть у нас есть таблица СТУДЕНТ, хранящая информацию следующего рода:

СТУДЕНТ (Код студента, Фамилия, Имя, Отчество, Дата поступления).

Теперь мы хотим выполнить некоторый запрос к базе данных, результатом которого должны стать те строки таблицы СТУДЕНТ, для которых дата поступления окажется больше 01.06.2006. Рассмотрим последовательность действий для реализации данного запроса.

  1. Получаем доступ к таблице СТУДЕНТ и устанавливаем указатель текущей строки на первую строку таблицы.
  2. Анализируем поле «Дата поступления » в текущей строке.
  3. Если значение «Дата поступления» > «01.06.2006», распечатываем на экране данные об абитуриенте.
  4. Если таблица не кончилась, перемещаем указатель текущей строки на следующую строку и переходим к шагу 2, иначе заканчиваем работу.

Любой человек, знакомый с программированием, легко представит себе реализацию подобного алгоритма на любом языке программирования высокого уровня. Вот, в частности, пример реализации на Object Pascal :

В этом случае разработчик приложения сам организует работу по выборке данных, программируя каждое движение по таблице (осуществляет навигацию по таблице). Такой подход к обработке данных, ориентированный на последовательную работу с отдельными записями, называется навигационным. Здесь на конкретном языке программирования мы описываем процедуру — последовательность действий, необходимых для получения результата. Языки, в которых используется такой подход, называются процедурными. Очевидно, что с возрастанием сложности запроса существенно возрастает сложность процедуры и, соответственно, объем текста программы.

При работе с информационной системой пользователь реализует свои запросы к базе данных с помощью разработанных программистами прикладных программ. При навигационном подходе должны быть запрограммированы все возможные запросы. Очевидно, что заранее предугадать все запросы, потребность в которых может возникнуть и запрограммировать их, невозможно. С учетом того, что подавляющее большинство пользователей не владеет навыками программирования, это означает, что объем их действий будет ограничен рамками написанных программ, а именно, теми запросами, реализация которых предусмотрена заранее.

Кроме того, должен учитываться механизм взаимодействия в рамках архитектуры «клиент – сервер «. Пользовательская программа выполняется на компьютере–клиенте. Запрос к базе данных реализуется компьютером – сервером. Необходим механизм формирования в пользовательской программе клиента запроса к базе данных сервера. В этом случае навигационный подход неприемлем. В связи с этим, для работы с базами данных разработан и используется другой подход, основанный на использовании так называемых языков запросов, которые задают не последовательность необходимых действий, а условия, которым должен удовлетворять результат (при добавлении столбца, выборке записи, добавлении записи и т. п.). Такой подход решает все три вышеперечисленные проблемы.

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

Язык SQL (Structured Query Language – структурированный язык запросов) применяется для общения пользователя с реляционной базой данных и состоит из трех частей [ [ 11.2 ] ]:

  • DDL ( Data Definition Language ) – язык определения данных. Предназначен для создания базы данных (таблиц, индексов и т.д.) и редактирования ее схемы.
  • DCL (Data Control Language ) – язык управления данными. Содержит операторы для разграничения доступа пользователей к объектам базы данных.
  • DML ( Data Manipulation Language ) – язык обработки данных . Содержит операторы для внесения изменений в содержимое таблиц базы данных.

Как видно из написанного выше, SQL решает все рассмотренные ранее вопросы, предоставляя пользователю достаточно простой и понятный механизм доступа к данным , не связанный с конструированием алгоритма и его описанием на языке программирования высокого уровня. Так, вместо указания того, как необходимо действовать, пользователь при помощи операторов SQL объясняет СУБД , что ему нужно сделать. Далее СУБД сама анализирует текст запроса и определяет, как именно его выполнять.

В архитектуре «клиент – сервер » язык SQL занимает очень важное место . Именно он используется как язык общения клиентского программного обеспечения с серверной СУБД , расположенной на удаленном компьютере. Так, клиент посылает серверу запрос на языке SQL , а сервер разбирает его, интерпретирует, выбирает план выполнения , выполняет запрос и отсылает клиенту результат.

Посмотрим, как выглядит запрос на языке SQL , решающий задачу о выборке студентов по дате поступления.

Может сложиться ложное впечатление, что появление языка SQL является альтернативой языков программирования высокого уровня. Это не соответствует действительности. Выполнение запроса средствами SQL все равно сводится к работе с отдельными записями, и от этого никуда не уйти. Важно понимать, что появление языка SQL дало, по крайней мере, две новые возможности.

Рейтинг казино по бонусам и скорости выплат:
Добавить комментарий