Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 83
Текст из файла (страница 83)
Д л яхранения таких объектов используется специальное Хранилище объектов, илиРепозиторий (Repository).Вставить в приложение новый объект можно, открыв командойF i l e \ N e w \ O t h e r ( Ф а й л \ Н о в ы й \ Д р у г о й ) окно N e w I t e m s ( Н о в ы е э л е м е н т ы )для выбора нового объекта в хранилище. Это окно можно также открыть нажатием кнопки New панели инструментов Менеджера проектов.В Хранилище находятся различные объекты, например, шаблоны приложений, форм, отчетов, а также Мастера форм. Все объекты объединены в группы, размещенные на отдельных страницах, например:• New — встроенные базовые объекты, используемые при разработке приложений;• A c t i v e X — объекты С О М и OLE, элементы ActiveX, библиотеки ActiveX,активные серверные страницы (ASP);• P r o j e c t l — формы создаваемого приложения;• F o r m s — формы;• D i a l o g s — диалоговые окна (стандартное, справочное, для ввода пароля);• P r o j e c t s — проекты одно- и многодокументного приложений;• D a t a M o d u l e s — модули данных;• Web Documents - Web-документы ( H T M L , X H T M L , W M L , XSL).Название страницы Projectl совпадает с названием создаваемого проекта,а сама страница содержит в качестве шаблонов уже созданные формы приложения (первоначально это одна форма с именем F o r m l ) .
При изменении названия проекта или формы соответственно изменяются их названия в Хран и л и щ е объектов. П р и д о б а в л е н и и к проекту новой ф о р м ы ее ш а б л о навтоматически добавляется на страницу проекта. В случае удаления из проекта ф о р м ы ее шаблон также автоматически исключается из Хранилищаобъектов.Д л я добавления нового объекта к проекту необходимо перейти на нужнуюстраницу и указать объект. При нажатии кнопки О К происходит добавлениеобъекта. Объекты можно добавлять к проекту различными способами, зависящими от выбранного переключателя в нижней части окна выбора новогообъекта./ I.
Borland С++ Builder397• Copy — в проект добавляется копия объекта из Хранилища. В проектеэтот объект можно изменять, однако все изменения являются локальными в пределах проекта и не затрагивают оригинал, находящийся в Хранилище объектов.• Inherit — от объекта из Хранилища порождается (наследуется) новыйобъект, который и добавляется к проекту. Разработчик может добавлятьк объекту новые компоненты, а также изменять свойства уже существующих элементов, не связанные с их именами. При модификации этогообъекта в проекте невозможно удалить какую-либо его составную часть(компонент) или изменить имя (свойство N a m e ) .
По умолчанию подобным образом к проекту добавляются объекты (обычно ф о р м ы ) создаваемого проекта, расположенные па странице P r o j e c t l .• Use — в проект включается непосредственно сам объект из Хранилищасо всеми своими файлами. При изменении в проекте этого объекта изменяется и объект в Хранилище, а также объекты в других проектах, которые таким же образом используют этот объект.Настройка состава объектов в Хранилища объектов при необходимости выполняется в окне O b j e c t R e p o s i t o r y , открываемом командой T o o l s \ R e p o s i t o r y .В процессе настройки в Хранилище объектов можно добавлять (кнопкаA d d P a g e ) , удалять из него (кнопка D e l e t e P a g e ) и переименовывать страницы (кнопка R e n a m e P a g e ) , а также редактировать (кнопка E d i t O b j e c t ) и удалять (кнопка D e l e t e O b j e c t ) объекты.Объекты приложения, формы, фрейма, модуля данных и модуля кода тоже можно добавить к проекту через подменю F i l e \ N e w , в котором содержатсякоманды добавления к проекту объектов A p p l i c a t i o n , CLX A p p l i c a t i o n , D a t aModule, Form, Frame и Unit.1 1 .
6 . Базы д а н н ы х и с р е д с т в а работы с н и м иДалее рассматриваются основные элементы, составляющие реляционнуюбазу данных (таблицы, ключи и индексы, связи между таблицами) и форматы таблиц, используемые в системе С + + Builder. Указываются инструментальные средства системы С + + Builder, используемые при работе с базамиданных, а также компоненты, используемые при разработке приложений длябаз данных.
Кроме того, освещаются особенности организации обработки исключений при работе с базами данных.ХарактеристикамеханизмовдоступакданнымОдно- и двухуровневые приложения С + + Builder могут осуществлять доступ к локальным и удаленным Б Д с использованием следующих механизмов:398Часть 3. Современные СУБД и их применение• BDE (Borland Database Engine — процессор баз данных фирмы Borland),предоставляющий развитый интерфейс API для взаимодействия с базами данных (представляет собой набор динамических библиотек идрайверов, предназначенных для организации доступа к БД);• A D O (ActiveX Data Objects — объекты данных ActiveX) осуществляет доступ к информации с помощью OLE DB (Object Linking andEmbedding Data Base — связывание и внедрение объектов баз данных);• dbExpress обеспечивает быстрый доступ к информации в базах данныхс помощью набора драйверов;• InterBase реализует непосредственный доступ к базам данных InterBase.Выбор варианта технологии доступа к информации в базах данных, кромепрочих соображений, определяется с учетом удобства подготовки разработанного приложения к распространению, а также дополнительного расходаресурсов памяти.
К примеру, и н с т а л л я ц и я для BDE требует примерно15 Мбайт внешней памяти на диске и настройки псевдонимов используемыхбаз данных. Вариант InterBase вряд ли можно назвать конкурентоспособным,поскольку он ориентирован строго на работу с одноименным сервером базданных.Трехуровневые приложения С++ Builder можно создавать с помощью механизма DataSnap. Используемые при создании трехуровневых (многоуровневых) п р и л о ж е н и й баз данных компоненты расположены на страницахD a t a S n a p и D a t a A c c e s s Палитры компонентов.BDE представляет собой совокупность динамических библиотек и драйверов, обеспечивающих доступ к данным.
Процессор BDE должен устанавливаться на всех компьютерах, на которых выполняются С++ Builder-приложения, осуществляющие работу с БД. Приложение через BDE передает запроск базе данных, а обратно получает требуемые данные. Механизм BDE до последней версии системы С++ Builder получил самое широкое распространение ввиду широкого спектра предоставляемых им возможностей. Идеологифирмы Borland планируют отказаться от его поддержки, заменив его механизмом dbExpress.
Мы приводим множество примеров и описание технологии применения BDE для работы с базами данных в связи с тем, что накоплено большое количество приложений с использованием этого подхода.Механизм ADO доступа к информации базы данных является стандартомфирмы Microsoft. Использование этой технологии подразумевает использование настраиваемых провайдеров данных. Технология ADO обеспечиваетуниверсальный механизм доступа из приложений к информации источников данных. Эта технология основана на стандартных интерфейсах СОМ,являющихся системным механизмом Windows. Это позволяет удобно распространять приложения баз данных без вспомогательных библиотек./ I.
Borland С++ Builder399М е х а н и з м доступа dbExpress подразумевает и с п о л ь з о в а н и е с о в о к у п ности драйверов, к о м п о н е н т о в , и н к а п с у л и р у ю щ и х с о е д и н е н и я , т р а н з а к ций, запросов, наборов д а н н ы х и и н т е р ф е й с о в . С ее п о м о щ ь ю обеспечивается у н и в е р с а л ь н ы й доступ к ф у н к ц и я м итого механизма. О б е с п е ч е н и ев з а и м о д е й с т в и я с с е р в е р а м и баз д а н н ы х по т е х н о л о г и и d b E x p r e s s основано на и с п о л ь з о в а н и и с п е ц и а л и з и р о в а н н ы х д р а й в е р о в . П о с л е д н и е д л яп о л у ч е н и я д а н н ы х п р и м е н я ю т запросы SQL.
На стороне клиента при этомнет к э ш и р о в а н и я данных, здесь п р и м е н я ю т с я т о л ь к о о д н о н а п р а в л е н н ы ек у р с о р ы и не о б е с п е ч и в а е т с я в о з м о ж н о с т ь п р я м о г о р е д а к т и р о в а н и я наборов д а н н ы х .Далее рассматривается работа с локальными Б Д с помощью механизмаBDE.
Соответствующая локальная архитектура информационной системыприведена на рис. 11.12. Работа с Б Д происходит, как правило, в однопользовательском режиме. При необходимости можно запустить на компьютере другое приложение, одновременно осуществляющее доступ к этим же данным.Д л я управления совместным доступом к БД необходимы специальные средства контроля и защиты. Эти средства могут понадобиться, например, в случае, когда приложение пытается изменить запись, которую редактирует другое приложение.
Каждая разновидность Б Д осуществляет подобный контрольсвоими способами и обычно имеет встроенные средства разграничения доступа.Рис. 11.12. Локальная архитектура с BDEД л я доступа к локальной Б Д процессор баз данных B D E использует стандартные драйверы, которые позволяют работать с ф о р м а т а м и Б Д dBase,Paradox, FoxPro, а также с текстовыми файлами.ТаблицыбазданныхНапомним, что реляционная база данных ( Б Д ) состоит из взаимосвязанных таблиц. Каждая таблица содержит информацию об объектах одного типа,а совокупность всех таблиц образует единую БД.Таблицы, образующие БД, находятся в каталоге (папке) на жестком диске.Таблицы хранятся в файлах и похожи на отдельные документы или электронные таблицы (например, табличного процессора Microsoft Excel), их мож-400Часть 3.
Современные СУБД и их применениено перемещать и копировать обычным способом, скажем, с помощью Проводника Windows. Однако в отличие от документов, таблицы БД поддерживают многопользовательский режим доступа, это означает, что их могут одновременно использовать несколько приложений.Для одной таблицы создается несколько файлов, содержащих данные, индексы, ключи и т. п. Главным из них является файл с данными, имя этого файласовпадает с именем таблицы, которое задается при ее создании.
В некоторомсмысле понятия таблицы и ее главного файла являются синонимами, привыборе таблицы выбирается именно ее главный файл: для таблицы dBase этофайл с расширением dbf, а для таблицы Paradox — файл с расширением db.Имена остальных файлов таблицы назначаются автоматически — все файлыимеют одинаковые имена, совпадающие с именами таблиц, и разные расширения, указывающие на содержимое соответствующего файла. Расширенияфайлов приведены ниже в данной главе в разделе «Форматы таблиц».Поле таблицы содержит данные одного из допустимых типов, например,строкового, целочисленного или типа «дата».