Анимация
JavaScript
|
Главная Библионтека целостность базы данных. Вы можете проверить целостность базы данных с помощью команды VALIDATE DATABASE. В следующем примере файл базы данных Auto Store проверяется на целостность: OPEN DATABASE Auto Store EXCLUSIVE VALIDATE DATABASE Проверка базы данных гарантирует, что строки файла базы данных хранят правильные метаданные о базе. Использование словаря данных Базы данных Visual FoxPro используют словарь данных, который повышает эффективность разработки и использования базы данных и освобождает вас от необходимости писать собственные программы обеспечения правил на уровне полей и записей или проверки уникальности значений первичных ключей. Словарь данных Visual FoxPro позволяет создавать следующие элементы: • Длинные имена таблиц. • Комментарии для каждого поля, таблицы и базы данных. • Длинные имена полей. • Заголовки полей, отображаемых в окнах просмотра и в виде заголовков столбцов сетки. • Значения полей по умолчанию. • Первичные ключи и ключи -кандидаты. • Правила на уровне полей и правила на уровне записей. • Триггеры. • Постоянные отношения между таблицами базы данных. • Хранимые процедуры. • Связи с удаленными источниками данных. • Локальные и удаленные представления. Некоторые элементы словаря, такие как длинные имена полей, первичные и ключи-кандидаты, значения по умолчанию, правила на уровне полей и записей, триггеры, хранятся в файле DBC, но становятся доступны в процессе создания таблицы или представления. Вы можете создавать хранимые процедуры для обработки информации в базе данных. Хранимая процедура представляет собой код Visual FoxPro, записанный в файле DBC. Эти процедуры оперируют только с данными конкретной базы данных. Хранимые процедуры загружаются в память во время открытия базы данных и выполняются намного быстрее, чем процедуры из программных файлов. Для создания, редактирования или удаления хранимой процедуры в Project Manager выделите имя базы данных, выберите в списке пункт Stored Procedures, затем нажмите одну из кнопок: New, Modify или Remove. Для этой же цели в Конструкторе баз данных выберите из меню Database команду Edit Stored Procedures. В любом случае откроется текстовый редактор Visual FoxPro, в котором вы сможете создать или отредактировать хранимую процедуру текущей базы данных. Хранимые процедуры используются, в основном, в качестве функций пользователя, на которые можно ссылаться в правилах уровня полей или записей. Когда вы сохраняете функцию в базе данных, код этой функции записывается в файл DBC и автоматически перемещается с ней, если вы меняете местоположение базы. Использование хранимых процедур повышает переносимость приложений, поскольку вам не нужно больше управлять файлами процедур пользователя отдельно от файла базы данных. Поддержание ссылочной целостности предусматривает построение набора правил для сохранения установленных отношений между таблицами при вводе или удалении записей. Аппарат поддержания ссылочной целостности позволяет избежать следующих неприятных ситуаций: • Добавления записей в подчиненную таблицу, если в главной таблице нет записи с соответствующим первичным ключом. • Изменения значений в главной таблице, если это изменение приведет к появлению не связанных ("одиночных") записей подчиненной таблицы. • Удаления записей из главной таблицы, если для нее существуют соответствующие записи в подчиненных таблицах. Вы можете использовать свои собственные триггеры и хранимые процедуры для поддержания целостности ссылок. Однако Построитель ссылочной целостности Visual FoxPro позволяет определить правила поддержания ссылок, таблицы, для которых необходимо поддерживать целостность, и системные события, после совершения которых будет производиться проверка целостности. Построитель ссылочной целостности управляет многоуровневыми цепочками удалений или обновлений, и настоятельно рекомендуется в качестве инструмента для поддержания ссылочной целостности. Для работы с Построителем ссылочной целостности откройте Конструктор баз данных. В меню Database выберите Referential Integrity. Если вы используете Построитель ссылочной целостности, Visual FoxPro сохраняет генерируемый код в качестве триггеров, которые ссылаются на хранимые процедуры. Вы можете просмотреть код этих процедур, открыв с помощью текстового редактора хранимые процедуры для базы данных, как это было описано выше, но будьте очень осторожны при попытке его модернизации. Может, вы лучше не будете его редактировать? Если вы изменили проект базы данных, например структуры таблиц, или переназначили индексы, используемые для построения отношений между таблицами, перезапустите Построитель ссылочной целостности, прежде чем начнете пользоваться базой данных. Построитель ссылочной целостности настроит хранимые процедуры и табличные триггеры согласно внесенным изменениям. Если не сделать этого, вы скорее всего получите непредсказуемые результаты, поскольку внесенные в проект базы данных изменения никак не отразятся в ее внутренней структуре. Вы можете установить постоянные отношения между таблицами базы данных. Постоянные отношения - это отношения, информация о которых хранится в файле базы данных. Постоянные отношения дают возможность выполнять следующие действия: • Автоматически использовать установленные условия объединения в Конструкторах запросов и представлений. • В Конструкторе баз данных визуально отображать связанные индексы таблиц. • В Конструкторе среды окружения данных (Data Environment Designer) отображать установленные по умолчанию связи для форм и отчетов. • Использовать аппарат поддержки ссылочной целостности. В отличие от временных отношений, устанавливаемых по команде SET RELATION, постоянные отношения не нуждаются в переопределении при каждом открытии таблиц. В Visual FoxPro для установки постоянных отношений используются индексы. То есть вы создаете постоянные отношения на основе индексов таблиц, а не на основе связи полей, что позволяет связывать таблицы на основе простых и сложных индексных выражений. Как создать постоянные отношения между таблицами? В Конструкторе баз данных выберите индекс, который вы хотите связать, и перетащите его на индекс связываемой таблицы, или включите предложение FOREIGN KEY в команду CREATE TABLE или команду ALTER TABLE. Если после этого вы посмотрите на схему базы данных в Конструкторе БД, то увидите линию, соединяющую две таблицы и обозначающую новую постоянную связь. Тип индексного тега или ключа определяет тип устанавливаемого постоянного отношения. Вы должны использовать первичный или индексный тег-кандидат или ключ со стороны "один" в отношении "один ко многим"; со стороны "много" вы должны использовать обычный индексный тег или ключ. Для удаления постоянного отношения между таблицами в Конструкторе баз данных выделите щелчком линию, соединяющую таблицы. Толщина линии увеличится, отмечая выбор отношения между таблицами. После этого нажмите клавишу Del. Каждая база данных Visual FoxPro содержит свойства Comment и Version. Вы всегда можете узнать содержание этих свойств с помощью функции DBGETPROP(). В следующем примере на экран выводится номер версии базы данных Auto Store: ? DBGETPROP(Auto Store, DATABASE, VERSION) Возвращаемое значение является номером версии файла DBC и доступно только для чтения. Программно ввести комментарий в базу данных можно с помощью функции DBSETPROP(). Для этого используйте опцию COMMENT в функции DBSETPROP(). В следующем примере вводится новый комментарий для базы данных Auto Store: ? DBSETPROP(Auto Store, DATABASE, COMMENT, Это моя первая БД) Функции DBGETPROP() и DBSETPROP() можно использовать для просмотра и изменения свойств других объектов базы данных, о чем мы расскажем позднее. Создание и модернизация структуры таблиц Созданная база данных сможет хранить полезную для пользователя информацию только после того, как в нее будут включены соответствующие таблицы. При создании таблиц уточняются типы данных, заголовки полей, возможные значения по умолчанию, триггеры, а также индексы, которые строятся для организации отношений между таблицами. Таблицу можно конструировать и создавать в интерактивном режиме с помощью Конструктора таблиц, который доступен из Project Manager или из меню File; ее также можно создать программно. Чтобы создавать и модифицировать таблицы из программ, используются команды, приведенные в табл. 6.2. Таблица 6.2. Команды создания и модификации таблиц ALTER TABLE CLOSE TABLES CREATE TABLE DELETE FILE REMOVE TABLE Для создания таблицы базы данных в Project Manager выберите базу данных, затем заголовок Tables и нажмите кнопку New, чтобы вызвать Конструктор таблиц. Окно Конструктора таблиц с необходимыми пояснениями показано на рис. 6.2. При открытой базе данных вы можете выполнить команду CREATE TABLE. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [ 48 ] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |