Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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




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

База данных — совокупность данных или сведений относящихся к определенной теме или задаче, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных [2].

Базы данных делят на три основных типа:

- табличные (реляционные);

- сетевые;

- иерархические.

Наиболее распространенными в практике являются реляционные базы данных. Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа. Каждая строка таблицы включает данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов — атрибуты. Строки таблицы называются записями; все записи имеют одинаковую структуру — они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и имеет строго определенный тип данных. Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов [2].

Реляционные базы данных удобны тем, что для получения ответов на различные запросы существует разработанный математический аппарат, который называется исчислением отношений или реляционной алгеброй [2].

Иерархическая модель данных это сбой совокупность элементов, связанных между собой по определенным правилам. Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии - подчиненными [2]. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует несколько подчиненных типов объектов. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов [6].

Узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и др. уровнях [2].

К достоинства иерархической модели данных можно отнести:

- эффективное использование памяти и неплохие показатели временных затрат на выполнение операций;



- пригодны для формирования БД с теми данными, которые сами по себе имеют иерархическую структуру.

Соответственно возможностям организации реляционных, иерархических и сетевых информационных структур, существуют и аналогичные виды баз данных. В них данные представлены в формах, адекватных соответствующим структурам [6]. Однако иерархические и сетевые базы данных являются гораздо менее распространенными, чем реляционные и не могут быть реализованы с помощью наиболее популярных СУБД, входящих в состав программного обеспечения ЭВМ [5].

Для работы с данными используются системы управления базами данных. Основные функции СУБД — это определение данных, обработка данных и управление данными [2].

Предметная область - часть реального мира, подлежащая изучению с целью организации управления и автоматизации. Предметная область представляется множеством фрагментов. Каждый фрагмент предметной области характеризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, характеризуемых различными взглядами на предметную область [8].

Атрибут – это свойство объекта, его характеристика. Для баз данных атрибутом является поле – элемент данных в кортеже [1].

Сущность – это совокупность объектов, обладающих одинаковым набором свойств (атрибутов) [2].

Данные – это формализованное представление информации, на каком-либо носителе, доступное для обработки и обмена между людьми [3].

Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных [1].



Основные функций СУБД:

1 управление данными во внешней памяти (на дисках);

2 управление данными в оперативной памяти с использованием дискового кэша;

3 журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

4 поддержка языков БД (язык определения данных, язык манипулирования данными) [2].

Обычно современная СУБД содержит следующие компоненты:

- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;

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

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

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

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

Индекс - объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени [7]. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет искать строки, удовлетворяющие критерию поиска. Ускорение работы с использованием индексов достигается в первую очередь за счёт того, что индекс имеет структуру, оптимизированную под поиск — например, сбалансированного дерева [3].

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

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

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

- СУБД с централизованной архитектурой;

- СУБД с архитектурой файл-сервер;

- СУБД с архитектурой клиент-сервер;

- СУБД с трехуровневой архитектурой: «тонкий клиент» - сервер приложений – сервер базы данных [2].

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

В СУБД с архитектурой файл-сервер база данных хранится на сервере, а копии СУБД устанавливаются на компьютерах пользователей. Файл базы данных находящийся на сервере, совместно используется всеми пользователями одновременно, при помощи сетевого программного обеспечения и самой операционной системы. Ярким примером такой архитектуры является СУБД MS Access: копии СУБД установлены на компьютере каждого пользователя, а сам файл базы данных находится на сервере в сетевой папке [8].

Архитектура файл-сервер позволяет добиться приемлемой производительности, т.к. в распоряжении каждой копии СУБД находятся все ресурсы компьютера пользователя. С другой стороны, производительность такой схемы для каждого пользователя, напрямую зависит от характеристик компьютера пользователя. Кроме того, такая схема работы значительно загружает сеть [17].

При архитектуре клиент-сервер база данных хранится на сервере, а СУБД подразделяется на две части: клиентскую и серверную. Клиентская часть СУБД выполняется на стороне клиента и обеспечивает интерактивное взаимодействие с пользователем и формирование запросов к базе данных (на языке SQL) [2].

Большинство современных СУБД реализованы по архитектуре клиент-сервер: Oracle, MS SQL Server, PostgreSQL, MySQL, Informix, DB2 и др.

Однако и архитектура клиент-сервер не лишена недостатков.

Если деловая логика взаимодействия с базой данных (логика, определяющая порядок работы предприятия: какие таблицы и в каком порядке заполнять, что делать при добавлении нового сотрудника и т.д.) изменяется, то приходится заново переписывать клиентские программы (водить новые формы, менять порядок их заполнения и т.д.) [19].

Если изменения происходят слишком часто, а количество рабочих мест велико, то постоянная переустановка программного обеспечения становится серьезной проблемой [7].

В таких случаях следует переходить к трехуровневой архитектуре: «тонкий клиент» - сервер приложений – сервер базы данных.

При трехуровневой архитектуре в функции клиентской части («тонкий клиент») входит только интерактивное взаимодействие с пользователем, а вся деловая логика вынесена на сервер приложений, который собственно и обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу базы данных [9].

«Тонкий клиент» находится на компьютере пользователя и чаще всего представляет собой Web-браузер (например, Internet Explorer) с применением соответствующей HTML-странице апплетов Java или компонентов ActiveX.

Сервер приложений находится на сервере и может являться специализированной программой или обычным Web-сервером, вызывающим для обработки HTTP-запроса внешнюю программу через интерфейс CGI [2].

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

Преимущества:

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

- Непротиворечивость данных. Сократить риск противоречивых состояний. Если элемент информации хранится в базе данных в нескольких экземплярах, то система в свою очередь следит за тем чтобы копии не противоречили друг другу [2];

- Больше полезной информации при том же объеме хранимых данных;

- Совместное использование данных. База данных принадлежит группам пользователей которым предоставлен доступ. Это упрощает обработку информации которой теперь может заниматься не один человек, а группа пользователей которые в свою очередь могут работать с большим количеством информации [10];

- Поддержка целостности данных. Корректность и непротиворечивость хранимой в базе данных информации;

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

- Применение стандартов. Интеграция позволяет администратору баз данных определять и применять необходимые стандарты;

- Повышение эффективности с ростом масштабов системы [2];

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

- Повышение доступности данных и их готовности к работе. Данные в результате интеграции становятся непосредственно доступными конечным пользователям;

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

- Упрощение сопровождения системы за счет независимости от данных. В СУБД описания сведений отделены от приложений, а потому приложения защищены от изменений;

- Улучшенное управление параллельностью. Предусмотрена возможность параллельного доступа к данным. Это очень помогает при одновременном доступе к одному и тому же файлу нескольких пользователей;

- Развитые службы резервного копирования и восстановления. В современных СУБД предусмотрены средства сокращения объема потерь информации от возникновения различных сбоев и несанкционированного доступа посторонних лиц[2].

Недостатки:

- Сложность. Функционал СУБД сопровождается ее значительным усложнением. Каждый разработчик СУБД должен понимать принцип работы системы.

- Размер программного обеспечения. СУБД занимает много места на диске и требовать большого объема оперативной памяти для эффективного функционирования;

- Стоимость СУБД. Стоимость СУБД может варьироваться в очень широких пределах;

- Дополнительные затраты на аппаратное обеспечение. Для нормальной работы СУБД может потребоваться приобрести дополнительные устройства хранения информации;

- Затраты на преобразование приложений. Затраты на приобретение существующих приложений и обучение персонала;

- Более серьезные последствия при выходе системы из строя. Выход из строя одного из ее компонентов СУБД может привести к полному или частичному прекращению работы предприятия [10];

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.012 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал