Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

1. Каждая таблица состоит из однотипных строк и имеет уникальное имя.

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

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

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

5. Полное информационное содержание базы данных представляется в виде явных значений данных и такой метод представления является единственным. В частности, не существует каких-либо специальных "связей" или указателей, соединяющих одну таблицу с другой. Так, связи между строкой с БЛ = 2 таблицы "Блюда" на рис. 3.2 и строкой с ПР = 7 таблицы продукты (для приготовления Харчо нужен Рис), представляется не с помощью указателей, а благодаря существованию в таблице "Состав" строки, в которой номер блюда равен 2, а номер продукта – 7.

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

Microsoft Office Access или просто Microsoft Access — реляционная СУБД[1] корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Состав программного продуктаОсновные компоненты MS Access:

· построитель таблиц;

· построитель экранных форм;

· построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

· построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

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

Существенно расширяет возможности MS Access по написанию приложений механизм связи с различными внешними СУБД: "связанные таблицы" (связь с таблицей СУБД) и "запросы к серверу" (запрос на диалекте SQL, который "понимает" СУБД). Также MS Access позволяет строить полноценные клиент-серверные приложения на СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.

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

В Access база данных обозначает файл, содержащий набор информации. База данных в Access 2007 может содержать следующие типы объектов (см. рис. 1): таблица, запрос, форма, отчёт, страница, макрос, модуль [11].

Рисунок 1. Окно объектов базы данных

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

Таблица – это объект, соответствующий понятию «таблица» в теории реляционных баз данных. Для каждой таблицы в Access можно определить первичный ключ и один или несколько индексов с целью увеличения скорости доступа к данным [12].

Access позволяет создавать структуру таблицы в трех режимах – в режиме конструктора, с помощью мастера и путем ввода данных. Разница предполагает использование этих средств пользователями с разным уровнем подготовки, разными целями и перспективами использования данных. Естественно имеется возможность просматривать, редактировать, удалять и добавлять записи, осуществлять поиск, замену, сортировку данных, изменять вид таблицы. Связи между таблицами определяются специальным средством, которое называется «Схема данных».

Рисунок 2. Схема данных

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

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

Рисунок 3. Конструктор запроса

Есть еще один способ создания запроса, который встроен в конструктор, – это написание запроса вручную на языке SQL. Однако текстовый редактор, предназначенный для этого имеет явно скудные возможности в плане удобства и наглядности оформления кода. Видимо этот способ не позиционировался разработчиками как основной[9].

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

Отчёт – объект, предназначенный для создания документа, который впоследствии может быть распечатан либо включён в документ другого приложения. Этот документ содержит результаты выборки из базы данных в виде структурированной информации (например в виде таблицы или списка). MS Access обладает богатыми возможностями по оформлению и форматированию отчетов. Те же два режима создания есть и у отчета. В режиме мастера у пользователя имеется возможность задать множество параметров, практически полностью определяющих желаемый внешний вид отчета. Для создания нестандартных отчетов лучше пользоваться конструктором.

Страницы – средство публикации данных в локальной сети или Internet. Создаваемая страница проектируется подобно форме (с некоторыми отличиями в используемых компонентах), при работе с ней можно не только просматривать, но и изменять данные в базе. После сохранения страницы как объекта в БД ее можно экспортировать в виде файла в формате HTML и использовать для доступа к данным через интернет-браузер.

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

Модуль – контейнер программного кода на VBA. Для их редактирования и просмотра используется оболочка Редактора Visual Basic. Весь программный код приложения содержится в наборе модулей. Здесь он имеет то же смысловое значение, как и в любом языке программирования[3].

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

Какие возможности предоставляет Access в функциональном плане.

Ввод данных. Ввод данных может осуществляться следующими способами: вручную прямо в таблицу (сюда же относится вставка содержимого буфера обмена); вручную в поля формы; прямой импорт данных из других источников (базы Access, текстовые файлы, формат DBF, электронные таблицы, источники данных ODBC); программным методом, который может сочетать в себе любые средства, которые возможно реализовать на VBA.

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

2. Изменение данных. Редактирование возможно следующими способами: вручную прямо в таблице; в полях форм; в окне браузера, в котором загружена web-страница из БД; программным методом.

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

