Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект студента по БД.doc
Скачиваний:
11
Добавлен:
20.09.2019
Размер:
146.43 Кб
Скачать

Работа с окнами

При создании интерфейса пользователя возникает необходимость выводить информацию для пользователя. Информация может выводится в окно, которое определяется командой DEFINY WINDOW <имя окна> FROM <х1,у1>(левый верхний угол to <х2,у2>(правый нижний угол). В самом окне может выводится заголовок командой title ‘…’. Чтобы увидеть окно, используем команду

ACTIVATE WINDOW <имя окна>. Теперь любая информация выводится в созданное окно. Для удаления окна выбираем команду DEACTIVATE WINDOW <имя таблицы>. В VFP предусмотрена специальная функция, создающая окно, в которое можно выводить сообщения MESSAGEBOX(<текст сообщения>,<коды>,<заголовок>). Коды определяют внешний вид окна и вид кнопок:

0 – кнопка ОК

3 – кнопки ДА, НЕТ, ОТМЕНА

5 – повтор и отмена

Коды пиктограмм:

16 – СТОП

32 – Знак вопроса

48 – Восклицательный знак

64 – Символ информации

При щелчке по кнопке генерируется числовой код, который воспринимается и обрабатывается программой «привязанной» к данной кнопке. Коды кнопок:

ОК – 1

Отмена – 2

Да - 6

Нет – 7

События и методы

Событием является закрытие окна и т.д. Например щелчок по кнопке генерирует цифровой код – это событие. Программа, которая будет обрабатывать событие называется Метод.

Например можно с помощью form control создать кнопку, используя Command Button. Изменяя свойство Caption можно дать кнопке любое название. Двойной щелчок по кнопке открывает окно, в котором создается метод – программа, которая будет выполнятся при щелчке по кнопке.

Обеспечение целостности и безопасности бд

Целостность подразумевает наличие в БД всех данных, предусмотренных для хранения в БД. Нарушение целостности означает отсутствие каких-либо данных. Под достоверностью понимается соответствие данных, хранимых в БД состоянию объектов. БД , где нарушена целостность и достоверность не имеет практической ценности. Достоверность и целостность обеспечивается на 2 уровнях:

  1. На уровне человеческого фактора: а) Организация доступа к БД только авторизованных пользователей. б) Для исключения ошибочного вноса или удаления данных привлекается 2 работник. в) Выполнять регулярное резервирование файлов таблиц и мемо файлов к ним.

  2. Программные методы: создавая БД, нужно сделать работу с ней удобной(так меньше вероятность ошибок), то есть нужно создавать удобные формы, стандартные запросы и т.д., организовывая удобный интерфейс.

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

Программные методы могут использоваться на уровне таблицы или на уровне БД в целом.

На уровне таблицы в окне конструктора на вкладке Fields используется группа полей Field Validation. В поле Rule вписывается условие, выполнение которого будет проверятся триггером. Если условие не выполняется, будет выдаваться сообщение, которое вписывается в поле Message. Например имеется таблица «Магазин» а в ней поле «Цена». Магазин торгует товарами не дороже 100 рублей. Создадим триггер, который не позволит ввести в таблицу стоимость товара выше 100 рублей. Функция iif является аналогом функции типа if then. В поле Rule вписываем iif (magazine.price>100,.T.,.F.) и в поле Message пишем «Не свыше 100 рублей»

На уровне базы данных таблицы в БД связаны. Недопустима ситуация, когда из родительской таблицы данные удаляются, а в дочерней остаются данные, связанные с удаленной записью. Получается, что в таблице остаются сведения, которые неизвестно к чему относятся. Чтобы избежать этой и подобных ей неприятностей, в БД для связи между таблицами устанавливаются правила. Для изменения свойств связи выбираем в контекстном меню Edit Referential Integrity (Редактировать целостность связей). Откроется окно в котором 3 вкладки (Правила для обновления, удаления, вставки данных). Для каждой связи указаны имена таблиц и показано, какая таблица является родительской и какая дочерней. Для любой связи можно выбрать 1 из вариантов: Ignore (изменение данных в родительской таблице никак не скажется на дочерней), Cascade(изменения в родительской таблице вызывают автоматические изменения в дочерней), Restrict(запрещается заменять данные в родительской таблице, если в дочерней имеются связанные с ней записи).