Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4966
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

9. Дополнительные вопросы применения баз данных

2 73

Компоненты

ADO.NET

Компоненты ADO.NET существуют в пяти главных пространст вах имен в библиотеке классов .NET. Укажем назначение этих пространств имен.

S y s t e m . D a t a - содержит фундаментальные классы с базовой функциональностью A D O . N E T . В их число входят классы D a t a S e t и DataRelation, которые позволяют манипулировать структурированными реляционными данными.

S y s t e m . D a t a . C o m m o n - эти классы применяются другими классами в пространствах имен System.Data.SqlClient и System.Data.OleDb, которые являются их наследниками и предоставляют конкретные версии, настроенные для поставщиков SQL Server и OLE DB.

S y s t e m . D a t a . O l e D b - содержат классы, которые используются для соединения с поставщиком O L E D В, включая O l e D b C o m m a n d n O l e D b C o n n e c t i o n .

System.Data.SqlClient - содержит классы, которые используются для соединения с базой данных Microsoft SQL Server. Эти классы предоставляют такие же свойства и методы аналогично классам из System.Data.OleDb. Отличие состоит в том, что они оптимизированы для SQL Server.

S y s t e m . D a t a . S q l T y p e s - содержит структуры для специфических типов данных SQL Server, например, S q I M o n e y и S q I D a t e T i m e . Эти типы не являются обязательными и используются для работы с типами данных SQL Server без необходимости конвертировать их в стандартные эквиваленты .NET. Использование таких структур позволяет увеличить производительность обмена данными за счет устранения автоматического преобразования данных.

Объекты ADO.NET

Базовые объекты ADO.NET можно разбить на две группы: первая используется для хранения и управлениями данными (классы DataSet, DataTable, D a t a R o w и D a t a R e l a t i o n ) , вторая группа - для обеспечения соединения с источниками данных (классы C o n n e c t i o n s , C o m m a n d s и D a t a R e a d e r ) . Объекты ADO.NET второй группы существуют в двух видах: для связи с поставщиками OLE DB и для взаимодействия с SQL Server.

Объекты данных позволяют хранить локальные данные, не имеющие связи с источником. Кроме того, они не хранят соединение с источником данных и, следовательно, их можно создавать самостоятельно, не используя базу данных. Объект D a t a S e t не имеет непосредственного соединения с источником данных и его можно создавать без обращения к базе данных.

Схема доступа к данным

Одна из схем доступа к данным с помощью A D O . N E T представлена на рис. 9.4. Необходимая пользователю информация находится в базе данных. Обрабатываемые данные размещаются в объекте DataSet, не имеющем соединения с источником данных. Тем самым достигается возможность работы с данными в течение длительного промежутка времени. На рис. 9.4 се-

274

Часть 2. Проектирование и использование БД

Рис. 9.4. Схема доступа к данным с помощью ADO.NET

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

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

Контрольные вопросы и задания

1.Охарактеризуйте подход к выбору СУБД.

2.Назовите основные показатели пригодности программных продуктов.

3.Перечислите показатели пригодности СУБД.

4.Приведите примеры основных технических характеристик СУБД.

5.Назовите основные виды тестов, используемых для оценки производительности.

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

7.Укажите факторы, которые нужно учитывать при выборе сервера информационной системы.

8.Как определяется размер основной памяти компьютера для серверной части информационной системы?

9. Дополнительные вопросы применения баз данных

275

9. Укажите эмпирические правила для определения размера кэша.

10.Что учитывают при подборе дисковой системы ввода/вывода?

11.Укажите разновидности сильносвязанных вычислительных систем.

12.Охарактеризуйте слабосвязанные вычислительные системы.

13.Назовите методы распараллеливания обработки данных.

14.Перечислите возможные направления развития СУБД .

15.Дайте общую характеристику процесса стандартизации.

16.Перечислите стандарты языка SQL и дайте краткую их характеристику.

17.Каково назначение стандарта ODMG - 93?

18.Охарактеризуйте технологию CORBA.

19.Назовите стандарты, используемые в продуктах фирм IBM, Microsoft и Borland.

20.Укажите основные компоненты Microsoft .NET.

21.В чем заключаются достоинства ADO.NET?

22.Охарактеризуйте схему доступа к данным с помощью ADO.NET.

Литература

1. Волков А. А. Тесты ТРС / / Системы Управления Базами Данных, № 2, 1995.

С.70-78.

2.Базы данных: достижения и перспективы на пороге 21 -го столетия / Под ред. Ави Зильбершатца, Майкла Стоунбрейкера и Джеффа Ульмана / / Системы Управления Базами Данных, № 3, 1996. С. 103-117.

3.Дейт К. Дж. Введение в системы баз данных / Пер. с англ. — 6-е изд. К.: Диалектика, 1998.

4. Дэвитт Т., Грей Д. Параллельные системы баз данных: будущее высокоэффективных систем баз данных / / Системы Управления Базами Данных, № 2,1995.

С. 8-31.

5.Калиниченко Б. О. Асинхронное тиражирование данных в гетерогенных сре-

дах / / Системы Управления Базами Данных, № 3, 1996. С. 118-124.

6.Кузнецов СД. Три манифеста баз данных: ретроспектива и перспективы. Институт системного программирования РАН - Информационно-аналитические материалы Центра Информационных Технологий. - http:\\www.citforum.ru.

7.Меллинг В. П. Корпоративные информационные архитектуры: и все-таки они

меняются / / Системы Управления Базами Данных, № 2, 1995. С. 45-59.

8. Михайлов М. СУБД нового поколения / / КомпьютерПресс, № 11, 1990.

С. 25-30, 79.

9.Орфали Р., Харки Д., Эдварде Д. Основы CORBA / Пер. с англ. М.: МАЛИП, Горячая линия - Телеком, 1999.

10.ПросизД. Программирование для Microsoft .NET /Пер. с англ. - М.: Издатель-

ско-торговый дом «Русская редакция», 2003. - 704 с.

»

11. Сигнор Роберт, Стегман Михаэль О. Использование ODBC для доступа к ба-

 

зам данных / Пер. с англ. М.: БИНОМ; НАУЧНАЯ КНИГА.

 

276

Часть 2. Проектирование и использование БД

12.Системы управления базами данных и знаний: Справ, изд. / Наумов А. П., Вендров А. М., Иванов В. К. и др.; Под ред. А. Н. Наумова. М.: Финансы и статистика, 1991.

13.Хомоненко А. Д., Гофман В. Э. Работа с. базами данных в Delphi. — 3-е изд. —

СПб.: БХВ-Петербург, 2005.

14. Шнитман В. 3., Кузнецов С. Д. Серверы корпоративных баз данных. Информа- ционно-аналитические материалы Центра Информационных Технологий. http:\\www.citforum.ru.

СОВРЕМЕННЫЕ СУБД

ИИХ ПРИМЕНЕНИЕ

10.СУБД Access 2002

10.1. Общая характеристика

Программа Microsoft Access 2002 является реляционной СУБД, которая может функционировать под управлением операционных систем Windows 95/98, Windows NT 3.51 и выше, а также более новых версий Windows (в том числе Windows 2000 и Windows ХР). Она является дальнейшим развитием предыдущей версии Microsoft Access 2000.

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

Кнопка

 

Строка

Панель

 

системного

Строка

Кнопки управления

меню

заголовка

меню

инструментов

окном Access

Ы Microsoft Access

 

 

ИГ-IK

File gdit

yjew Insert

lools' aflndow

Help

ур? a qi.i«vhori for iiolp

 

 

 

. щ

.да ш

 

 

 

• Ф New File

 

 

 

O p e n a

file

 

 

 

dbl.mdb

 

 

 

Northwind-2002.mde

 

 

 

Northwind-2002.mdb

 

MUM

Кнопка

Область задач

Сохранить

 

Рис. 10.1. Окно Microsoft Access

278

Часть 3. Современные СУБД и их применение

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

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

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

За кнопками обычно закрепляют вызов функций. Функции обработки информации во время работы с базой данных задаются с помощью макросов или программ на Visual Basic for Application (VBA) — VBA-программ. Обычно в приложениях для работы с БД предусматривают автоматическое открытие главной кнопочной формы при открытии базы данных. В последующем работа пользователя происходит с помощью главной формы и при необходимости с помощью других форм и окон. Базу данных, имеющую интерфейс с пользователем, можно считать приложением, поскольку все описания базы данных (в том числе программные коды) интерпретируются системой Access при работе пользователя.

Текущая открытая БД может взаимодействовать с внешними БД, которые используются как источник таблиц при импорте или присоединении, а также как получатель при экспорте данных из текущей базы данных. С помощью запросов во внешней БД можно создавать таблицы. В качестве внешней БД может выступать любая база данных, поддерживающая протокол ODBC, папример, база данных SQL Server, расположенная на удаленном сервере, или одна из баз данных систем Paradox, dBASE, или Access.

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

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

10. СУБД Access 2002

279

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

ииспользовать его как источник данных для формы или отчета.

ВAccess можно создавать и выполнять следующие основные типы запро-

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

Описание запроса можно выполнить с помощью бланка QBE или инструкции языка SQL.

Макрос представляет последовательность макрокоманд встроенного языка Access, задающих автоматическое выполнение некоторых операций, например: «ОткрытьТаблицу» (OpenTable), «Закрыть» (Close), «НайтиЗапись» (FindRecord) и «Печать» (PrintOut). В последующих версиях системы макросы используются для обеспечения совместимости с предыдущими версиями, и рекомендуется для процедур автоматизации использовать программный код VBA.

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

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

