Базы данных предосавляют архитектуру и рабочее окружение для связывания, организации и работы с таблицами и представлениями. Вы можете использовать базы данных независимо или включить их в проект приложения. Когда вы создаете базу данных, Visual FoxPro создает и открывает файл базы данных (.dbc) для монопольного использования (exclusively). Файл базы данных, который представляет собой таблицу, хранит всю информацию о базе данных, включая имена файлов и предметов, ассоциированных с ней. Файл базы данных не содержит физически предметы высшего уровня, такие, как таблицы или поля. Вместо этого, файл базы данных хранит пути к файлах, указывающие на таблицы, ассоциированные с базой данных.

Базы данные предоставляют дополнительные преимущества, которые выражаются в следующем:

Для просмотра структуры образцовой базы данных, откройте файл NorthWind.dbc, расположенный в каталоге Visual FoxPro ...\Samples\Northwind. Для получения более подрбной информации смотрите Как: открывать базы данных.

Expand image Возможности словаря данных базы данных

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

  • Первичные ключи и ключи-кандидаты.

  • Постоянные отношения между таблицами базы данных.

  • Длинные имена для таблиц и полей.

  • Заголовки полей, которые отображаются в окнах browse и в колонках grid в качестве заголовков.

  • Значения по умолчанию для полей.

  • Класс элемента управления, используемых по умолчанию в формах.

  • Маски ввода и форматирование отображения для полей.

  • Правила проверки на уровне поля и на уровне записи.

  • Триггеры.

  • Хранимые процедуры.

  • Соеденения к удаленным источникам данных.

  • Локальные и удаленные представления.

  • Комментарии для каждого поля, таблицы и базы данных.

Некоторые возможности словаря данных, такие, как длинные имена полей, первичные ключи и ключи-кандидаты, значения по умолчанию для полей, правила проверки для полей и записей и триггеры хранятся в файле базы данных (.dbc), но, кроме того, могут быть созданы при создании таблицы или представления. Для получения более подрбной информации смотрите Работа с таблицами и Как: создавать представления.

Expand image Таблицы в базах данных

Вы можете связывать таблицы с базой данных путем их создания или путем их ввода в базу данных. Таблицы в Visual FoxPro могут существовать как в виде свободных таблиц, так и в виде таблиц базы данных. Свобоная таблица представляет собой файд (.dbf), который не связан ни с одной базой данных. Таблица базы данных представляет собой табличный файд, который связан с базой данных. Таблицы базы данных могут иметь свойства, которые недоступны для свободных таблиц, такие как правила проверки на уровне поля и записи, триггеры и постоянные отношения. Для получения более подрбной информации смотрите Работа с таблицами и Как: связать таблицы с базой данных.

Expand image Связи между таблицами и базой данных

Введение таблицы в базу данных создает связи между файлом таблицы и базой данных. Информация об этих связях хранится и в файле базы данных (.dbc), и в файле таблицы (.dbf). Информация связи, хранящаяся в файле базы данных, о таблице, которую она содержит называется форвардной связью (forward link). Инфорамция форвардной связи состоит из относительного пути и имени файла для каждого связанного табличного файла и хранится в файле базы данных.

Информация связи, хранящаяся в файле таблице, о базе данных, в которой она содержится называется обратной связью (back link). Информация обратной связи содержит относительный путь и имя файла базы данных, связанной с таблицей и хранится в табличной файле. Для получения более подрбной информации смотрите Как: переписать связи между таблицей и базой данных.

Expand image Постоянные отношения между таблицами базы данных

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

Индексы предоставляют основу для постоянных отношений

FoxPro Database Designer Testdata

В отличие от временных отношений, создаваемых командой SET RELATION, вы освобождаетесь от необходимости пересоздавать постоянные отношения каждый раз, когда вы используете таблицы. Однако, постоянные отношения не управляют связями между указателями записей в таблицах, так что вам необходимо создавать временные отношения с помощью команды SET RELATION наряду с постоянными отношениями, когда вы разрабатываете приложения Visual FoxPro. Для получения более подрбной информации смотрите описание команды SET RELATION.

Постоянные отношения хранятся в файле базы данных (.dbc). К постоянным отношениям, созданным в базе данных применяется нижеприведенное:

  • Они автоматически используются как условия объединения по умолчанию в дизайнераз запросов и представлений. Для получения более подрбной информации смотрите описание Дизайнеры запросов и представлений.

  • Они появляются в дизайнере баз данных в виде линий, объединяющих табличные индексы. Для получения более подрбной информации смотрите описание Дизайнер баз данных.

  • Они используются для зранения информации о ссылочной целостности.

  • Они используюьтся как отношения по умолчанию для форм и отчетов в окружении данных и появляются в дизайнере Data Environment. Для получения более подрбной информации смотрите описание Дизайнер Data Environment.

Для получения более подрбной информации смотрите описание задачи Как: создавать постоянные отношения между таблицами.

Expand image Ссылочная целостность между таблицами базами данных

Вы можете создать набор правил для сохранения определений отношений между таблицами базы данных при добавлении, обновлении или удалении записей. Процесс создания этих правил носит название "построение ссылочной целостности". Когда вы создаете правила для осуществления ссылочной целостности, Visual FoxPro предовращает приведенные ниже действия:

  • Введение записей в связанную таблицу, когда не существуюь связанные записи в первичной таблице.

  • Изменение значений в первичной таблице, в результате которой появляются "сиротские" записи в связанной таблице.

  • Удаление записей из первичной таблицы, когда имеют записи в связанной таблице отвечающие отношениям.

Вы можете написать триггеры и код хранимых процедур для обеспечения ссылочной целостности. Триггер представляет собой выражение, которое привязано к таблице и вызывается когда любая запись таблица изменяется с помощью одной из указанных команд, изменяющих данные. Однако, вы можете использовать построитель ссылочной целостности Visual FoxPro - Referential Integrity (RI) Builder - для построения правил ссылочной целостности.

RI Builder облегчает ваши задачи по определению типов правил, которых вы желаете обеспечить таблицы и системные события, которые заставляют Visual FoxPro проверять правила ссылочной целостности. RI Builder, кроме того, может обрабатывать множественные уровни каскадных удаление и обновлений. Когда вы используете RI Builder, Visual FoxPro генерирует код для осуществления правил обеспечения ссылочной и сохраняет его в качестве триггеров, которые находятся в хранимых процедурах. Для получения более подрбной информации смотрите Как: построить ссылочную целостность между таблицами.

Expand image Хранимые процедуры баз данных

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

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

Expand image Мнодество баз данных для многопользовательских окружений

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

  • Управление доступом пользователя к поднабору таблиц в целой системе.

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

  • Предоставление возможности использовать поднаборы наборы таблиц исключительно для создания локальных и удаленных представлений в run time.

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

Множество баз данных могут придать вашей системе большую гибкость

FoxPro Sales Inventory

Expand image Смотрите также