- •Аннотация:
- •Лекция 1.
- •1.История развития баз данных
- •2.Понятия Базы данных и Системы управления базами данных
- •3.Компоненты среды субд
- •Распределение обязанностей
- •Лекция 2
- •1. Трехуровневая архитектура организации бд
- •2.Реляционная модель данных
- •1.Математическое понятие отношения:
- •1.Этапы проектирования бд
- •2.Построение информационной модели. Определение сущностей.
- •3.Определение взаимосвязей между сущностями
- •4.Понятие ключевого элемента. Задание первичных ключей
- •1.Нормализация отношений в бд.
- •2.Три уровня нормальной формы
- •1.Понятие ссылочной целостности
- •2.Задание ограничений целостности базы данных.
- •1.Понятие индексного файла
- •2.Создание и установка индексных файлов с помощью команд.
- •1.Сортировка данных.
- •2.Поиск данных.
- •3.Фильтрация данных.
- •1.Понятие рабочей области.
- •2.Установление взаимосвязи в приложении с помощью команд
- •3.Создание связей с помощью меню
- •4. Работа в связанных таблицах
- •Лекция 10. Проект как средство объединения элементов приложения
- •Лекция 11
- •1. Система управления передачей данных.
- •Распределенные базы данных
- •3.Процесс прохождения пользовательского запроса.
- •Лекция 12.
- •1. Физическая организация и структура хранения данных в sql Server
- •2. Доступ к базе данных
- •3.Технология com
- •1.Основные принципы физического проектирования базы данных.
1.Понятие рабочей области.
В современных системах баз данных допускается одновременная работа с несколькими таблицами. При этом каждая таблица помещается в свою рабочую область и между таблицами могут быть установлены взаимосвязи.
Указатели записей во взаимосвязанных таблицах будут двигаться синхронно.
В старшей (родительской) таблице указатель перемещается произвольно, в дочерней таблице указатель перемещается в соответствии с перемещением в старшей.
Если таблица имеет первичный ключ, то она может быть родительской, если имеет внешний ключ, то может быть дочерней. В один и тот же момент одна и та же таблица может быть дочерней к одной таблице и родительской к другой. Допускается подключать к одной старшей таблице несколько младших.
Перед установлением связей надо выполнить следующие условия:
Все таблицы должны быть открыты, причем каждая в своей области.
Все таблицы попарно должны иметь общее поле (хотя бы одно)
Для общего поля должен быть построен индекс.
Каждая таблица вместе со своими индексными файлами открывается в отдельной рабочей области. Рабочие области имеют порядковые номера.
Первые десять рабочих областей имеют однобуквенные имена от A до J.
В FoxPro некоторые команды не могут обрабатывать порядковые имена рабочих областей, поэтому при открытии табличного файла рабочей области можно присваивать псевдоним ALIAS.
Желательно в качестве псевдонима присваивать осмысленное сочетание из 3 -4 букв.
В любой момент времени может быть открыто много рабочих областей, но главной будет одна.
Для назначения текущей рабочей области используют команду
SELECT <номер рабочей области или псевдоним>
Для доступа к полям таблицы следует указывать псевдоним рабочей области, в которой открыта таблица, затем точка и потом имя нужного поля.
2.Установление взаимосвязи в приложении с помощью команд
Для установления взаимосвязи текущей делают ту рабочую область, где находится дочерняя таблица и с помощью команды
SET RELATION TO
Подключают одну или несколько таблиц, открытых в пассивной рабочей области.
SET RELATION TO <выр 1> INTO <псевдоним рабочей области> / <выр 2> INTO <псевдоним рабочей области>
<выр 1> и <выр 2> - имена общих полей между дочерней таблицей и несколькими родительскими.
INTO <псевдоним> - псевдонимы рабочих областей, где открыты соответствующие родительские таблицы.
С помощью команды RELATION можно установить взаимосвязь один к одному, т.е. даже если в дочерней таблице общим полем является внешний ключ типа REGULAR и имеется несколько записей с одинаковыми значениями на экран будет выводится только одна запись из дочерней таблицы.
Для разрыва всех взаимосвязей «один к одному» активной таблицы, надо подать команду SET RELATION TO без опций.
Если надо разорвать одну конкретную взаимосвязь между активной (дочерней) таблицей и пассивной (родительской), необходимо подать команду SET RELATION OF INTO <псевдоним рабочей области>
Взаимосвязь один ко многим устанавливается поверх взаимосвязи один к одному, т.е. сначала устанавливается взаимосвязь один к одному, затем дают команду
SET SKIP TO <псевдоним рабочей области>
При этом на экран будет выводиться для одной записи из родительской таблицы несколько записей дочерней.
Для удаления взаимосвязи «один ко многим» надо подать команду SET SKIP TO без опций.
