DATABASE
CREATE TABLE
При создании БД не забудьте, что важной особенностью Visual FoxPro является то
обстоятельство, что каждая таблица может существовать в одном из двух состояний: либо в виде
свободной таблицы, представляющей собой файл DBF, не ассоциированный ни с одной из баз
данных, либо в виде таблицы базы данных - файла DBF, включенного в какую-либо БД. При этом
если таблица включена в БД, то она не может быть включена ни в какую другую БД. Для таблиц,
ассоциированных с базой данных, можно установить ряд свойств, которыми не могут обладать
свободные таблицы. Это такие свойства, как триггеры, правила на уровне полей и записей и
постоянные отношения между таблицами.
Вы можете включить таблицы в базу данных, создав их внутри открытой базы данных или
добавив туда уже существующие таблицы.
Как добавить существующую таблицу в базу данных? В Project Manager выберите пункт Tables
из вкладки Аll или Data, затем выполните команду Add. Программным путем то же самое можно
сделать, выполнив следующие команды:
OPEN DATABASE auto_store && Открывается база данных && AUTO_STORE
ADD TABLE salesman && В нее добавляется таблица SALESMAN
Чтобы сделать таблицу частью базы данных, необходимо явно включить ее в базу данных.
Изменение структуры свободной таблицы не вносит ее автоматически в базу данных, даже если
сделать это при открытой базе данных с помощью команды MODIFY STRUCTURE.
Не забудьте, что вы можете ассоциировать таблицу только с одной базой данных. Если данные
из какой-то таблицы необходимо использовать в нескольких БД, для исключения дублирования
информации наиболее простой путь - не включать эту таблицу ни в какую БД, а оставить ее
свободной. Данные из существующего файла DBF можно использовать, не включая его в базу
данных. В то же время не представляет труда использовать информацию и из таблицы,
расположенной в другой БД.
Как получить доступ к таблице из другой базы данных? Создайте в базе данных
представление, включающее нужную таблицу. Или получите доступ к таблице с помощью
команды USE и разделительного символа "!". Символ "!" надо использовать для ссылки на
таблицу из другой, не текущей, базы данных. Например, если вы хотите просмотреть таблицу
Salesman из базы данных Auto_Store, выполните следующие команды:
USE Auto_Store!Salesman
BROWSE
В предыдущем примере база данных Auto_Store открывается автоматически при выполнении
команды USE, однако Visual FoxPro не устанавливает Auto_Store в качестве текущей базы
данных. Открытая таким способом база данных автоматически закрывается, когда вы закрываете
таблицу, если база данных не была явно открыта до этого.
Когда вы добавляете таблицу в базу данных, Visual FoxPro изменяет заголовок файла таблицы,
включая туда информацию о пути и имени файла базы данных. Этот путь и имя файла базы
данных называются обратной связью, поскольку эта информация связывает таблицу с
владеющей ею базой данных. Процесс удаления таблицы из базы данных не только удаляет
ссылку на таблицу и ассоциированную с ней информацию из словаря БД Visual FoxPro, но и
изменяет обратную связь, чтобы отметить таблицу как свободную.
Вы можете удалить таблицу из базы данных интерактивно или с помощью команды REMOVE
TABLE. При удалении таблицы из базы данных вы можете и физически удалить файл таблицы с
диска. В Project Manager выберите имя таблицы и нажмите кнопку Remove. Если вы работаете в
Конструкторе баз данных, выделите имя таблицы и выберите команду Remove из меню
Database.
Последовательность действий по удалению таблицы Salesman из БД Auto_Store программным
путем показа в следующем примере:
OPEN DATABASE Auto_Store
REMOVE TABLE Salesman
Удаление таблицы из базы данных автоматически не удаляет файл таблицы. Если вы хотите
одновременно удалить таблицу из базы данных и DBF-файл с диска, включите опцию DELETE в
команду REMOVE TABLE.
Удалить базу данных с диска можно с помощью Project Manager или командой DELETE
converted to PDF by HupBaH9I