Разработка системы анализа продаж спортивного магазина


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



бет5/9
Дата11.09.2020
өлшемі0,91 Mb.
#77723
түріОтчет
1   2   3   4   5   6   7   8   9
Байланысты:
Отчет ПДП Сейдаз

2.3 Система управления базой данных


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

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

Компилятор языка базы данных позволяет перевести операторы языка в исполняемый код.

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

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

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


  • локальные базы данных и архитектура "файл-сервер";

  • архитектура "клиент-сервер";

  • многозвенная (трехзвенная N-tier или multi-tier) архитектура.

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

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

Общая схема однопользовательской архитектуры показана на рисунке 2.2.

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


Рисунок 2.1 - Общий состав средств для работы готового приложения с БД


Рисунок. 2.2. - Однопользовательская архитектура при работе с локальными БД

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

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

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

С точки зрения архитектуры, особых отличий между файл-серверной и однопользовательской архитектуры нет. В обоих случаях используются так называемые локальные или персональные СУБД, такие как Paradox, dBase и пр. Сама база данных в этом случае представляет собой набор таблиц, индексных файлов, файлов полей комментариев (мемо-полей) и пр., хранящихся в одном каталоге на диске в виде отдельных файлов [10].

Архитектура "файл-сервер" неэффективна, по крайней мере, в двух отношениях:

а) При выполнении запроса к базе данных, расположенной на файловом сервере, в действительности происходит запрос к локальной копии данных на компьютере пользователя. Поэтому перед выполнением запроса данные в локальной копии обновляются из реальной БД. Данные обновляются в полном объеме. Так, если таблица БД состоит из 1000 записей, а для выполнения запроса (например, выдать сумму премий за октябрь в отделе Y) реально нужно 10 записей, все равно перегоняются все 1000 записей. Таким образом, не нужно иметь слишком много пользователей и запросов от них, чтобы серьезно ''забить" сеть, что, конечно же, не может не сказаться на ее быстродействии;

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

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

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

Все это повышает быстродействие системы и снижает время ожидания результата запроса.

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

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

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

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

Архитектура "клиент-сервер"предполагает использование так называемых промышленных СУБД. Это означает, что такие системы могут быть использованы для автоматизации процессов на предприятиях среднего и крупного масштаба. Локальные СУБД используются, как правило, для узких целей, когда работать с системой будет очень небоьшое число пользователей. [13, 14]. Кроме этого, существует отдельная категория сотрудников, называемых администраторами баз данных. Как правило, это администраторы сервера, разработчики БД или пользователи, имеющие привилегии на создание, изменение, настройку оптимальных параметров отдельных серверных БД. Администраторы БД также отвечают за предоставление прав на разно­уровневый доступ к сопровождаемым ими БД для других пользователей.[16].

Использование клиент-серверной архитектуры позволяет



  • сократить сетевой трафик;

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

  • снизить требования к аппаратной структуре пользовательских компьютеров;

  • повысить надежность и безопасность базы данных.

Для разработки базы данных выбираем СУБД Microsoft SQL Server.

MS SQL Server включает в себя как серверную, так и клиентскую часть. Однако состав служб, включенных в поставку сервера, зависит от версии. MS SQL Server доступен в шести версиях (редакциях):


1   2   3   4   5   6   7   8   9




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет