Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

При создании интерфейса пользователя возникает необходимость выводить информацию для пользователя. Информация может выводится в окно, которое определяется командой 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(запрещается заменять данные в родительской таблице, если в дочерней имеются связанные с ней записи).

Нормализация таблиц

Под нормализацией понимается

1)Выполнение рассмотренных ранее правил для создания таблицы.

2)Разбиение больших таблиц на более мелки, каждая из которых посвящена своей теме

Если нормализация не выполнена, БД может стать жертвой различных аномалий.

Рассмотрим аномалию удаления: например покупатель 5 больше ничего не покупает. Удалив данные о нем мы теряем также сведения о стоимости молока – аномалия удаления. Разделим данные на 2 таблицы. Теперь удаление данных о покупателе не влечет за собой потерь.

Всего существует 6 степеней нормализации: для простых БД достаточно 1 степени.




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 538; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.