4. Взаимодействие с другими источниками и потребителями информации. В этом плане Access может выступать как сервер или клиент автоматизации. Особенно прозрачно настраиваются связи с другими продуктами пакета Microsoft Office. Например вы можете иметь документ Microsoft Word, в котором будут присутствовать поля из БД Access, изменение данных в базе автоматически отображается в документе. Это позволяет создавать гибкие решения, интегрирующие данные в офисных средствах. 5. Использование базы данных MS Access другими приложениями. Такой вариант использует файл MDB как хранилище данных. Программа, которая обращается к данным, может быть написана на любом языке высокого уровня. В данном случае используются таблицы и запросы. О поддержании ссылочной целостности и актуальности данных следит ядро БД. Взаимодействие происходит через ODBC-драйвер Microsoft Jet Engine.

6. Средства создания приложений. Создание приложений на Access во многом подобно всем остальным средствам автоматизации Microsoft Office. Здесь используется интерпретируемый язык Visual Basic for Applications, что приводит, как и при использовании любого интерпретируемого языка, к определенному увеличению затрат процессорного времени и уменьшению скорости работы программ и обработки данных. Для успешной разработки необходимо знать объектную модель самого Access и особенности ее использования.

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

Ядро БД Access обеспечивает три уровня блокировок:

Блокировка базы данных. На этом уровне блокировки к БД может обращаться только один пользователь. Такой уровень блокировки применяется для глобального изменения или обновления данных или при техническом обслуживании Базы Данных – сжатии.

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

Блокировка страницы. На этом уровне к заблокированной странице может обращаться только один пользователь. Это самый нижний уровень блокировки. Процессор Microsoft Jet автоматически устанавливает блокировку страницы и не может контролироваться вашей программой. Страница данных может содержать несколько записей, размер его равен 26 кб. Блокировка страницы означает блокировку всех записей, находящейся на этой странице. Если длина записи – 512 байтов, то будет заблокированной 4 записи, а если 50 байтов то 40 записей. Точное число записей нельзя заранее ни определить, ни задать, т.к. таблица может содержать удаленные записи (которые удаляются только во время уплотнения).

Блокировка на уровне таблицы имеет два режима – пессимистический и оптимистический. По умолчанию устанавливается пессимистическая блокировка.

8. Администрирование. Преимущество монопольного режима работы фактически привело к вырождению функций администрирования БД и в связи с этим – к отсутствию инструментальных средств администрирования в обычном понимании этого слова в MS Access. Имеющиеся же средства позволяют сделать следующее: имеется возможность разделения базы данных Microsoft Access на два файла, в одном из которых содержатся таблицы, а в другом запросы, формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Это позволяет пользователям иметь доступ к общему источнику данных и при этом создавать свои собственные формы, отчеты и другие объекты, а также сократить сетевой трафик; существует возможность связывания таблиц из других баз данных Microsoft Access или иных источников. Например, может потребоваться использование таблицы из другой базы данных Microsoft Access, открытой для совместной работы по сети. Это особенно полезно при необходимости хранить все таблицы в одной базе данных на сетевом сервере, сохраняя формы, отчеты и другие объекты в отдельной базе данных, копии которой имеются у всех пользователей общей базы данных; средства репликации Microsoft Access, доступные в базе данных (.mdb) и в проекте (.adp), позволяют создавать реплики и синхронизировать их по требованию при работе в Microsoft Access; средства защиты и разграничения доступа. Простейшим способом защиты является установка пароля для открытия базы данных. База данных может быть зашифрована. При шифровании базы данных ее файл сжимается и становится недоступным для чтения с помощью служебных программ или текстовых редакторов. Дешифрование базы данных отменяет результаты операции шифрования. Наиболее гибкий и распространенный способ защиты базы данных называется защитой на уровне пользователей. Этот способ защиты подобен способам, используемым в большинстве сетевых систем. Однако как уже отмечалось, подбор пароля администратора не представляет сложности для специалиста по взлому; имеется возможность преобразования БД в формат более ранней версии MS Access для обеспечения совместимости в некоторых случаях; и наконец, средство для сжатия базы данных, которое стирает информацию об удаленных строках и уменьшает размер файла MDB на диске. Это приводит к большей производительности и в некоторых случаях может восстановить базу данных (например, после неожиданного отключения питания).

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

Рисунок 4. Шаблоны баз данных


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

Многозначные поля для сложных данных

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

В Office Access 2007 самая сложная часть работы делается автоматически, когда выбирается поле для ввода нескольких значений. Многозначные поля особенно удобны при использовании Office Access 2007 для работы со списком SharePoint, который содержит один из типов многозначных полей, используемых в компоненте «Windows SharePoint Services». Приложение Office Access 2007 совместимо с этими типами данных [12].

