- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
11.6. Базы данных и средства работы с ними
Далее рассматривают ся основные элементы, составляющие реляционную базу данных (таблицы, ключи и индексы, связи между таблицами) и форматы таблиц, используемые в системе С++ Builder. Указываются инструментальные средства системы С++ Builder, используемые при работе с базами данных, а также компоненты, используемые при разработке приложений для баз данных. Кроме того, освещаются особенности организации обработки исключений при работе с базами данных.
Характеристика механизмов доступа к данным
Одно- и двухуровневые приложения С++ Bi Jder могут осуществлять доступ к локальным и удаленным БД с использованием следующих меганиз- мов:
BDE (Borland Database Engine — процессор баз данных фирмы Borland), предоставляющий развитый интерфейс API для взаимодействия с базами данных (представляет собой набор динамических библиотек и драйверов, предназначенных для организации доступа к БД);
ADO (ActiveX Data Objects — объекты данных ActiveX) осуществляет доступ к информации с помощью OLE DB (Object Linking and Embedding Data Base — связывание и внедрение объектов баз данных);
dbExpress обеспечивает быстрый доступ к информации в базах данных с помощью набора драйверов;
InterBase pea лизует непосредственный доступ i базам данных InterBase.
Выбор варианта технологии доступа к информации в базах данных, кроме прочих соображений, определяется с учетом удобства подготовки разработанного приложения к распространению, а также дополнительного расхода ресурсов памяти. К примеру, инсталляция для BDE требует примерно 15 Мбайт внешней памяти на диске и настройки псевдонимов используемых баз данных. Вариант InterBase вряд ли можно назвать конкурентоспособным, поскольку он ориентирован строго на работу с одноименным сервером баз данных.
Трехуровневые приложения С++ Builder можно создавать с помощью механизма DataSnap. Используемые при создании трехуровневых (многоуровневых) приложений баз данных компоненты расположены на страницах DataSnap и Data Access Палитры компонентов.
BDE преде гавляет < обой совокупность динамических библиотек и драй веров, обеспечивающих доступ к данншм. Процессор BDE должен устанавливаться на всех компьютерах, на которых выполняются С++ Builder-приложения, осущест вляющие работу с БД. Приложение через BDE передает запрос к базе данных, а обратно п< шучает требуемые данные. Механизм BDE до последней версии системы С++ Builder ,ю 1учил самое широкое распространение ввиду широкого спектра предоставляемых им возможностей. Идеологи фирмы Borland планируют отказаться от его поддержки, заменив гго механизмом dbExpress. Мы приводим множество примеров и описание технологии применения BDE для работы с базами данных в связи с тем, чти накоплено большое количество приложений с использованием этого подхода.
Механизм ADO доступа к информации базы данных является стандартом фирмы Microsoft. Использование этой технологии подразумевает использо вание настраиваемых провайдеров данных. Технология ADO обеспечивает универсальный механизм доступа из приложений к информации источников данных. Эта технология основана на стандартных интерфейсах СОМ, являющихся системным механизмом Windows. Это позволяе т удобно распро- с граня ть приложения баз данных без вспомогательных библиотек.
Механизм доступа dbExprcss подразумевает использование совокупности драйверов, компонентов, инкапсулирующих соединения, транзакций, запросов, наборов данных и интерфейсов. С ее помощью обеспечивается универсальный доступ к функциям этого механизма. Обеспечение взаимодействия с серверами баз данных по технологии dbExpress основано на использовании специализированных драйверов. Последние для получения данных применяют запросы SQL. На стороне клиента при этом нет кэширования данных, здесь применяются только однонаправленные курсоры и не обеспечивается возможность прямого редактирования наборов данных.
Далее рассматривается работа с локальными БД с помощью механизма BDE. Соответствующая локальная архитектура информационной системы приведена на рис. 11.12. Работа с БД происходит, как правило, в однополъзо ватпельском режиме. При необходимости можно запустить на компьютере другое приложение, одновременно осуществляющее доступ к этим же данным. Для управ дения совместным доступом к БД необходимы специальные средства контроля и защиты. Эти средства могут понадобиться, например, в случае, когда приложение пытается изменить запись, которую редактирует другое приложение. Каждая разновидность БД осуществляет подобный контроль своими способами и обычно имеет встроенные средства разграничения дос тупа.
Рис.
11.12. Локальная архитектура с BDE
Для доступа к локальной БД процессор баз данных BDE использует стан даргные драйверы, которые позволяют работать с форматами БД dBase. Paradox, FoxPro, а также с текстовыми файлами.
Таблицы баз данных
Напомним, что реляционная база данных (БД) состоит из взаимосвязанных таблиц. Каждая таблица содержи г информацию об объектах одного тина, а совокупность всех таблиц образует единую БД.
Таблицы, обра дующие БД, находятся в каталоге (папке) на жестком диске. Таб типы хранятся в файлах и похожи на отдельные документы или электронные таблицы (например, табличного процессора Microsoft Excel), их можно перемещать и копировать обычным способом, скажем, с помощью Проводника Windows. Однако в отличие от документов, таблицы БД поддерживают многопользовательский режим доступа, это означает, что их могут одновременно использовать несколько приложений.
Для одной таблицы создается несколько файтов, содержащих данные, ин дексы, ключи и т. п. Главным из них является файл с данными, имя этого фай па совпадает с именем таблицы, которое задается пои ее создании. В некотором смысле понятия таблицы и ее главного фай та являются синонимами, при выооре таблицы ьыбирается именно ее главный файл: для таблицы dBase это файл с расширением dbf, а для таблицы Paradox — файл с расширением db. Имена остальных файлов таблицы назначаются авт оматически — все файлы имеют одинаковые имена, совпадающие с именами таблиц, и разные расширения, указывающие на содержимое соответс гвующего файла. Расширения файлов приведены ниже в данной главе в разделе «Форматы таблиц».
Поле таблицы содержит данные одного из допустимых типов, например, строкового, целочисленного или типа «дата». При вводе значения в поле таблицы автоматически производится проверка соответствия типа значения и типа поля. В случае, когда эти типы не совпадают, а преобразование типа значения невозможно, генерируется исключение.
Особе нности организации таблиц зависят от конкретной СУБД, используемой для создания и ведения БД. Их следует учитывать при выборе типа (формата) таблицы, т. к. они влияют не только на организацию БД, но и на построение приложения для работ ы с этой БД. Однако, несмотря на все различия таблиц, существуют общие правила создания и ведения БД, а также разработки приложений, которые и будут далее рассмотрены.
Основ)' таблицы составляет описание ее полей, каждая таблица должна иметь хот я бы одно поле. Как отмечалось, понятие структуры таблицы является более широким и вк тючает: огисание полей, ключ, индексы, ограничения назначения полей, ограничения ссылочной целостности между таблицами, пароли.
Отмет им. ч то отдельные элементы стр) ктуры зависят от формата таблиц, например, для таблиц dBase нельзя задать ограничения ссылочной целостности (т. к. у них нет ключей). Все элементы структуры задаются на физическом уровне (уровне таблицы) и действуют для всех npoi рамм, выполняющих операции с БД, включая средства разработки и ведения БД (например, программу Database Desktop). Многие из этих элементов (например, ограничения на значения нолей или поля просмотра) можно также реализовать в приложении npoi раммно, однако в этом случае они действуют только в пределах своего приложения.
Как отмечалось, с таблицей в целом можно выполнять следующие операции: создание, изменение структуры, переименование, удаление.
При созбании таблицы задаюте я структура и имя таблицы При сохраме - нии на диске создаются все необходимые файлы, относящиеся к таблице. Их имена совпадают с именем таблицы.
При изменении структуры таблицы в ней могут изменит ься имена и характеристики по чей, состав и наименования ключа и индексов, ограничения. Однако имена таблицы и ее файлов остаются прежними.
При переименовании таблица получает новое имя, в результате чего новое имя также получают все ее файлы. Для этого используются соответствующие программы (утилиты), предназначенные для работы с таблицами БД, например, Database Desktop или Data Pump. Отметим, что таблицу нельзя переименовать, просто изменив названия всех ее файлов, например, с помощью Проводника Windows.
При удалении т аблицы с диска удаляются все ее файлы. В от л ичие от переименования удаление таблицы можно выполнить посредством любой программы (в том числе и с помощью Проводника Windows).
Ключи и индексы
Как отмечалось, ключ представляет собой комбинацию полей, данные в которых однозначно определяют каждую запись в таблице. Простой ключ состоит из одного поля, а составной (сложный) — из нескольких полей. Поля, по которым построен ключ, называют ключевыми. В таблице может быть определен то лько один кл юч. Ключ также называя п первичным н чючом или первичны ч (главны i) индексом.
Информация о ключе может храниться в отдельном файле или совместно с данными таблицы. Например, в БД Paiadox для этой цели используется отдельный файл (ключевой файл или файл главного индекса) с расширением рх. В БД Access вся информация содержится в одном общем файле с расширением mdb. Значения ключа располагаются в определенном порядке. Для каждого значения ключа имеется уникальная ссылка, указывающая на расположение соответствующей записи в таблице (в главном ее файле). Поэтому при поиске записи выполняется не последовательный просмотр всей таб лицы, а прямой дост уп к записи на основании упорядоченных значений ключа.
Ценой, которую разработчик и по льзователь платят за использование такой технологии, является увеличение размера БД вследствие необходимости хранения значений ключа, например, в отдельном файле. Размер этого файла зависит не только от числа записей таблицы (что достаточно очевидно), но и от полей, составляющих ключ. В ключевом файле, кроме ссылок на соответствующие записи таблицы, сохраняются и значения самих ключевых полей. Поэтому при вхождении в состав ключа длинных < троковых полей размер ключевого файла может оказаться соизмеримым с размером файла с данными таблицы
Напомним, что удобным вариантом создания ключа будет использование для него поля соответствующего типа, которое автоматически обеспечивает поддержку уника льности значений. Для таблиц Paradox таким является поле автоинкрементного типа, еще одним достоинством которого является небольшой размер (4 байта). В то же время в таблицах dBase и InterBase поле подобного типа отсутствует, и программист должен обеспечивать уникальность значений ключа самостоятельно, например, используя специальные генераторы.
Отметим, что при создании и видении БД правильным подходом считает ся задание в каждой таблице ключа даже в случае, если на первый взгляд он не нужен.
Индекс, как и ключ, строится по полям таблицы, однако он может допускать повторение значений сос гавляющих его по лей — в этом и состоит его основное отличие от ключа. Поля, ио которым построен индекс, называют индексными. Простой индекс состоит из одного поля а составной (сложный) — из нескольких по лей.
Индексы при их создании именуются. Как и в случае с ключом, в зависимости от СУБД индексы могут храниться в отдельных Файлах или совместно с данными. Создание индекса называют индексированием таблицы.
Сортировка представляет собой упорядочивание записей по полю или группе полей в порядке возрастания или убывания их значений. Можно сказать, что индекс служит для сортировки таблиц по индексным полям. В частности, в С++ Bv i der записи набора Table можно сортировать только по индексным полям. Набор данш ix Query позволяет выполнить средствами SOL сортировку по любым полям, однако и в этом случае для индексированных полей упорядочивание записей выполняется быстрее.
Для одной таблицы можно создать несколько индексов. В каждый момент времени один из них можно сделать текущим, т. е. ак гивным. Даже при существовании нескольких индексов таблица может не иметь текущего индекса (текущий индекс важен, например, при выполнении поиска и сортировки записей набора данных Table).
Ключевые поля обычно автоматически индексируются. В таблицах Paradox ключ также является главным (первичным) индексом, который не именуется. Для таблиц dBase ключ не создается, и его роль выполняет один из индексов. Создание ключа мижет привести к побочным эффектам. Так, если в таблице Paradox определить ключ, то записи автоматически упорядочиваются по его значениям, что в ряде случаев является нежелательным.
Одной из основных задач БД являе гея обеспечение быстрого доступа к данным (поиска данных). Время доступа к данным в значительной степени зависит от используемых для поиска данных методов и способов.
11 Borland C+-. Builder 403
Способы доступа к данным
При выполнении операций с таблицами bD + Builder используется один из следующих способов доступа к даннпш:
навигационный;
ре. [яционный.
Навигационный способ доступа заключается в обработке каждой отдельной записи таблицы. Этот способ обычно используется в локальных БД или в удаленных БД небольни iro размера. Если необходимо обрабо гать несколько записей, го все они обрабатываются поочередно.
Реляционный способ доступа основан на обработка сразу группы записей, при этом если необходимо обработать одну запись, то обрабатывается группа, состоящая из одной записи. Так как реляционный способ доступа основывается на SQL-запросах, его также называют SQL-ориснтированньш. Это г способ доступа ориентирован на выполнение операций с удаленными БД и являттся предпочтительным при работе с ними, хотя его можно использовать и для локальных БД.
Способ доступа к данным выбирается программистом и зависит от средств доступа к БД, используемых при ра фаботке приложения. Например, в приложениях, создаваемых в С++ Builder, реализацию навигационного способа доступа можно осуществить посредством компонентов Table или Query а ре ляционного — с помощью компонента Query.
Таким образом, методы доступа к данным определяются структурой БД, а способы доступа — приложением.
Связь между таблицами
Связи между таблицами можно устанав шват ь как при создании БД, так и при выполнении приложения, используя средства, предоставляемые СУБД. Связывать можно две или несколько таблиц. В реляционной БД, помимо связанных таб лиц, могут быть и отдельные таблицы, не соединенные ни с одной другой таблицей.
Для связывания таблиц используются пиля сиязи. Они обяза гельно должны быть индексированными. В подчиненной таблице для связи с главной таблицей задаетси индекс, который также называется внешним ключоч. Состав полей этого индекса должен полностью или частично совпадать с составом полей индекса главной таблицы.
()собенности использования индексов зависят от формата t вязываемых таблиц. Так, для таблиц dBase индексы строятся по одному нолю и нет деления на ключ (главный или первичный индекс) и индексы.
Для организации связи в главной и подчиненной таблицах выбираются индексы, состав ленные по полям совпадающего типа, например, целочисленного.
Для таблиц Paradox в качестве полей связи главной таблицы должны использоваться пиля ключа, а для подчиненной таблицы — поля индекса. Кроме того, в подчиненной таблице ооязат ельно должен быть определен ключ. На рис. 11-13 показана схема связи между таблицами БД Paradox.
Главная
таблица Под чиненная таблица
Ключ
Инд°кг
(внешнмй
ключ)
M_Code
• »
»
D_Num
D_Code
• ♦ •
Ключрвор
поле
♦ ♦ «
Ключрвор
пплр
Индркснор
поле
t
ф
•
Рис
11.13. Схема связи между таблицами базы
данных Paradox
В главной таблице определен ключ, построенный по нолю М С< >de автоинкрементного типа. В подчиненной таблице определен ключ по полю D Num также автоинкрементного тина и индекс, noci роенный по полю DCode целочисленного типа. Связь между таблицами уст анавливается по полям D_Code и М Code. Инде кс по полю D Code является внешним ключом. В названия полей включены префиксы, указывающие на принадлеж ность подя соответствующей таблице. Так, названия полей главной таблицы начинаются с буквы М (Master), а названия полей подчиненной таблицы начинакш я с буквы D (Detail). Подобное именование полей облегчает ори- ен гацию в их названиях, особенно при большом количестве таблиц.
Как отмечалось, ло.ля связи должны быть индексированными, хотя, строго говоря, это требование не всегда является обязате льным. При доступе к нанным средствами языка SQL можно сьязать (соединить) между собой таблицы и но неиндексированным полям. Однако в этом случае скорость выполнения one par и й будет низкой.
Связь между таблицами определяет отношение подчиненности, при котором одна таблица является главной (родительской, или мастером — Master), а чторая — поочиненной (дочерней, или детальной — Detail). Саму связь (отношение) называют связь «главный подчиненный», «родительский-дочер- ний» или «мастер-детальный».
После установления связи между таблицами при перемещении на какую- либо запись в главной таблице в подчиненной таблице автоматически становятся доступными записи, у которых значение поля срязи равно значению поля связи текущей записи главной таблицы. Такой отбор записей подчиненной таблицы является своего рода фильтрацией.
Ограниче ния по установке, изменению полей связи и каскадному удалению записей могут быть наложены на таблицы при их создании. Эти ограничения, наря ду с другими элементам!, например описаниями полей и индексов, входят в структуру таблицы и действуют для всех приложений, которые выполняют операции с БД. Указанные ограничения можно задать при создании или реструктуризации таблицы, например, в среде программы Database Desktop, которая позволяет устанавливать связи между таблицами при их создании.
Ограничения. < вязанные с ус тановкой, изменением значений полей связи и каскадным удалением записей, могут и не входить в структуру Таблицы (таблиц), а реализоьываться программным способом. Л этом случае программист должен обеспечить.
организацию связи между таблицами;
установку значения поля связи подчиненной таблицы (это может также выполняться автоматически);
кон гроль (запрет) редак гирования полей связи;
организацию (запрет) кас кадного удаления записей.
Например, в случае удаления записи из главной таблицы программист должен проверить наличие соо гветп вующих записей в подчиненной таблице. Если такие записи есть, то необходимо удалить и их или, наоборот, запретить удаление записей из обеих таблиц. И в том, и в другом случае пользователю до лжно быть выдано предупреждение.
Форматы таблиц
С++ Builder не имеет своего формата табтиц, но поддерживает как <об- ственные два гипа локальных таблиц — dBase и Paradox. Каждая из этих таблиц имеет свои особенности.
Таблицы dBase являются одним из первых появившихся форматов таблиц для персональных компьютеров и поддерживаются многими системами, которые связаны с разработкой и обслуживанием приложений, работающих с БД. Основные достоинства таблиц dBase: простота испо. п>зования и совместимость с большим числом приложений.
Таблицы dBase являются достаточно прос гыми и используют для ''Boei о хранения на дисках о гносительно мало физических файлов. По расширению файлов можно определить, какие данные они содержат.
dbf — таблица с данными.
dbt — данные больших двоичных объектов, или ВЮВ-данные (Binary Large OBject). К ним относятся двоичные, Memo- и OLE-поля. Мепто- полс также называют нолем комментариев.
mdx - поддерживаемые индексы.
ndx — индексы, непо< редственно не поддерживаемые форматом a Base. При использовании таких индексов npoi раммист должен обрабатывать их самостоя гельно.
Имя ноля в таблице dBase должно состоять из букв и цифр и начинаться с буквы. Максимальная длина имени составляет 10 символов. В имена нельзя включать специальные символы и пробел.
\
К недостаткам таблиц dBase относится то, что они не поддерживают автоматическое использование парольной защиты и контроль целостности связей, поэтому программист должен кодировать эти действия самостоятельно.
Таблицы Paradox являются достаточно развитыми и удобными дтя создания БД. Можно отметить следующие их достоинства: бо шшое количестве типов полей для пред< тавления данных различных типов; поддержка целостности данных; организация проверки вводимых данных; поддержка парольной защит ы таблиц.
Большой набор типов полей позволяет гибко выбирать тип для точного предстгвления д иных, хоанимых в базе. Например, для предстгвления числовой информации можно использовать один из пяти числовых типов.
Бла] одаря своим достоинствам таблицы Paradox используются чаще. В табл. 11.1 содержится список типов полей для таблиц Pai adox 7. Для каждого типа приводятся символ, используемый для обозначения этого тина в иро- I рамме Database Desktop, и опи< ание значений, которые может содержать поле рассматриваемого типа.
Таблица 11.1.
Типы полей таблиц в Paradox 7
Тип |
Обозначение |
Описание значения |
Alpha |
A |
Строка символов. Длина не более 255 символов |
Number |
N |
Число с плавающей точкой Диапазон -10307... 10308. Точность 15 цифр мантиссы |
Money |
$ |
Денежная сумма. Отличается от типа Number тем, что в значении отсюражается денежный знак. Обозначение денежного знака зависит от установокWindows |
Short |
S |
Целое число. Диапазон -32 768... 32 767 |
Longlntager |
1 |
Целое число Диапазон -2 147 483 648... 2 147 483 647 |
BCD |
# |
Число в двоично-десятичном формате |
Date |
D |
Дата. Диапазон 01.01.9999 до н. э.... 31.12.9999 |
Time |
T |
Время |
Timestamp |
@ |
Д-гга и время |
Memo |
M |
Строка символов. Длина не ограничена Первые 240 символов хранятся в файле таблицы, остальные в файле с расширением mb |
Formatted |
F M*jmo |
Строка символов. Отличается от типа Memo тем, что строка может содержать форматированный текст |
Graphic |
G |
Графическое изображение. Форматы BMP, PCX. TIFF, GIF иErS. При загрузке в поле изображение преобразуется к форматуBMP. Для хранения изображения используется файл с расширениемmb |
Тип |
Обозначение |
Описание значении |
OLE |
О |
Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле и расширениемmb |
Logical |
L |
Логическое значение. Допустимы значения true (истина) иfalse (ложь). Разрешается использование прописных букв |
Autoincremenl |
+ |
Автоинкрементное поле. При добавлении к таблице новой записи в поле автоматически злноси >ся значение, на единицу большее, чем в последней дибаслен- ной записи. При удалении записи значение ее автоинкрементного поля больше не будет использовано. Значение автоинкремен гного поля доступно для чтения и обычно используется в качестве ключевого поля |
Binary |
В |
Последовательность Сайтов Длина не ограничена Байты содержат произвольное двоичное значение Первые 240 байтов хранятся в файле таблицы, остальные в файле с расширением mb |
Bytes |
Y |
Последовательность байтов Длина не более 255 байтор |
Замечание.
При работе с таблицей в среде программы Database Desktop значения полей типа Graphic, Binary, Memo и OLE не отображакж я.
Имя пиля в т аблице Paradox должно состоять из букв (допускается кирил лица) и цифр и начинаться с буквы. Максимальная длина имени составляет 25 символов. В имени можно использовать такие символы, как пробел, #, $ и некоторые другие. Не рекомендуется использовать символы ., ! и |, т. к. они згрезерьированы в С++ Builder для других целей.
При зздании ключевых полей очи должны быть первыми в структуре таблицы.
Если требуется обеспечить перенос или совместимость данных из таблиц Paradox с таблицами других форматов, желательно выбирать имя поля длиной не более 10 символов и составлять его из латинских букв и цифр.
Определенным недостатком таблиц Paradox является наличие относительно большого количества типов файлов, требуемых для хранения содержащихся в таблице данных. При копировании или перемещении какой-либо таблицы из одного каталога в другой необходимо обеспечить копирование или переме щение всех файлов, относящихся к этой таблице. Файлы таблиц Paradox имеют следующие расширения:
db - таблица с данными;
mb — BLOB-данные;
рх — главный индекс (ключ);
xg* и yg* — вторичные индексы;
val — параметры для проверки данных и целостности ссылок;
tv и fam — форматы вывода таолицы в npoi рамме Database Desktop.
Указанные файлы создаются по мере необходимости; конкретная таблица
может не иметь всех приведенных файлов.
Инструменты
Хотя система С++ Builder не имеет своего формата таблиц БД, тем не менее, она обеспечивает развитую поддержку большого количества раз. [ичных СУБД — как лока льных (например, dBase или Paradox), так и промышленных (например, Sybase или InterBase). Средства С++ Builder, предназначенные для работы с БД, можно разделить на два вида:
инструменты;
компоненты.
К инструментам относятся специальные программы и пакеты, обеспечивающие обслуживание БД вне разрабатываемых приложений.
Кимпиненты предназначены для создания приложений, осуществляющих операции с БД. Кроме компонентов, С+ + Bi lilder предоставляет разработчику специальные объекты, например, объекты типа Held (залают поля таблицы).
Напомним, что в С++ Builder имеется окно Обозревателя дерева объектов (Object TreeView), которое отображает иерархическую структуру объектов текущей формы. При разработю: приложений баз данных его удобно использовать для просмотра структуры базы данны t и изменения связей между ком поненгами. Кроме того, в окне Редактора кода имеется вкладка Diagram, служащая для отображения и настройки взаимосвязей между элементами баз данных.
Кроме процессора баз данных BDE, для операций с БД система С++ Builder предлагает следующий набор инструментов.
BDE Administrator — утилита для настройки различных параметров BDE, настройки драйверов баз данных, создания и удаления драйверов ODBC, создания и обслуживания псевдонимов.
Database Desktop - программа создания и редактирования таблиц, SQL- запросов и запросов QBE.
SQL Explorer — Проводник БД, позволяющий просматривать и редактировать БД и словари данных
SQL Builder — программа визуального констручроьания SQL-3anpoi ов.
SQL Monitor — программа отслеживания порядка выполнения SQL-зап- росов к удаленным БД.
Data Pump — программа для переноса данных (схемы базы данных и содержимого) между БД.
IBConsole — программа для управ, тения удаленными БД.
InterBase Server Manager — программа для запуска сервера InterBase.
SQL Links — драйверы для доступа приложений (с использованием BDE) к удаленным промышленным СУБД, таким как Microsoft SOL Server или Oracle.
dbExpress — набор драйверов для доступа к базам данных SOL (InterBase, DB2, Oracle, MSSQL, MySQL)
InterBase Server — клиентская и серверная части сервера InterBase.
Одни инструм< нты, например. BDE Adminisl rator и SQI. Explorer, можно
использован ь для работы с локальными и удаленными БД, другие, например, IBConsole, — для работы с удаленными БД.