Системы управления
Оценка 4.9

Системы управления

Оценка 4.9
doc
05.05.2020
Системы управления
Л9_Системы управления базами данных.doc

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

 

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

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

В настоящее время существует несколько сотен различных СУБД, кото-рые работают на единственном персональном компьютере, мейнфрейме или в сети из многих компьютеров. Появившиеся в конце 70-х - начале 80-х годов ре-ляционные СУБД устранили недостатки предыдущих моделей и получили наи-большее распространение. В СУБД для персональных компьютеров (настоль-ных СУБД) поддерживается преимущественно реляционная модель, которую отличает простота и единообразие представления данных совокупностью взаи-мосвязанных двумерных таблиц. Реляционная модель обеспечивает возмож-ность использования в разных СУБД операций обработки данных, имеющих единую основу - алгебру отношений (реляционную алгебру) и универсальный язык структурированных запросов - SQL (Structured Query Language). Примера-ми реляционных СУБД для персональных компьютеров являются Access и FoxPro фирмы Microsoft, Paradox и Visual dBase фирмы Borland. Примерами многопользовательских СУБД могут служить Oracle, Informix, Microsoft SQL Server.

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

Реляционная база данных

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

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

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

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

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

В нормализованной реляционной базе данных связь двух таблиц характе-ризуется отношениями записей типа один-к-одному (1:1) или один-ко-многим (1:M). Отношение 1:1 предполагает, что каждой записи одной таблицы соответ-ствует одна запись в другой. Отношение 1:М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи вто-рой таблицы соответствует только одна запись в первой.

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

На рис. 1 показаны две таблицы с перечнем кафедр и списком препода-вателей, которые находятся в отношении типа 1:M и логически связаны с по-мощью общего поля Код кафедры - ключа связи. Это поле является уникаль-ным ключом в главной таблице КАФЕДРА, и не ключевым полем в подчинен-ной таблице - ПРЕПОДАВАТЕЛЬ.

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

Рис. 1. Взаимосвязанные таблицы реляционной базы данных

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

В СУБД Access реализовано средство просмотра и редактирования свя-занных записей из нескольких таблиц. При этом данные отображаются в иерар-хическом виде. При раскрытии одного уровня иерархии рядом с записью глав-ной таблицы отображаются связанные записи подчиненной. Для записи подчи-ненной таблицы также могут быть открыты связанные записи подчиненной таблицы следующего уровня и т. д. Например, для таблиц КАФЕДРА, ПРЕПОДАВАТЕЛЬ (рис. 2), связанных отношением один-ко-многим, для ка-ждой записи таблицы КАФЕДРА могут быть отображены и отредактированы связанные записи в таблице ПРЕПОДАВАТЕЛЬ.

 

Рис. 2. Отображение связанных записей таблиц

Схема данных

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

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

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

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

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

Объекты базы данных

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

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

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

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

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

Объекты Access целесообразно подразделять на две группы:

·         таблицы, запросы, схемы данных, имеющие непосредственное от-ношение к базе данных

·         формы, отчеты, страницы доступа к данным, макросы и модули, на-зываемые объектами приложения.

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

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

Таблицы (Tables)  создаются пользователем для хранения данных об од-ной сущности предметной области. Таблица состоит из полей (столбцов) и за-писей (строк). Каждое поле содержит одну характеристику сущности. В записи собраны сведения об одном экземпляре сущности.

В Access таблицы можно импортировать из баз данных dBase, FoxPro, Paradox и других приложений, из баз данных архитектуры клиент/сервер, таких как Microsoft SQL Server, или из электронных таблиц, таких как Excel и Lotus 1-2-3. Можно работать c таблицами перечисленных источников путем организа-ции связи с ними.

Запросы (Queries) служат для выборки нужных данных из одной или не-скольких связанных таблиц. Результатом выполнения запроса является таблица, в которой отображено пользовательское представление о данных и которая мо-жет быть использована наряду с другими таблицами базы при обработке дан-ных. В запросе можно указать, какие поля связанных таблиц нужно выбрать, как на их основе сформировать новые записи и выбрать нужные. Запрос может формироваться с помощью QBE-запросов (Query By Example, Запрос по образ-цу) или с помощью инструкции SQL. Запросы действия позволяют обновлять, удалять или добавлять данные в таблицы, а также создавать новые таблицы на основе уже существующих.

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

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

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

Страницы доступа к данным (Data Access Pages) - являются диалоговы-ми Web- страницами, которые поддерживают динамическую связь с базой дан-ных и позволяют просматривать, редактировать и вводить данные в базу, рабо-тая в окне браузера.

Макросы (Macro) позволяют автоматизировать некоторые действия в приложении пользователя. Макрос является программой, состоящей из после-довательности макрокоманд, которая выполняется при наступлении некоторого события в объекте приложения или его элементе управления. Создание макро-сов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении.

Модули (Modules)  содержат процедуры на языке Visual Basic for Applica-tions. Могут создаваться процедуры-подпрограммы, процедуры-функции, кото-рые разрабатываются пользователем для реализации нестандартных функций в приложении пользователя, и процедуры для обработки событий. Использование процедур позволяет создать законченное приложение, которое имеет собствен-ный графический интерфейс пользователя, позволяющий запросить выполне-ние всех функций приложения.

Средства создания объектов баз данных

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

Средства конструирования объектов

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

Мастера Access

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

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

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

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

Мастер кнопок (Command Button Wizard и Page Command Button Wizard) создает командные кнопки - элементы управления в форме и на страницах дос-тупа к данным. При создании кнопки мастер предлагает большой набор дейст-вий, которые могут быть выполнены при щелчке на кнопке. Для выбранного действия мастер строит процедуру обработки события на языке VBA. Формы с командными кнопками, связанными процедурами Visual Basic, позволяют соз-дать удобный интерфейс пользователя для управления приложением.

Мастер создания диаграмм (Chart Wizard) обеспечивает создание в формах и отчетах диаграмм, базирующихся на данных в таблицах или запросах.

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

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

Мастер анализа таблиц (Table Analyzer Wizard) позволяет выполнить нормализацию данных базы. Мастер разделяет ненормализованную таблицу с дублированными данными на две или более таблиц меньшего размера, в кото-рых данные сохраняются без повторений.

Мастера  импорта таблиц и объектов (Import Table and Object Wizard) позволяют импортировать таблитцы и объекты из внешнего файла в текущую базу, выполнив элементарные действия по выбору файла и нужных объектов. Импортировать данные можно из файла другой базы данных Access, а также из файлов Excel, Lotus, Paradox, dBase и других баз данных. Возможен импорт текстовых файлов и HTML-таблиц и списков из Internet или intranet в таблицу Microsoft Access. Также возможен импорт данных и схем, описывающих струк-туру данных, из файлов XML (Extensible Markup Language, Расширяемый язык разметки) в базу данных Access, Microsoft SQL Server.

Мастер связанных таблиц (Link Table Wizard) позволяет создавать в те-кущей базе данных таблицы, связанные с таблицами во внешних файлах. Но, в отличие от мастера  импорта, не размещает новую таблицу в файле базы дан-ных, а только устанавливает связь с источником данных этой таблицы. Эта таб-лица доступна для обработки наряду с другими таблицами базы данных. Вне-сенные в связанную таблицу изменения переносятся и сохраняются во внешнем файле и наоборот, - внесенные в файл изменения становятся доступны в свя-занной таблице. Этот мастер, как и мастер импорта, работает со многими внеш-ними источниками данных.

Мастера экспорта позволяют экспортировать объекты базы данных в другие базы данных и проекты Access, в базы данных многих других СУБД. Объекты могут быть экспортированы в текстовые файлы, различные электрон-ные таблицы, опубликованы на статических и динамических страницах Internet или intranet. Поддерживается экспорт таблиц, запросов и базовых данных форм и отчетов из базы данных Access (файлы MDB), а также таблиц, представлений, сохраненных процедур, функций и базовых данных форм и отчетов из проекта Access (файлы ADP) в XML файлы данных и схем, описывающих структуру данных. В процессе экспорта допускается также преобразование данных в дру-гой формат презентации с помощью языка XSL (Extensible Stylesheet Language). Экспорт данных и объектов базы данных в файлы XML является удобным спо-собом обмена структурированными данными в формате, подходящем для ис-пользования вInternet.

Мастер защиты (User-Level Security Wizard) позволяет определить новые параметры защиты базы данных. С помощью мастера создается новая незащи-щенная база данных, в которую копируются все объекты из исходной базы дан-ных, снимаются все права, присвоенные членам группы пользователей, а затем он организует защиту базы данных. После завершения работы мастера админи-стратор может присвоить новые права доступа пользователям и группам.

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

Мастер преобразования в формат SQL Server (Upsizing Wizard) разде-ляет базу данных Access (MDB) на базу данных Microsoft SQL Server и клиент-ское приложение - проект Access (ADP). Мастер преобразования значительно упрощает переход к новой для пользователя технологии. Таблицы и запросы преобразуются в объекты базы данных SQL Server, а другие объекты переме-щаются в файл проекта Access. Преобразование осуществляется с учетом тре-бований новой среды, при сохранении основных свойств объектов. Так, типы данных полей таблиц преобразуются в адекватные для данного приложения ти-пы данных, запросы на выборку преобразуются в представления, запросы дей-ствия в - сохраненные процедуры.

Мастер создания баз данных на Microsoft SQL Server (Microsoft SQL Server Database Wizard) позволяет при создании нового проекта Microsoft Access подключиться.к SQL-серверу и создать там новую базу данных.

Служебная программа (Database Utilities) Преобразовать базу данных (Convert Database) позволяет конвертировать базу данных из предыдущих вер-сий в текущую (к текущей версии базы данных Access - To Current Access Data-base Version). Кроме того, можно конвертировать базу данных из текущей вер-сии в предыдущую (к предыдущей версии базы данных Access - To Prior Access Database Version).

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

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

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

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

Средства программирования

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

Одним из средств программирования в Access является язык макроко-манд. Cоздаваемые на этом языке программы, называемые макросами, позво-ляют легко связывать отдельные действия, реализуемые с помощью форм, за-просов, отчетов. Макросы управляются событиями, которые вызываются дей-ствиями пользователя при диалоговой работе с данными через формы (напри-мер, нажатие кнопки, изменение данного в поле) или системными событиями.

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

Наряду с языком макрокоманд Access включает развитую интегрирован-ную среду объектно-ориентированного программирования Visual Basic for Applications (VBA) 6.3, позволяющую реализовать любые программные реше-ния. Программы на VBA реализуются процедурами, которые объединяются в объектах, называемых модулями. Язык VBA является производным от само-стоятельной системы программирования Visual Basic, которая входит в состав Visual Studio, и имеет с ним много общего.

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

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

При разработке программы VBA в Access используется модель объектов Access и модели объектов доступа к данным DAO (Data Access Object - объекты доступа к данным) и ADO (ActiveX Data Object - объекты данных ActiveX).

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

К объектам моделей непосредственного доступа к данным относятся таб-лицы, запросы, связи, индексы.

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

Метод DAO поддерживает интерфейс доступа к данным, взаимодейст-вующий с ядром базы данных Microsoft Jet и ODBC-совместимыми источника-ми данных для подключения, загрузки, обработки и обновления данных. Ядро Jet является компонентом Access, выполняющим загрузку и сохранение данных в базах данных пользователей и в системных базах данных.  Jet может рассмат-риваться как диспетчер данных, на основе которого строятся СУБД, такие как Microsoft Access.

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

ADO является моделью данных, используемой при разработке кли-ент/серверных и  Web приложений.

Проекты и страницы доступа к данным, создаваемые в Access 2000 и 2002, используются только с  ADO. В отличие от DAO, предназначенных для использования только с Jet, QLE DB, обеспечивая универсальный доступ к дан-ным, делает ADO независимым от источника данных.

Модель ADO (переход к которой начался в 1999 году) не просто замени-тель DAO, это набор новых средств соединения с базой данных. При  разработ-ке Web приложения с использованием средств программирования переход к ADO просто необходим. DAO не используется в HTML-совместимых языках программирования, таких как VBScript или JavaScript. DAO используется толь-ко в приложениях Internet, созданных в Visual Basic 6.0, а также классах Web.

Среда VBA объединяет разнообразные наглядные графические инстру-менты: редактор VBA, окно разрабатываемого проекта, окно свойств объектов проекта, окно просмотра объектов, отладчик и др. Все инструменты унифици-рованы и являются общими для всех приложений Microsoft Office, Visual Basic, а также продуктов ряда других фирм. Такая практически единая для различных приложений Office среда позволяет совместно использовать их объекты.

Многопользовательская база данных

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

Под одноранговой понимается сеть, каждый компьютер которой может предоставлять остальным подключенным к сети компьютерам доступ ко всем или некоторым своим папкам, т. е. являться сервером и рабочей станцией одно-временно. Одноранговая сеть может управляться встроенной сетевой операци-онной системой Windows 9x или Windows NT/2000/XP.

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

Работа локальной сети с файловым сервером обеспечивается рядом сете-вых операционных систем. Наиболее популярными являются Microsoft Windows NT/2000/XP и NetWare Novell. Windows NT/2000/XP имеют версию Windows NT/2000/XP Server, предназначеную для управления файловым и дру-гими серверами сети, и версию Windows NT/2000/XP Workstation или Professional, которая устанавливается на рабочей станции и под управлением которой могут выполняться различные приложения, в том числе и Access.

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

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

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

При преобразовании базы данных в реплицированную Access присваива-ет ей статус основной реплики и создает одну новую реплику.

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

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

Поддержка технологий корпоративных сетей

Корпоративные сети (intranet) являются сетями уровня предприятия, ба-зирующимися на клиент/серверных и Internet-технологиях. Эти сети могут под-ключаться или не подключаться к сети Internet (рис. 3). Intranet позволяет по-лучить доступ к информации всего предприятия со своего рабочего места, не заботясь о совместимости аппаратных и программных платформ, используя обычную программу просмотра - браузер Internet Explorer.

 

 

Рис. 3. Корпоративная сеть с SQL- и Web-сервером.

В Access клиент/серверные технологии представлены средствами, кото-рые позволяют создавать клиентские приложения для работы с базами данных SQL Server.

Разнообразные простые и удобные средства создания страниц доступа к данным (Web-страниц), связанных с базой данных, позволяют организовать ра-боту пользователей с базой данных с помощью браузера из любой точки сети. Для просмотра и обновления данных в базах Access и SQL Server, пользователю достаточно открыть форму или отчет в виде страницы доступа к данным,.

Благодаря поддержке Access языка XML разработчики получили возмож-ность использовать в своих решениях XML-данные. Новые средства публика-ции позволяют экспортировать как данные, так и элементы форматирования для отображения в Web-пространстве, используя стандартные Internet-языки XML  и XSL.

Работа Access с базой данных SQL Server

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

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

Широко известны серверы баз данных - SQL Server фирмы Microsoft, Oracle Server фирмы Oracle и Netware SQL фирмы Novell. SQL-серверы баз данных являются самым мощным приложением для сетевой обработки данных.

Подключение из Microsoft Access к серверам баз данных SQL может быть осуществлено с помощью драйверов ODBC. ODBC поддерживает стандартный протокол для серверов баз данных SQL. Каждому серверу баз данных соответ-ствует свой драйвер ODBC. В комплект поставки MS Access включен драйвер ODBC для MS SQL Server и Oracle SQL Server.

Использование унифицированного языка запросов SQL позволяет рабо-тать с одной и той же базой данных сервера разным пользователям из различ-ных приложений. Данные из базы могут получать Access, Excel, FoxPro и мно-гие другие приложения, использующие протокол ODBC, посылая запросы на языке SQL серверу баз данных.