Новый тип данных «Вложение» позволяет хранить все типы документов и двоичные файлы в базе данных, при этом не происходит ненужного увеличения размера базы данных. Office Access 2007 автоматически выполняет сжатие вложений, когда это возможно, чтобы оставить как можно больше свободного пространства. Нужно вложить документ Microsoft Office Word 2007 в запись или сохранить в базе данных несколько цифровых фотографий. Использование вложений значительно облегчает выполнение таких задач. Можно даже добавлять несколько вложений к одной записи.

Поля МЕМО теперь хранят форматированный текст и поддерживают журнал исправлений.

Теперь в Office Access 2007 поддерживается форматированный текст, который можно использовать в записях наряду с обычным текстом. Текст можно форматировать с помощью различных параметров (таких как полужирное и курсивное начертание, а также применять различные шрифты, цвета и другие обычные параметры форматирования) и хранить в базе данных. Форматированный текст хранится в поле МЕМО в формате на основе HTML, который совместим с типом данных «Форматированный текст» в компоненте «Windows SharePoint Services». Задайте для свойства TextFormat значение либо RichText, либо PlainText, и данные в текстовых полях и в режиме таблицы будут отформатированы должным образом.

Поля МЕМО удобно использовать для хранения больших объемов данных. С помощью Office Access 2007 можно задать свойство Только добавление, чтобы сохранить в поле МЕМО записи обо всех изменениях. Затем можно просмотреть журнал этих изменений. Эта функция также поддерживает функцию отслеживания в компоненте «Windows SharePoint Services». Таким образом, можно также использовать Access для просмотра журнала содержимого списка SharePoint.

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

Технология разработки запроса по образцу в MS Access:

• Запуск программы MS Access (Пуск—>Программы—>MS Access).

• В окне MS Access включите переключатель открыть базу данных, выберете раннее созданную базу Сувенирная продукция и щёлкните на кнопку ОК.

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

• Добавьте в созданный запрос таблицу Поставщики.

• В строке Условие отбора поле Наименование введите: Ручка.

• Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса выдавались данные о ручках стоимостью до пяти рублей. Для этого необходимо в строке Условие отбора для поля Цена оптовая написать: <=5

Рисунок 10

• Закройте запрос. При закрытии сохраните его под именем Отбор ручек стоимостью до пяти рублей.

• В окне Сувенирная продукция: База данных откройте панель Запросы и запустите запрос Отбор ручек стоимостью до пяти рублей. На экране появится результирующая таблица, которая содержит информацию о ручках стоимостью до пяти рублей.

• Закройте все объекты базы данных. Закройте программу MS Access.

Запрос с параметрами

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

Пример:

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

Технология разработки запроса с параметрами MS Access;

• Запуск программы MS Access (Пуск->Программы->М5 Access).

• В окне MS Access включите переключатель открыть базу данных, выберете раннее созданную базу печатная техника и щёлкните на кнопку ОК.

• В окне Печатная техника: База данных откройте панель Запросы. Дважды щёлкните на значке Создание запроса в режиме Конструктора - откроется бланк запроса по образцу.

• Добавте таблицу Поставщики, из которой выберите поля: Компонент, Модель, Цена оптовая, Поставщик, Телефон.

• В строке Условие отбора поля Компонент введите: Принтер.

• Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложении ввести нужное значение. Текст, обращенный к пользователю, должен быть заключён в квадратные скобки. Если бы хотели отобрать принтеры, цена которых более 200 у.е., мы бы написали: >200. если бы нам нужны были принтеры дешевле 200 у.е., мы бы написали: <200. но если мы хотим дать пользователю возможность выбора, мы должны написать «Введите цену».

Рисунок 11

• Закройте запрос. При закрытии сохраните его под именем Отбор принтера.

• В окне Печатная техника: База данных откройте панель Запросы и запустите запрос Отбор принтера - на экране появится диалоговое окно Введите значение параметра.

• Введите какое-либо число и щёлкните по кнопке ОК. В зависимости оттого, что реально содержится в таблице Поставщики, по результатам запросам будит, сформирована результирующая таблица.

Рисунок 12

• Закройте все объекты базы данных. Закройте программу MS Access.

Итоговый запрос

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





Дата публикования: 2015-01-26; Прочитано: 2125 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.015 с)...