Access поддерживает традиционные для офисных приложений механизмы связывания и встраивания объектов OLE (Object Linking and Embedding) и динамического обмена данными DDE (Dynamic Data Exchange). При этом по протоколу OLE система Access позволяет работать с любыми объектами из библиотеки типов другого приложения, а также предоставляет свои объекты для других приложений.

Аналогично системой Access поддерживается протокол динамического обмена данными в роли приложения, принимающего данные (клиента), и источника данных (сервера). Например, база данных Access может быть сервером для приложения Microsoft Word, выступающего в роли клиента и принимающего данные по каналу связи.

Основные взаимосвязи объектов в БД Access схематично представлены на рис. 10.2 (взаимодействия объектов показаны сплошными линиями, потоки данных — штриховыми).

280

Часть 3. Современные СУБД и их применение

В таблицах хранятся данные, которые можно использовать в запросах, формах и отчетах. Формы и отчеты используют данные из таблиц или через запросы (путем выборки). Операции вычисления или форматирования данных при выполнении запросов могут производиться с помощью встроенных функций или пользовательских VBA-программ. Макросы и VBA-програм- мы могут вызываться при возникновении следующих событий в БД: открытие формы, ввод записи в таблицу, нажатие кнопки в окне формы и т. д. С помощью макросов можно, к примеру, открыть форму или отчет, выполнить запрос и прочее. VBA-программы могут работать с объектами Access и вызывать процедуры из DLL-библиотек Windows.

10. СУБД Access 2002

281

При полной установке Access версии 2002 требуется 16 Мб оперативной памяти и около 65 Мбайтов свободного пространства на жестком диске.

Основной учебной базой данных является БД «Борей» (доступна при по-

мощи команды П р и м е р ы б а з д а н н ы х в меню С п р а в к а )

Она содержит данные

о продажах вымышленной компании, занимающейся

импортом/экспортом

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

В Microsoft Access 2002 имеется также учебный проект Access Northwind (NorthwindCS.adp), для которого базу данных можно создать при первом открытии проекта (команда П р и м е р ы б а з д а н н ы х в меню С п р а в к а ) вручную либо автоматически с помощью Access.

Кроме того, в Microsoft Access включены три учебных приложения («Адресная книга», «Управление контактами» и «Личное имущество») с соответствующими базами данных, которые можно использовать для изучения продукта и личных нужд.

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

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

Некоторые ограничения СУБД Access 2002:

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

число объектов в базе данных — 32768;

• количество одновременно работающих пользователей — 255;

максимальный размер таблицы — 2 Гбайт;

максимальное количество полей в таблице — 255;

максимальное количество индексов в таблице — 32;

максимальное число символов в записи (не считая поля Memo и поля

объектов OLE) - 2000;

• максимальное число символов в поле Memo — 65 535 при вводе данных через интерфейс пользователя и 1 Гбайт при программном вводе данных;

• максимальный размер объекта OLE — 1 Гбайт;

• максимальное количество таблиц в запросе — 32.

282 Часть 3. Современные СУБД и их применение

Для Microsoft Access 2002 имеются дополнительные средства разработки и обслуживания, которые входят в состав пакета Microsoft Office ХР для разработчиков. К пакету прилагается соответствующая документация — «Руководство разработчика Microsoft Office ХР».

В число основных средств, имеющих непосредственное отношение к Access 2002, входят:

•средства, позволяющие распространять копии исполняемого приложения Microsoft Access всем пользователям, даже если на их компьютерах не установлен Microsoft Access;

• менеджер репликации (Replication Manager), позволяющий планировать обновления реплик, определять объекты, реплицированные в базе данных, и одновременно управлять несколькими наборами реплик;

• мастер Packaging Wizard, позволяющий распространять приложения баз данных и программируемые приложения Microsoft Office в сети или на компьютеры, где выполняется Visual Basic для приложений 6.0.

10.2. Новые возможности Microsoft Access 2002

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

Сводные таблицы и сводные

диаграммы

В Microsoft Access 2002 появилась возможность открывать таблицы, запросы, представления, хранимые процедуры (в справочной системе русифицированного варианта Access называемые сохраненными процедурами), функции и формы в режимах сводной таблицы и сводной диаграммы. Это более удобно для анализа данных и создания сложных сводных таблиц и диаграмм. Существует возможность сохранять представления в режимах сводной таблицы и сводной диаграммы в качестве страниц доступа к данным, которые затем можно просмотреть с помощью броузера Microsoft Internet Explorer 5 или более поздней версии. Кроме того, подчиненные формы в режимах сводной таблицы и сводной диаграммы можно использовать точно так же, как они использовались ранее в режиме таблицы.

Поддержка языка XML

Язык XML (Extensible Markup Language) является в настоящее время не только стандартной технологией передачи данных в Интернете, но и предпочтительной технологией обмена данными между приложениями. Поэтому Microsoft Access 2002 предоставляет мощные, интуитивные способы совмес-