Приложение Access взаимодействует с данными, расположенными на сервере, несколькими способами. Можно посылать на сервер запрос на языке SQL-сервера, чтобы получать необходимые данные в виде виртуальной табли-цы (таблицы запроса) и далее использовать эту таблицу в качестве источника данных в форме или отчете. Возможна передача на сервер обновленных дан-ных, а также создание или изменение таблицы в базе данных сервера. В локаль-ной базе данных могут быть созданы связанные таблицы, отображающие дан-ные из таблиц SQL-сервера. Эти таблицы обрабатываться в приложении наряду с локальными таблицами базы.

В Access реализована возможность создания приложения-проекта, в кото-ром хранятся только объекты, составляющие приложение пользователя, а база данных, с которой работает приложение, размещается на SQL-сервере. Причем в проекте-приложении обеспечивается работа с объектами базы данных (табли-цами, представлениями, сохраняемыми процедурами, схемами данных) в диа-логовом режиме через интерфейс, аналогичный интерфейсу SQL-сервера. Про-ект Access, являющийся клиентом SQL-сервера, подключается к базам данных Microsoft SQL Server с помощью интерфейсов OLE DB. С помощью интерфейса OLE DB из проекта Access обеспечивается доступ не только к базам данных SQL Server, но и к базам данных Access, файлам электронной почты и источни-кам данных многих других типов.

В Access 2002 включена локальная версия SQL Server - Microsoft SQL Server 2000 Desktop Engine (MSDE), которая позволяет создать проект, предна-значенный для работы с базой данных SQL Server, работая на локальном (не подключенном к сети) компьютере. При этом нет необходимости приобретать лицензию и устанавливать сетевой вариант сервера баз данных. Работа MSDE основывается на том же ядре базы данных, что и SQL Server. Созданное с ис-пользованием MSDE приложение будет полностью пригодно для работы с ба-зой данных на большом сетевом SQL-сервере. После завершения разработки, переместив базу с локального компьютера на сервер и модифицировав инфор-мацию о соединении, проект можно подключить к удаленному SQL-серверу.

Использование локального варианта SQL-сервера позволяет изучить ра-боту с их базами данных при наличии лишь одного компьютера.

Internet-технологии

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

Access предлагает простые интерактивные средства разработки Web-страниц, связанных с базами данных Jet или SQL Server. При этом приложение баз данных становится доступным всем пользователям предприятия в браузере, и это упрощает совместное использование корпоративной информации в среде настольных систем.

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

Страницы Access, также как формы и отчеты, обеспечивают взаимодейст-вие пользователя с данными, и позволяют делать это в intranet- и Internet-сетях. Фактически они выступают в роли форм и отчетов Access для Internet. По своим функциям страницы доступа к данным очень похожи на классические формы и отчеты, однако они специально предназначены для просмотра, редактирования и составления отчетов по данным в рамках Internet Explorer.

Сохранение страниц не в файле базы данных, а в отдельных HTML-файлах позволяет легко размещать их на Web-серверах.

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

Передача информации между различными программами через Internet всегда была трудной задачей из-за различий в форматах и структурах данных разных разработчиков программного обеспечения. Стандартный язык описания и передачи данных в Internet XML (Extensible Markup Language) решает эту за-дачу. Язык HTML, хорошо подходящий для отображения текста и изображений в браузерах, ограничен в своих возможностях определения данных и структуры данных. HTML описывает внешний вид Web-страницы, тогда как XML опреде-ляет данные и описывает их структурирование. Язык XML определяет формат обмена данными между разными компьютерами и приложениями, позволяя разделить процессы определения и презентации данных. В результате, с помо-щью различных файлов презентации, данные XML могут быть представлены по-разному.

Microsoft Access обеспечивает средства импорта и экспорта данных XML, а также преобразования данных из/в используемыt файлами XML форматы.

Язык XML широко используется для создания презентаций, размещаемых в Web. Для публикации данных в формате XML достаточно экспортировать таблицу, отчет или запрос и связать с ним файл XSL для представления данных

Анализ данных

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

 

 

Рис. 4. Сводная таблица анализа загрузки преподавателей и групп сту-дентов по всем или некоторым предметам по различным видам занятий

Для получения различных итогов по исходным данным достаточно в соз-данном макете сводной таблицы выбирать значения в поле строк Группа сту-дентов, поле столбцов Название предмета и полях страницы (фильтра) ФИО преподавателя и Вид занятия.

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

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

 

Рис. 5. Сводная диаграмма анализа загрузки преподавателей и групп студентов по всем или некоторым предметам по различным видам занятий

В режимах сводной таблицы и сводной диаграммы могут быть открыты таблицы, запросы, представления, формы; возможен вывод сводной таблицы и сводной диаграммы в качестве страниц доступа к данным, которые может про-смотреть любой пользователь, на компьютере которого установлен Microsoft Internet Explorer 5 или более поздней версии.

Сводная таблица являются способом представления интерактивной ана-литической обработки данных - OLAP (OnLine Analytic Processing), созданных с помощью Microsoft OLAP Service для SQL Server.

Интеграция и использование внешних данных

Access поддерживает технологию OLE, обеспечивающую возможность интеграции данных различных приложений в составном документе. С помощью OLE пользователь может внедрять объекты другого приложения в базу данных или устанавливать с ними связи. Активизация внедренного объекта открывает программу, которая его создала, и пользователь может изменить объект. При установлении связи с объектом он по-прежнему сохраняется в файле другого приложения, а не в базе данных. За счет этого он может обновляться независи-мо, а в базе данных всегда будет представлена последняя версия объекта. Надо иметь в виду, что при изменении местоположения файла связь с ним должна обновляться пользователем.

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

Access может использовать данные различных внешних источников. Внешними источниками данных могут служить таблицы других баз данных Access, dBASE, Paradox, Oracle и Microsoft SQL Server, электронные таблицы Microsoft Excel, Lotus 1-2-3, таблицы и списки HTML и XML, находящиеся на сервере в локальной, корпоративной или Internet-сети, данные из других при-ложений, таких как Microsoft Exchange.

Для взаимодействия с внешними источниками данных используется спе-циальное программное обеспечение - интерфейсы. Широко используемыми ин-терфейсами являются ODBC, который используется прежде всего для доступа к базам данных, и OLE DB, разработанный как средство универсального доступа к данным по сети и через Internet. OLE DB позволяет подсоединяться к источ-никам данных многих типов, в том числе реляционным источникам данных, почтовым файлам, неформатированным текстовым файлам и электронным таб-лицам.

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

При работе с Microsoft SQL Server в Access можно разработать проект, полностью ориентированный на работу с данными, размещенными в базе дан-ных сервера. При этом подключение к базе данных сервера осуществляется че-рез интерфейс OLE DB.

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

 


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

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

Содержание таблицы заключено в ее строках (записях) однотипных по структуре

Содержание таблицы заключено в ее строках (записях) однотипных по структуре

Рис. 1. Взаимосвязанные таблицы реляционной базы данных

Рис. 1. Взаимосвязанные таблицы реляционной базы данных

Схема данных В СУБД Access процесс создания реляционной базы данных включает создание схемы данных

Схема данных В СУБД Access процесс создания реляционной базы данных включает создание схемы данных

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

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

Отчеты (Reports) предназначены для формирования выходных докумен-тов любых форматов, содержащих результаты решения задач пользователя, и вывода их на печать

Отчеты (Reports) предназначены для формирования выходных докумен-тов любых форматов, содержащих результаты решения задач пользователя, и вывода их на печать

Практически для любых работ имеется

Практически для любых работ имеется

Microsoft Access. Также возможен импорт данных и схем, описывающих струк-туру данных, из файлов

Microsoft Access. Также возможен импорт данных и схем, описывающих струк-туру данных, из файлов

Мастер создания баз данных на

Мастер создания баз данных на

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

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

Метод DAO поддерживает интерфейс доступа к данным, взаимодейст-вующий с ядром базы данных

Метод DAO поддерживает интерфейс доступа к данным, взаимодейст-вующий с ядром базы данных

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

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

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

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

Работа Access с базой данных SQL

Работа Access с базой данных SQL

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

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

Передача информации между различными программами через

Передача информации между различными программами через

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

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

Access расширяется традиционное понятие данных, хранимых в базе и представляющих информационные объекты

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