- •Практикум по изучению системы программирования
- •Знакомство с пользовательской средой Visual FoxPro 8.0
- •Запуск Visual FoxPro
- •Строка меню
- •Стандартная панель инструментов
- •Выход из Visual FoxPro
- •Практическая работа №1
- •Проектирование базы данных и создание таблиц
- •Создание проекта
- •Создание базы данных
- •Создание таблицы
- •Создание таблицы с помощью мастера
- •Практическая работа №2
- •Варианты заданий
- •Создание таблицы с использованием конструктора
- •3. Управление записями: добавление, редактирование, удаление и навигация
- •3.1. Заполнение таблицы
- •3.2. Модификация структуры таблицы
- •Практическая работа №3
- •Варианты заданий
- •4. Создание индексов
- •4.1. Понятие индекса
- •4.2. Создание индексов
- •Практическая работа №4.
- •Варианты заданий
- •5. Отношения между таблицами
- •5.1. Определение отношений между таблицами.
- •5.2. Определение условий целостности данных
- •Практическая работа №5.
- •6.Представления данных
- •6.1.Создание представления данных с помощью конструктора
- •6.1.1. Окно конструктора представления данных.
- •6.1.3. Упорядочивание данных в представлении.
- •6.1.4. Построение условий выбора записей.
- •5.2. Примеры создания представлений данных с помощью конструктора
- •Практическая работа №6
- •Варианты заданий
- •7. Использование форм для ввода и редактирования данных
- •Использование мастера для создания однотабличной формы.
- •Запуск формы на выполнение
- •7.3. Модификация формы в режиме конструктора
- •7.3.1 Окно конструктора форм
- •Панель инструментов Form Controls
- •7.3.2 Свойства и методы объектов формы
- •7.3.3 Размещение графического изображения в форме
- •7.3.4 Создание одиночных кнопок управления
- •Практическая работа №7.
- •8. Создание отчетов
- •8.1. Создание табличного отчета по данным одной таблицы с помощью мастера отчетов.
- •Создание табличного отчета по данным нескольких таблиц с помощью мастера отчетов
- •8. 3. Создание отчета с помощью конструктора отчетов
- •Практическая работа №8.
- •Создание меню приложения средствами Visual FoxPro
- •9.1 Создание строки меню
- •9.2 Работа с окном конструктора меню
- •9.3 Окно диалога Prompt Options
- •9.4 Создание подменю
- •Практическая работа №9.
- •10. Управление разработкой и создание приложения
- •Задание параметров проекта
- •Установка обязательной программы.
- •Построение проекта и создание приложения.
- •Практическая работа №10.
- •Контрольные задания по проектированию и созданию базы данных:
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Вариант 13.
- •Вариант 14.
- •Литература:
5.2. Определение условий целостности данных
Целостность данных является одним из самых важных условий, предъявляемых к базам данных. Это значит, например, что таблица, содержащая дополнительные сведения о покупателях, должна содержать сведения обо всех покупателях, коды которых содержатся в таблице проданных товаров. Иначе невозможно определить, кому был продан товар.
Для определения условий целостности данных необходимо в окне конструктора базы данных нажать правую кнопку мыши и выбрать команду Edit Referential Integrity. В результате откроется окно конструктора условий целостности данных Referential Integrity Builder.
Таблица описания условий содержит наименования родительских таблиц – столбец Parent Table, и соответствующих дочерних таблиц – столбец Child Table; наименования индексов, используемых для связей - столбцы Parent Tag и Child Tag; а также типы действий, выполняемых при модификации данных (Update), добавлении (Insert), удалении(Delete) записей в таблицах:
рис 5.3. Окно конструктора условий целостности данных
Окно Referential Integrity Builder содержит три вкладки (Rules for Updating, Rules for Deleting, Rules for Inserting), в каждой из которых находятся переключатели для установки типа выполняемого действия. Однако выбрать тип действия можно и непосредственно из раскрывающегося списка в полях Update, Insert, Delete.
При изменении значений первичного ключа в родительской таблице возможны следующие варианты действий (вкладка Rules for Updating или поле Update):
Наименование |
Описание |
Cascade |
При изменении полей первичного ключа в родительской таблице автоматически осуществляется каскадное изменение всех соответствующих значений в дочерней таблице. Например, при изменении кода покупателя в таблице Pocupatel этот же код автоматически изменится в таблицеZakaz.
|
Restrict |
Не позволяет изменять значения полей первичного ключа в родительской таблице, если в дочерней имеется хотя бы одна запись, содержащая ссылку на изменяемую запись. Т.е. Коды покупателей определяются на этапе ввода и в дальнейшем не изменяются.
|
Ignore |
При изменении значений полей первичного ключа в родительской таблице соответствующие значения в дочерней таблице не изменяются. Целостность данных при этом не поддерживается. |
При изменении значений первичного ключа в родительской таблице возможны следующие варианты действий (вкладка Rules for Deleting или поле Delete):
Наименование |
Описание |
Cascade |
При удалении записи в родительской таблице автоматически осуществляется каскадное удаление всех записей из дочерней таблицы, связанных удаляемой записью.
|
Restrict |
Не позволяет удалять запись в родительской таблице, если в дочерней имеется хотя бы одна запись, содержащая ссылку на удаляемую запись.
|
Ignore |
При удалении значений в родительской таблице соответствующие значения в дочерней таблице не изменяются. Целостность данных при этом не поддерживается. |
При добавлении новой записи в дочернюю таблицу или редактировании в ней существующей записи возможны следующие варианты действий (вкладка Rules for Inserting или поле Insert):
Наименование |
Описание |
Restrict |
Не позволяет вводить запись если значение индексного выражения дочерней таблицы не соответствует одной из записей в родительской таблице.
|
Ignore |
При вводе данных не анализируется значение индексного выражения. Целостность данных при этом не поддерживается. |
После завершения определения условий целостности необходимо нажать кнопку ОК. После чего система задаст вопрос о подтверждении определенных условий целостности, их установлении и записи. В случае положительного ответа вся введенная информация будет сохранена и указанные действия будут выполняться при изменении, дополнении и удалении записей.