Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
217 Информационные технологии в ЭИС.doc
Скачиваний:
762
Добавлен:
26.02.2016
Размер:
1.72 Mб
Скачать

Тема 7. Информационные технологии на основе субд.

План.

7.1. Понятие СУБД. Средства СУБД.

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

7.3. Модели данных.

Резюме.

Вопросы для самоконтроля и задания.

Тесты для самоконтроля знаний.

Литература 1,4,11,16,21,22,23,25,32,35.

7.1. Понятие СУБД. Средства СУБД.

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

СУБД - это совокупность программных и языковых средств для создания ведения и совместного использования базы данных многими пользователями. Начало СУБД для ПЭВМ положила фирма Ashton Tate (США) выпуском в 1980г. программы dbase.

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

  • интеграцию недублируемых данных в единой базе данных,

  • многоцелевое использование данных,

  • целостность и непротиворечивость всех данных в базе,

  • возможность однократного ввода данных,

  • защиту данных от сбоев и несанкционированного доступа.

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

Основными средствами СУБД являются:

  • средства задания (описания) структуры БД,

  • средства конструирования экранных форм, предназначенных для ввода данных, просмотра и их обработки в диалоговом режиме;

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

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

  • языковые средства - макросы, встроенный алгоритмический язык (dbase, Visual Basic или др.), язык запросов (QBE - Query By Example, SQL), которые используются для реализации нестандартных алгоритмов обработки данных, а также процедур обработки событий в задачах пользователя;

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

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

  • операционные системы и языки программирования не ориентированы на специфические параметры логической и физической организации БД;

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

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

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

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

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

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

  • имеющиеся техническое и базовое программное обеспечения, их конфигурация, оперативная и дисковая память:

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

  • тип поддерживаемой модели данных, специфика предметной области, топология информационно-логической модели;

  • требования к производительности при обработке данных;

  • наличие в СУБД необходимых функциональных средств;

  • наличие русифицированной версии СУБД;

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

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

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

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

  • управление буферами (рабочими областями) оперативной памяти;

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

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

Язык современной СУБД включает:

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

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

  • структурированный язык запросов (Structurend Query Language; SQL) обеспечивает манипулирование данными и определение схемы реляционной БД, является стандартным средством доступа к серверу БД.

Архитектура СУБД показана на рис. 7.1

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

ОЗУ

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

Обозначения:

П - пользователь; ИП - интерфейсы пользователей; Адм БД - администратор базы данных; ИАдм БД - интерфейсы администратора базы данных; КИ - коммуникационные интерфейсы; ОЗУ - оперативно-запоминающее устройство; СВУ - средства внешнего уровня; СКУ - средства концептуального уровня; СФУ - средства физического уровня; БД - база данных; ВЗУ - внешнее запоминающее устройство.

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

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

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

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

Коммуникационные интерфейсы обеспечивают экспорт /импорт данных в другие прикладные системы и компьютерные сети.

Все разновидности интерфейсов включают технические, программные и методические средства.

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

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

К важным признакам классификации современных СУБД относятся:

  • среда функционирования - класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе разрядность операционной системы, на которую ориентирована СУБД (16 - или 32, 64 - разрядные);

  • тип поддерживаемой в СУБД модели данных: сетевая, иерархическая или реляционная;

  • возможности встроенного языка СУБД; его переносимость в другие приложения (SQL, Visual Basic, Object Pal и т.п.);

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

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

  • используемая концепция работы с нетрадиционными данными - объектно - реляционные, объектные;

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

  • использование объектной технологии OLE 2.0;

  • возможности интеграции данных из разных СУБД;

  • степень поддержки языка SQL и возможности работы с сервером баз данных (SQL - сервером);

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

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

Одной из важнейших тенденции развития СУБД является разработка универсальных СУБД, способных интегрировать в базе традиционные и нетрадиционные данные: тексты, рисунки, звук, видео, страницы HTML и др. Это особенно актуально для Web. Имеются два подхода к построению таких СУБД: объектно-реляционный и объектный.

При обеспечении обработки (трансляции) программ СУБД может работать в 2-х режимах:

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

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

В режиме интерпретации работают СУБД dbase III PluB, Foxbase, в режиме компиляции СУБД Clipper, в смешанном режиме - СУБД Clarion.

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

  1. по степени открытости различают:

  • открытые (включающие) языки, которые являются стандартными языками программирования, расширенными специальными средствами данных (операторами манипулирования данными),

  • замкнутые (автономные) языки, которые являются специализированными средствами работы с базами данных. По сравнению с открытыми, замкнутые языки обладают более широкими возможностями манипулирования данными, но уступают по вычислительным параметрам. Это языки dbase, SQL.

  1. по степени алгоритмизации:

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

  • декларативные языки (QBE) допускают только указание результата без описания конкретных шагов по его получению.

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

Применяемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах на низкоуровневое программирование. Продукты, функционирующие в среде Windows, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности. Широкое распространение получили в современных условиях СУБД Access, FoxPro, Paradox, dbase - IV и др.

Производительность СУБД оценивается:

  • временем выполнения запросов,

  • скоростью поиска информации в неиндексированных полях,

  • временем выполнения операций импортирования БД из других форматов;

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

  • максимальным числом параллельных обращений к данным в многопользовательском режиме;

  • временем генерации отчетов.

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

7.3.Модели данных.

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

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

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

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

Структура базы данных на примере данных о работниках фирмы показана на рис. 7.2.

Файл.

поле 1

поле 2

поле 3

...

поле n

Ф. И. О.

Год рожд.

Пол

Должность

Запись 1

Иванов И.И

1962

муж.

Инженер

Запись 2

.

.

.

Запись m

Рис 7.2. Структура базы данных о работниках фирмы.

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

Фирма.

Наименование

Адрес

город

Улица

номер дома

телефон

Рис. 7.3. Пример составной записи.

Для организации БД, сортировки данных и их выбора по различным признакам (ключам) между структурными элементами БД (полями и записями) устанавливаются связи (отношения):

Связь «один к одному» (1:1) Пример связи:

1:1

Связь «один ко многим» (1:М). Пример:

1:М

Связь «многие к одному». Пример:

М:1

Связь «многие ко многим». Пример:

М:М

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

Известны три основных типа моделей данных: иерархическая, сетевая и реляционная.

Иерархическая модель данных организует данные в виде древовидной структуры и является реализацией логических связей: родо-видовых отношений или отношений «целое-часть». Пример реализации иерархической модели в учебном процессе показан на рис. 7.4.

Графическим способом представления иерархической структуры является дерево.