Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 84
Текст из файла (страница 84)
Идеологифирмы 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.Имена остальных файлов таблицы назначаются автоматически — все файлыимеют одинаковые имена, совпадающие с именами таблиц, и разные расширения, указывающие на содержимое соответствующего файла. Расширенияфайлов приведены ниже в данной главе в разделе «Форматы таблиц».Поле таблицы содержит данные одного из допустимых типов, например,строкового, целочисленного или типа «дата».
При вводе значения в поле таблицы автоматически производится проверка соответствия типа значения итипа поля. В случае, когда эти типы не совпадают, а преобразование типа значения невозможно, генерируется исключение.Особенности организации таблиц зависят от конкретной СУБД, используемой для создания и ведения БД. Их следует учитывать при выборе типа(формата) таблицы, т. к. они влияют не только на организацию БД, но и напостроение приложения для работы с этой БД.
Однако, несмотря на все различия таблиц, существуют общие правила создания и ведения БД, а такжеразработки приложений, которые и будут далее рассмотрены.Основу таблицы составляет описание ее полей, каждая таблица должнаиметь хотя бы одно поле. Как отмечалось, понятие структуры таблицы является более широким и включает: описание полей, ключ, индексы, ограничения на значения полей, ограничения ссылочной целостности между таблицами, пароли.Отметим, что отдельные элементы структуры зависят от формата таблиц,например, для таблиц dBase нельзя задать ограничения ссылочной целостности (т. к.
у них нет ключей). Все элементы структуры задаются на физическомуровне (уровне таблицы) и действуют для всех программ, выполняющих операции с БД, включая средства разработки и ведения БД (например, программуDatabase Desktop). Многие из этих элементов (например, ограничения на значения полей или поля просмотра) можно также реализовать в приложениипрограммно, однако в этом случае они действуют только в пределах своего приложения.Как отмечалось, с таблицей в целом можно выполнять следующие операции: создание, изменение структуры, переименование, удаление.При создании таблицы задаются структура и имя таблицы.
При сохране-/ I. Borland С++ Builder401нии на диске создаются все необходимые файлы, относящиеся к таблице. Ихимена совпадают с именем таблицы.При изменении структуры таблицы в ней могут измениться имена и характеристики полей, состав и наименования ключа и индексов, ограничения.Однако имена таблицы и ее файлов остаются прежними.При переименовании таблица получает новое имя, в результате чего новоеимя также получают все ее файлы.
Д л я этого используются соответствующие программы (утилиты), предназначенные для работы с таблицами БД,например, Database Desktop или Data Pump. Отметим, что таблицу нельзяпереименовать, просто изменив названия всех ее файлов, например, с помощью Проводника Windows.При удалении таблицы с диска удаляются все ее файлы. В отличие от переименования удаление таблицы можно выполнить посредством любой программы (в том числе и с помощью Проводника Windows).КЛЮЧИИиндексыКак отмечалось, ключ представляет собой комбинацию полей, данные вкоторых однозначно определяют каждую запись в таблице.
Простой ключсостоит из одного поля, а составной (сложный) — из нескольких полей. Поля,по которым построен ключ, называют ключевыми. В таблице может быть определен только один ключ. Ключ также называют первичным ключом или первичным (главным)индексом.Информация о ключе может храниться в отдельном файле или совместнос данными таблицы. Например, в Б Д Paradox для этой цели используется отдельный файл (ключевой ф а й л или файл главного индекса) с расширениемрх.
В Б Д Access вся информация содержится в одном общем файле с расширением mdb. Значения ключа располагаются в определенном порядке. Д л якаждого значения ключа имеется уникальная ссылка, указывающая на расположение соответствующей записи в таблице (в главном ее файле). Поэтому при поиске записи выполняется не последовательный просмотр всей таблицы, а прямой доступ к записи на основании упорядоченных значений ключа.Ценой, которую разработчик и пользователь платят за использование такойтехнологии, является увеличение размера Б Д вследствие необходимости хранения значений ключа, например, в отдельном файле. Размер этого файла зависитне только от числа записей таблицы (что достаточно очевидно), но и от полей,составляющих ключ.
В ключевом файле, кроме ссылок на соответствующие записи таблицы, сохраняются и значения самих ключевых полей. Поэтому привхождении в состав ключа длинных строковых полей размер ключевого файламожет оказаться соизмеримым с размером файла с данными таблицы.Напомним, что удобным вариантом создания ключа будет использованиедля него поля соответствующего типа, которое автоматически обеспечиваетподдержку уникальности значений.