Главная страница
Навигация по странице:

  • Конечные пользователи

  • Администраторы банка данных (АБД)

  • Разработчики и администраторы приложений

  • 2) Монопольная, "десктоп" СУБД

  • 3) Корпоративная СУБД

  • По областям применения принято выделять две группы СУБД.

  • 2) Локальные, персональные, настольные, файл-серверные, “малые” СУБД.

  • ПЛЕЩ. Учебное пособие содержит


    Скачать 3.78 Mb.
    НазваниеУчебное пособие содержит
    АнкорПЛЕЩ.docx
    Дата29.06.2018
    Размер3.78 Mb.
    Формат файлаdocx
    Имя файлаПЛЕЩ.docx
    ТипУчебное пособие
    #20888
    страница3 из 20
    1   2   3   4   5   6   7   8   9   ...   20

    1.2. Введение в СУБД

    1.2.1. Основные термины, понятия и определения


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

    База данных (БД)  совокупность взаимосвязанных данных на внешних носителях (магнитных дисках).

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

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

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

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

    язык описания данных (ЯОД) – высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных; 

    язык манипулирования данными (ЯМД) - совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам. 

    Наибольшее распространение получили два стандартизованных языка:

    QBE (Query By Example) – язык запросов по образцу, который обладает свойствами языка манипулирования данными и реализуется визуальным средствами (мастерами и конструкторами СУБД);

    SQL (Structured Query Language) – структурированный язык запросов и сочетает в себе свойства языков обоих типов – описания и манипулирования данными. 

    Перечисленные выше функции СУБД, в свою очередь, используют следующие основные функции более низкого уровня: 

    управление данными во внешней памяти; 

    управление буферами оперативной памяти; 

    управление транзакциями; 

    ведение журнала изменений в БД; 

    обеспечение целостности и безопасности БД.

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

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

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

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

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

    Транзакции присущи три основных свойства: 

    атомарность (выполняются все входящие в транзакцию операции или ни одна); 

    сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций); 

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

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

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

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

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

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

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

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

    Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно для случая использования БД в сетях. 

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

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

    Модель представления данных – логическая структура хранимых в базе данных. Основным моделям представления данных (моделям данных) относятся следующие: иерархическая, сетевая, реляционная, постреляционная, многомерная и объектно-ориентированная. 

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

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

    Предметная область базы данных (ПО)  организация, подразделение, для которого создается БД.

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

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

    Объект (сущность) - предмет, человек или событие, о котором собирается и хранится информация.

    Экземпляр объекта (запись) - единичное значение объекта.

    Пример. Объект “СОТРУДНИК”, экземпляр  данные об Иванове И.

    Атрибут  отдельная характеристика (свойство) объекта.

    Домен  область значений одного или нескольких атрибутов.

    Таблица - совокупность записей с фиксированным числом полей.

    Таблица содержит все экземпляры объекта. Объект, экземпляр объекта и атрибут соответствуют понятиям: таблица, строка и колонка таблицы соответственно.

    Рекомендуется называть атрибут и сущность существительными в единственном числе, а таблицу  именем объекта во множественном числе (например, объекту “СОТРУДНИК” соответствует таблица “СОТРУДНИКИ”).

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

    Пример. Атрибуты “Код завода”, “Код изделия”, “Дата выпуска изделия” образуют составной ключ объекта “ВЫПУСК ИЗДЕЛИЯ”.

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

    Встроенный словарь является частью самой СУБД. Достоинства: высокая степень защиты и контроля данных. Недостаток: ориентация на конкретную СУБД.

    Автономный словарь создается отдельно от СУБД специальными пакетами. Достоинства: переносимость в другие СУБД. Недостаток: слабый контроль.

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

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

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

    Основные функции АБД:

    1. Участие в разработке проекта по созданию БД.

    2. Обеспечение целостности БД (копирование, восстановление).

    3. Обучение пользователей работе с БД (вход в БД, ввод паролей, работа в нормальной и экстремальной ситуациях и др.).

    4. Отслеживание трафика загрузки БД, сбоев, характеристик (время доступа, общее время обработки запросов и т.д.).

    5. Реорганизация БД с целью улучшения характеристик базы.

    6. Реализация многопользовательского режима работы с БД (парольная защита от несанкционированного доступа, шифрование данных, разделение доступа и др.).

    7. Защита от несанкционированного доступа, если нет специального подразделения по информационной безопасности.

    В составе группы АБД могут быть: системные аналитики; проектировщики структур данных и внешнего по отношению к банку данных информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; специалисты по техническому обслуживанию; операторы.

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

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

    1.2.2. Классификация СУБД


    ПО признаку масштаба можно классифицировать современные СУБД на четыре основных уровня (типа).

    1) СУБД - библиотечный встраиваемый модуль, "движок"- эта СУБД представляет собой исполняемую библиотеку, подключаемую к прикладной программе, являющаяся частью почти любого современного браузера или Borland Database Engine, выполняющая те же функции в продуктах фирмы Borland: Delphi, C++Builder и др., Berkeley DB, используемая в ОС UNIX и часть других СУБД, таких как MySQL.

    2) Монопольная, "десктоп" СУБД- эта СУБД представляет собой обычную прикладную программу, которая используется для однопользовательского использования (монопольного режима).

    3) Корпоративная СУБД- эта СУБД представляет собой программный комплекс, когда ее предназначением является серверная многопользовательская обработка данных общей для многих пользователей базы данных.

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

    По областям применения принято выделять две группы СУБД.

    1) Сетевые, корпоративные, распределенные, клиент-серверные, полнофункциональные, масштабируемые, “большие” СУБД.

    СУБД данной группы рассчитаны на объём информации сотни ГБ и более (информационные “грузовики”). Рассмотрим основные СУБД из этой группы.

    СУБД ORACLE (фирма ORACLE) возникла в 60-х годах, является одной из самых первых и популярных СУБД.

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

    Недостатки этой системы: сложность, громоздкость её применения для простых БД, высокая стоимость.

    СУБД DB 2 (фирма IBM) создана в 60-е годы и по своим возможностям приближается к ORACLE.

    СУБД SQLServer(фирма Microsoft), возникла в начале 70-х, первая СУБД Microsoft.

    Достоинства: она проще, чем предыдущие СУБД и дешевле

    Недостатки: работает только под Windows, не имеет средств разработки приложений. В настоящее время более половины корпоративных БД работающих под windows имеют СУБД SQL Server.

    СУБД MySQL создавалась на общественных началах сообществом программистов и распространялась как свободная СУБД с исходными текстами и с возможностью корректировать исходные тексты программ. В настоящее время она куплена фирмой ORACLE с обещанием сохранить бесплатное использование. Для неё есть много оболочек, которые можно разделить на 2 группы: локальные оболочки, работающие на клиентской машине, где находится БД и удалённые оболочки, которые подключаются через Интернет к удалённым БД. В основном СУБД используется для создания баз данных для сайтов и Web-приложений, особенно написанных на PHP.

    Достоинства: бесплатность, её простота, интеграция с языком программирования PHP.

    Недостатки: отсутствие собственной визуальной оболочки и собственных средств разработки приложений.

    СУБД InterBase (фирма Borland). Достоинства - интеграция с языком программирования Delphi. Для неё существует множество визуальных оболочек. Недостаток - специализирована для Delphi.

    СУБД Firebird (сообщество Firebird) - компактная СУБД, основанная на кодах InterBase и работающая на различных платформах

    2) Локальные, персональные, настольные, файл-серверные, “малые” СУБД.

    СУБД этой группы рассчитаны на объём информации в несколько ГБ (информационные “легковые автомобили”). Рассмотрим основные СУБД из этой группы.

    СУБД Access (фирма Microsoft) – лидер в этой группе. Часто, оценивая только визуальные возможности (это только видимая и очень маленькая часть огромного программного айсберга под названием Access) этой СУБД, разработчики баз данных отзываются пренебрежительно о ней как об очень простой и только настольной СУБД, не достойной для создания и использования настоящих баз данных. Это далеко ошибочное мнение. Рассмотрим основные достоинства этой СУБД.

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

    Наличие трёх уровней работы c БД:

    1) визуальный уровень - можно создавать БД, отчёты, запросы, формы без всякого программирования.

    2) уровень макрокоманд - в Access имеется более сотни различных макрокоманд и с помощью макрокоманд составляются макросы, которые реализуют алгоритмы работы с базой данных, которые нельзя реализовать визуальными средствами, например: копирование таблиц, формирование и выполнение зависимых друг от друга запросов макросов и других процессов. Макросы в какой-то мере реализуют механизм хранимых процедур, который отсутствуют в Access.

    3) программный уровень на котором пишутся программы на языке программирования VBA (подмножество языка Visual Basic). Таким образом, можно реализовать алгоритмы в виде процедур и функций, которые указываются в вычисляемых полях в запросах, формах или отчётах.

    Разработчик может выбирать уровни, которые соответствуют сложности решаемых им задач.

    СУБД Access реализует все модели работы с базой данных, а именно.

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

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

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

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

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

    В этой модели Access используется как средство разработки интерфейса пользователя к внешним серверным базам данных с другими СУБД. Недостатки: необходимо знать и уметь формировать запросы, хранимые процедуры и триггеры средствами серверной СУБД. Данная модель используется в случаях больших объёмов БД (сотни ГБ и более).

    Модель тонкого клиента (использование Интернет технологий). В этой модели используются стандартные средства Интернета через окно браузера пользователя можно заполнять входные документы и отображать выходные документы. Обработка данных ведется с использованием Web-приложении с обращением к базе с СУБД Access (например, через функции ODBC). Достоинство: компьютер клиента может быть минимальным по своим возможностям, ибо только требуется работа браузера, а вся обработка и поиск ведётся на сервере (узле Интернет) и используются стандартные средства Интернет.

    Трехзвенная модель клиент, сервер-приложений и сервер-базы данных. В этом режиме клиентская часть разделяется на 2 части: одна часть хранится на клиентской машине и содержит средства заполнения и отображения документов, а сама расчётная часть хранится на сервере приложений, которая в свою очередь обращается к серверу БД. В Access 2010 появилось возможность Access создания Web-базы данных и формирования и использования форм и отчетов, которые обращаются к этой базе непосредственно.

    В качестве недостатков СУБД Access можно отметить следующие.

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

    Ограничение на объем базы данных в 2 ГБ.

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

    Небольшие размеры полей для ввода параметров макрокоманд (например, текста SQL-команды), что приводит к необходимости переходить на использование языка программирования VBA.

    Достаточно сложный процесс формирования ленты пользователя и отсутствия возможности формирования меню в версиях Access 2007 и выше.

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

    Таким образом, можно сделать вывод в наличии разнообразных и мощных возможностей СУБД Access.

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

    VisualClarion - она уступает всем предыдущим СУБД и в настоящее время практически не используется.
    1   2   3   4   5   6   7   8   9   ...   20


    написать администратору сайта