База данных которая хранится на одном компьютере локальная

Обновлено: 05.07.2024

На этом шаге мы дадим классификацию баз данных .

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

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

Для обеспечения разделения данных (доступа к данным) между несколькими пользователями, в качестве которых выступают программы, работающие на одном или нескольких компьютерах, в локальных базах данных применяется метод, получивший название блокировка файлов . Суть этого метода заключается в том, что пока данные используются одним пользователем, другой пользователь не может работать с этими данными, т. е. данные для него закрыты, заблокированы. Paradox, dBase, FoxPro и Access - это локальные базы данных.

Удаленные базы данных . Данные (файлы) удаленной базы данных находятся на удаленном компьютере. (Следует обратить внимание, что каталоги удаленного компьютера не могут рассматриваться как сетевые диски.)

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

Серверная часть программы, работающая на удаленном компьютере, принимает запросы, выполняет их и пересылает данные клиентской программе. Запросы представляют собой команды, представленные на языке SQL (Structured Query Language) - языке структурированных запросов.

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

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

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

Базы данных на ПК развивались по направлению от настольных (desktop), или локальных приложений, когда реально с БД могло работать одно приложение, до систем коллективного доступа к БД.
Локальное приложение устанавливалось на единичном ПК; там же располагалась и база данных (БД), с которой работало данное приложение. Однако необходимость коллективной работы с одной и той же БД повлекло за собой перенос БД на сервер. Приложение, работающее с БД, располагалось также на сервере.

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

Местоположение БД определяет так называемую архитектуру базы данных. Имеются четыре разновидности архитектур баз данных:

-локальные базы данных;

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

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

В архитектуре "файл-сервер" вся тяжесть выполнения запросов к базе данных и управления целостностью базы данных ложится на приложение пользователя. База данных на сервере является пассивным источником данных.
Кардинальных различий с точки зрения архитектуры между однопользовательской архитектурой и архитектурой "файл-сервер" нет. И в том, и в ином случае в качестве СУБД применяются так называемые "персональные" (или "настольные", "локальные") СУБД, такие как paradox, dbase и пр. Сама база данных в этом случае представляет собой набор таблиц, индексных файлов, файлов полей комментариев (memo-полей) и пр., хранящихся в одном каталоге на диске в виде отдельных файлов.

В ходе эксплуатации были выявлены общие недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
Вся тяжесть вычислительной нагрузки при доступе к базе данных ложится на приложение клиента, что является следствием принципа обработки информации в системах "файл-сервер": при выдаче запроса на выборку информации из таблицы вся таблица базы данных копируется на клиентское место, и выборка осуществляется на клиентском месте. Локальные СУБД используют так называемый "навигационный подход", ориентированный на работу с отдельными записями.

Не оптимально расходуются ресурсы клиентского компьютера и сети; например, если в результате запроса мы должны получить 2 записи из таблицы объемом 10000 записей, все 10000 записей будут скопированы с файл-сервера на клиентский компьютер; в результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера.
В базе данных на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты database desktop фирмы borland для файлов paradox или dbase); подобная возможность облегчается тем обстоятельством, что, фактически, у локальных СУБД база данных – понятие более логическое, чем физическое, поскольку под базой данных понимается набор отдельных таблиц, сосуществующих в едином каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.

Поскольку настольные СУБД не содержат специальных приложений и сервисов, управляющих данными, а используются для этой цели файловые сервисы операционной системы, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении, и любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. Поэтому при выполнении запросов данные, на основании которых выполняется такой запрос (это может быть одна или несколько таблиц целиком либо, если повезет, один или несколько индексов и выбранные с их помощью части таблиц), должны быть доставлены в то же самое адресное пространство клиентского приложения. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром до сих пор популярны утилиты для "ремонта" испорченных файлов настольных СУБД.
Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД. Характерной особенностью архитектуры "клиент-сервер" является перенос вычислительной нагрузки на сервер базы данных (sql-сервер) и максимальная разгрузка приложения клиента от вычислительной работы, а также существенное укрепление безопасности данных – как от злонамеренных, так и просто ошибочных изменений.
БД в этом случае помещается на сетевом сервере, как и в архитектуре "файл-сервер", однако прямого доступа к базе данных (БД) из приложений не происходит. Функция прямого обращения к БД осуществляет специальная управляющая программа – сервер БД (sql-сервер), поставляемый разработчиком СУБД.

Архитектура "клиент-сервер" разделяет функции приложения пользователя (называемого клиентом) и сервера.
Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов sql, являющимся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его sql-серверу БД. sql-сервер – это специальная программа, управляющая удаленной базой данных. sql-сервер обеспечивают интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю.

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

При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются в базе данных на сервере и являются едиными для всех приложений, использующих эту БД. Таким образом, исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый sql-серверами, позволяет исключить одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно.

Функциями приложения-клиента являются:

-Посылка к серверу запросов;

-Интерпретация результатов запросов, полученных от сервера, и представление их пользователю в требуемой форме;

-Реализация интерфейса пользователя.

sql-сервер должен быть загружен на момент принятия запроса клиента. Функциями сервера БД являются:

-Прием запросов от приложений-клиентов, интерпретация запросов, выполнение запросов в БД, отправка результата выполнения запроса приложению-клиенту;

-Управление целостностью БД, обеспечение системы безопасности, блокировка неверных действий приложений-клиентов;

-Хранение бизнес-правил, часто используемых запросов в уже интерпретированном виде;

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

В архитектуре "клиент-сервер" используются так называемые "удаленные" (или "промышленные") СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей.
К разряду промышленных СУБД принадлежат oracle, informix, sybase, ms sql server, db2, interbase и ряд других.

Как правило, sql-сервер управляется отдельным сотрудником или группой сотрудников (администраторы sql-сервера). Они управляют физическими характеристиками баз данных, производят оптимизацию, настройку и переопределение различных компонентов БД, создают новые БД, изменяют существующие и т.д., а также выдают привилегии различным пользователям.
Кроме этого, существует отдельная категория сотрудников, называемых администраторами баз данных. Как правило, это администраторы сервера, разработчики БД или пользователи, имеющие привилегии на создание, изменение, настройку оптимальных параметров отдельных серверных БД. Администраторы БД также отвечают за предоставление прав на разноуровневый доступ к сопровождаемым ими БД для других пользователей.

Механизмы доступа

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

Существует несколько способов доступа к данным из средств разработки и клиентских приложений.
Подавляющее большинство СУБД содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (application programming interface, api) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных (БД), а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие api для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.

В последнее время windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности microsoft sql server, oracle, informix, содержат также СОМ-серверы, предоставляющие объекты для доступа к данным и метаданным.
Использование клиентского api (или клиентских СОМ-объектов) является наиболее очевидным способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую повлечет за собой переписывание значительной части кода клиентского приложения – клиентские api и объектные модели не подчиняются никаким стандартам и различны для различных СУБД.

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

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

Универсальные механизмы odbc, ole db и ado фирмы microsoft представляют собой по существу промышленные стандарты. Что касается механизма доступа к данным bde фирмы borland, то он так и не стал промышленным стандартом, однако до недавнего времени применялся довольно широко, поскольку до выхода delphi 5 был практически единственным универмальным механизмом доступа к данным, поддерживаемым средствами разработки borland на уровне компонентов и классов

Что такое sql?

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

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

В этом варианте работы пользователь, в общем случае, взаимодействует с информационной базой по следующей схеме:


На одном из компьютеров локальной сети расположен кластер серверов «1С:Предприятия 8». На другом компьютере расположена система управления базами данных, в которой хранится клиент-серверная информационная база.

Пользователь запускает тонкого клиента. На компьютере пользователя исполняется код на встроенном языке в контексте клиента. На компьютере кластера серверов исполняется код в контексте сервера.

Развертывание, запуск и отладка

    , содержащую кластер серверов; , поддерживаемую платформой.


Предупреждение: При работе в ОС macOS возможен единственный вариант — с использованием кластера, существующего в локальной сети, т. к. кластер работает только под управлением операционных систем Windows и Linux.
    новую клиент-серверную базу; ее конфигурацию в новый проект; в проект нужные вам объекты конфигурации и алгоритмы; тонкого клиента, имитируя работу пользователя.

Для отладки в этом варианте работы требуется дополнительная настройка (подробнее).

Когда конфигурация готова, вы можете создать CF-файл конфигурации, DT-файл информационной базы, собрать их в комплект поставки и создать дистрибутив (подробнее).

