- •Введение в базы данных
- •Типы субд
- •Таблицы бд и связи между ними
- •Связи между таблицами базы данных
- •Первичные ключи и индексы
- •Механизм bde
- •Проектирование бд
- •Имена таблиц и полей
- •Создание таблиц
- •Свойства таблиц Paradox 7
- •Типы полей
- •Контроль за содержимым полей
- •Ссылочная целостность
- •Парольная защита
- •Пример простой программы
- •Разработка главной формы
- •Создание псевдонима бд
- •Модуль данных
- •3. Модули данных
- •4. Компоненты для работы с базой данных
- •1. Таблица с источником данных
- •2. Компонент dbGrid для табличного просмотра и редактирования данных
- •Определение вторичных индексов для сортировки полей бд
- •Порядок создания приложения для работы с базами данных
- •1. Создание псевдонима базы данных
- •2. Создание таблиц базы данных.
- •3. Создание приложения
Ссылочная целостность
Ссылочная целостность — это особый механизм, способствующий поддержанию непротиворечивых сведений в таблицах БД, связанных реляционными отношениями. В демонстрационной БД таблица NAKLS содержит данные о накладных, а таблица MOVEBOOK — о связанных с ними книгах. Перед удалением данных о накладной нужно предварительно удалить связанный с ней список книг, иначе таблица MOVEBOOK будет содержать записи о «ничейных» книгах. Другой пример. Если мы захотим удалить запись в таблице MOVEBOOK (удалить из накладной данные о какой-либо книге), нам следует соответствующим образом изменить количество книг на складе (таблица BOOKS) и сальдо партнера (таблица FIRMS). Если таблицы связаны механизмом ссылочной целостности, BDE будет автоматически блокировать попытки изменения поля связи в родительской таблице, пока соответствующим образом не изменены связанные с ней записи в дочерней таблице.
Для установления ссылочной целостности нужно выбрать пункт Referential Integrity в списке Table properties и щелкнуть на кнопке Define (см. рис. 1.5). Откроется окно Referential Integrity, показанное на рис. 1.8.
Рис. 1.8. Установление ссылочной целостности
В списке Fields выбирается поле связи редактируемой таблицы (она должна быть дочерней), а в списке Table — нужная родительская таблица. После щелчков на кнопках со стрелками имена полей связи переносятся в строки Child fields и Parent's key. Далее нужно щелкнуть на кнопке ОК. DBD запросит имя вновь создаваемой ссылочной целостности и затем создаст ее. После этого попытка удаления информации о любой накладной будет отвергаться до тех пор, пока не удалены данные обо всех связанных с ней книгах.
С помощью переключателей в группе Update rule определяются правила поддержания ссылочной целостности:
Prohibit — BDE отвергает любые изменения в связанном поле родительской таблицы без соответствующего изменения записей в дочерней таблице; удаление записи родительской таблицы блокируется до удаления связанных с ней записей в дочерней таблице;
Cascade — BDE автоматически производит каскадные изменения в дочерней таблице при изменениях родительской таблицы1.
Парольная защита
Любая таблица Paradox может быть полностью или частично защищена от несанкционированного доступа. Для этого (см. рис. 1.5) в списке Table properties выбирается пункт Password Security и щелчком на кнопке Define открывается соответствующее диалоговое окно (рис. 1.9).
Рис. 1.9. Окно определения пароля
Пароль может содержать от 1 до 15 любых символов, в том числе и пробелы. Он чувствителен к регистру букв. С помощью кнопки Auxiliary Passwords вызывается дополнительное окно, в котором можно уточнить, какие поля и как защищаются2.
Пример простой программы
В этом разделе на примере создания несложной программы я постараюсь пояснить основные приемы программирования для БД. Вид окна работающей программы
Рис. 1.11. Окно программы на этапе прогона
Программа содержит окно просмотра накладных и связанных с ними списков книг.