- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
12.8. Организация межтабличных связей
В Visual FoxPro можно связывать таблицы — устанавливать связи между ними. При этом возможно установление постоянных и временных связей между таблицами. Постоянныесвязи можно установить в Конструкторе БД, и они прежде всего необходимы для поддержания целостности БД при обновлении содержимого таблиц. Временные связи между таблицами могут устанавливаться при создании экранных форм (для ввода и редактирования данных) и отчетов. Обычно это делается в < случаях, когда имеющиеся постоянные связи по каким либо причинам не подходят для создаваемой формы или отчета.
Постоянные связи хранятся в словаре БД и автоматически устанавлива ются при открытии таблиц. Приведем условия установления постоянных свя зей.
Одна из связываемых таблиц яв ляется родительской, другая — дочерней.
Для родительской таблицы индекс должен быть определен как первичный ключ (Primary) или ключ кандидат(Candidate).
Для дочерней таблицы индекс может быть не уникальным. По этому индексу дочерняя таблица будет связываться с родительской (внешний ключ).
Создадим постоянные связи между таблицами. Для этого войдем в Конструктор БД и убедимся в наличии (или создадим) перечисленные ниже индексы (табл. 12.6).
Таблица12.6
Типы индексов БД Bdu
Таблица |
Имя тега |
Тип индекса |
Индексное выражение |
T_ZAGR |
i_zagr |
Primary |
Fio+Predm+STR(Gruppa) |
T_PREP |
i_fio |
Primary |
Fio |
T_PREP |
i_dolgn |
Candidate |
Dolgn |
T_PREP |
i_stag |
Candidate |
Stag |
T_STAG |
i_stag |
Primary |
Stag |
TDOLGN |
i_dolgn |
Primary |
dolgn |
После создания всех необходимых индексов в окне Конструктора БД (рис. 12.4) будут представлены все таблицы в виде списка из полей и индексов, разделенных ключевым словом Indexes (индексы).Если в таблице список полей и индексов виден не полностью, его можно прокрутить вниз или вверх. На рис. 12.5 показаны установленные межтабличные связи.
; P Fields |
|
stag |
|
j d_stag |
|
Ulndexes |
|
fi_ttag |
1] |
-.-'i- . - V | |
| |
Ш Fields |
■jm. г |
dolgn |
|
oklad |
|
""^Indexes |
|
?i_dolgn |
й |
ШШЩЩЛЩ | |
llFiekk |
|
fio |
|
predm |
|
gruppa |
|
vidzan |
|
Pllndexes |
|
i_zagr |
Щ |
|
.aid |
<J
i
Для установления постоянной связи между родительской и дочерней таблицей необходимо:
установить указатель мыши на первичный ключ родительской таблицы;
1нажав левую кнопку мыши, переместить указатель на индекс дочерней
таблицы, по которому устанавливается связь;
отпустить кнопку.
На экране появится диалоговое окно Edit Relationship (правка связей), содержащее имена связываемых таблиц с раскрывающимися списками индексов. В списках уже выбраны индексы, по которым должна осуществляться связь. Здесь же указывается тип связи между таблицами «один к одному» или «один ко многим». Для сохранения связи нажмем ОК, а при отказе —Cancel (отмена).
Для удаления межтабличной связи требуется выполнить следующее:
навести указатель мыши на линию связи таблиц;
нажать правую кнопку мыши, что приведет к утолщению линии и появлению всплывающего меню;
выполнить команду Remove Relationship (удалить связь)всплывающего меню.
В результате выделенная связь будет удалена. Напомним, что установленные постоянные связи между таблицами используются прежде всего для обеспечения ссылочной целостности (непротиворечивости) БД при обновлении ее содержимого. Для снижения возможных потерь данных рекомендуется сначала устанавливать правила ссылочной целостности, а затем вводить данные в таблицы.