Установка платформы «1С:Предприятие 8»

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

  • 1С:Предприятие (содержит конфигуратор и тонкого клиента);
  • Сервер 1С:Предприятия 8 .
  • common ;
  • client ;
  • server (т. к. client зависит от server ).
  • Подробнее в документации «1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора»;


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

Для администрирования кластера (в любой операционной системе) начиная с версии платформы 8.3.15 вы можете использовать стандартную функцию Управление серверами . Она доступна в любом прикладном решении в режиме 1С:Предприятие — Главное меню > Все функции > Стандартные > Управление серверами . Возможная проблема: Если команда Все функции отсутствует, включите ее видимость — Главное меню > Настройки > Параметры. > Отображать команду «Все функции» .

В платформе 8.3.14 такая стандартная функция отсутствует, но вы можете использовать аналогичную универсальную обработку Управление серверами . Эту обработку можно запустить в любом прикладном решении.

Про администрирование кластера в более ранних версиях платформы вы можете прочитать в документации 1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора.

Установка системы управления базами данных

Вам нужно будет установить одну из СУБД, работу с которыми поддерживает платформа «1С:Предприятие 8». Подробнее вы можете прочитать в документации «1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора».

Другие варианты развертывания

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


В этом случае предметы отладки ( Тонкий клиент , Сервер ) будут исполняться на вашем компьютере.

Если в вашей локальной сети установлен кластер серверов «1С:Предприятия 8», вы можете не устанавливать на своем компьютере кластер и СУБД. Информационную базу вы создадите в имеющемся кластере.


В этом случае Тонкий клиент будет исполняться на вашем компьютере, а Сервер будет исполняться на том компьютере, на котором работает кластер серверов.

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

Локальная база данных — хранится на вашем рабочем компьютере или в папке общего доступа на офисном сервере, и предназначается для многопользовательского локального использования в офисном помещении, где компьютеры объединены в единую локальную сеть (проводную или беспроводную).

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

Локальная база

Стандартное имя файла базы данных — DataBASE.TT

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


Путь к базе данных — локальный или сетевой путь расположения файла базы данных.

Щелкните Указать, чтобы выбрать местонахождение файла база данных. Также можно указать путь вручную.

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

Для подтверждения внесения изменений нажмите кнопку Применить.

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

Управление резервным копированием базы данных:

Общий доступ

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

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

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

Чтобы открыть общий доступ для созданной папки TransTrade, выполните следующие действия:

1. Откройте свойства папки — щелкните правой кнопкой мыши на папке и в контекстном меню выберите команду Свойства .


2. В окне свойств папки на вкладке Доступ нажмите кнопку Расширенная настройка.


3. Затем включите опцию Открыть общий доступ к этой папке и нажмите кнопку Разрешения:


4. В разрешениях включите отметки Чтение и Изменение:


5. Нажмите OK . Потом в предыдущем окне — тоже OK .

Теперь папка TransTrade доступна по сети. Если на другом компьютере в этой локальной сети открыть сетевое окружение, в общем доступе появится папка TransTrade . Следовательно, с любого компьютера в офисе есть доступ к этой сетевой папке.

Поместите в эту сетевую папку весь комплект программных файлов TransTrade.

Комплект файлов включает в себя папку Бланки, приложение TransTrade.exe, базу данных DataBASE.TT и прочие системные файлы:


Если комплект файлов упакован в zip-архив, обязательно извлеките все файлы из архива в папку:


После распаковки комплекта файлов из архива, рекомендуется удалить zip-архив.

Теперь, запустив из папки общего доступа приложение TransTrade.exe, программу можно использовать на любом компьютере.





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

Облачная база

Примечание : «Интернет-сервер» — это дополнительный модуль, который приобретается отдельно. Инструкции в данном разделе актуальны, если конфигурация программы включает модуль «Интернет-сервер».

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

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

Вместе с программой передается PDF-документ с описанием сервиса облачного хранения данных и вашими доступами.

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

Комплект файлов включает в себя папку Бланки, приложение TransTrade.exe, файл с настройками подключения config.set и прочие системные файлы:


Если комплект файлов упакован в zip-архив, обязательно извлеките все файлы из архива в папку:


После распаковки комплекта файлов из архива, рекомендуется удалить zip-архив.

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

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

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




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

Читайте также: