Студопедия — ЛАБОРАТОРНАЯ РАБОТА №8. Теоретические сведения
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ЛАБОРАТОРНАЯ РАБОТА №8. Теоретические сведения






 

ПРОГРАММИРОВАНИЕ: ИНДЕКСИРОВАНИЕ ТАБЛИЦ И УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ ПРИ СОЗДАНИИ БАЗ ДАННЫХ

Теоретические сведения.

 

Во второй лабораторной работе были рассмотрены инструментальные средства создания баз данных как совокупности взаимосвязанных таблиц. При сложной взаимосвязи таблиц бывает удобно программным способом явно установить нужные связи, указав предварительно индексные поля. Подробный формат команд, используемых для выполнения вышеназванных действий можно посмотреть в Help, здесь же эти команды будут перечислены и названы их основные особенности. Для создания индексного файла используется команда Index On < индексное выражение> To < имя индексного файла> … Индексные файлы могут быть открыты совместно с открытием базы данных командой

Use < имя таблицы> IN < рабочая область > INDEX < имя индексного файла>.

Если база данных уже открыта, то индесные файлы можно открыть командой

Set Index To< список индексных файлов >. Один из списка индексных файлов можно сделать главным (по умолчанию это первый в списке файл), воспользовавшись командой Set Order To < номер файла в списке>.

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

Как уже было сказано ранее, возможно установление двух типов связей между записями связанных таблиц. Связь типа одна запись к одной перемещает указатель в младшей базе таким образом, что он всегда устанавливается на первую встреченную им запись с совпадающим признаком. Остальные такие записи (если они есть) остаются “не замеченными”. Эта связь устанавливается командой SET RELATION. Связь типа одна запись ко многим позволяет обратиться ко всем записям младшей базы с совпадающим индексом. Для установления связи такого типа после команды SET RELATION следует команда SET SKIP TO.

В FoxPro можно обрабатывать сразу несколько таблиц, каждая из которых (файл DBF) и все вспомогательные файлы (индексные, файлы для хранения примечаний) открываются в своей отдельной рабочей области. Переход из одной рабочей области в другую осуществляется командой

SELECT < рабочая область/псевдоним>

Первые десять рабочих областей идентифицируются номерами 1-10 или буквами A – J. Области с 11-й по 25-ю обозначаются номерами W-11 – W25. Рабочие области и файлы таблиц базы данных могут идентифицироваться псевдонимами. Псевдонимом области по умолчанию является само имя находящегося в ней файла базы данных. В качестве псевдонима можно указать и любое другое слово в команде USE. Область, в которой мы находимся в данный момент, называется активной рабочей областью, и в ней можно работать с находящейся в ней таблицей, выполняя все допустимые команды системы. Одновременно даже в одной команде можно иметь доступ к полям других баз, В этом случае имя поля из неактивной области – составное. Собственно имени поля предшествует имя рабочей области или псевдоним, разделенные знаками ‘-’, ’> ’ или (что более удобно) точкой:

< рабочая область/псевдоним> -> < имя поля>

< рабочая область/псевдоним>. < имя поля>.

При работе с таблицами, расположенными в нескольких рабочих областях и не связанными между собой, указатели по записям работают независимо друг от друга. Для установления связи 1: 1 обе связываемяе таблицы индексируются о полю связи, таблицы открываются в соответствующих рабочих областях вместе с индексными файлами, делается активной рабочая область (команда Select), в которой размещается старшая таблица, и связывается командой

Set Relation To < ключ> Into < рабочая область>

по указанному ключу с таблицей, размещенной в указанной в команде рабочей области. Для установления связи 1: n между двумя таблицами сначала устанавливается связь 1: 1, а затем выполняется команда

Set Skip To < список областей>,

где указываются имена рабочих областей с таблицами, с которыми устанавливаются связи 1: n.

Следует отметить, что при выполнении команды SELECT языка SQL (не путайте с командой SELECT < рабочая область>), осуществляющей выборку данных из нескольких таблиц, связь между которыми явно программным способом не установлена, все действия будут реализованы оптимизатором запросов и поиск данных выполнен с учетом всех необходимых связей.

 

Задание на лабораторную работу.

1. Создать формы, в которых кроме полей базы данных “Студенты”, содержатся кнопки: связь 1: 1, связь 1: n, связь n: m. Написать программный код на каждую из кнопок соответственно, выполняющий следующие действия:

1) установить связь 1: 1 между таблицами сведений о студентах и адресом по номеру зачетной книжки студента и вывести адреса студентов по заданному номеру зачетной книжки,

2) установить связь 1: n между таблицами сведений о студентах и группах по номеру зачетной книжки и вывести всю информацию о студентах, обучающихся в указанной группе,

3) установить связь m: n между таблицами сведений о группах и курсах с использованием таблицы на связь и вывести сведения о всех курсах, изучаемых в конкретной группе.

 

Вопросы.

 

1. Какую последовательность действий нужно выполнить, для того, чтобы программным способом реализовать связь 1: 1?

2. Какую последовательность действий нужно выполнить, для того, чтобы программным способом реализовать связь 1: n?

3. Как реализовать связь между таблицами m: n?

4. Каким образом осуществляется движение по записям в таблицах, находящихся в разных рабочих областях, между которыми явно не установлена связь?

5. Необходимо ли выполнять обязательно предварительный процесс установления всех связей между таблицами перед выполнением команды SELECT языка SQL?

 







Дата добавления: 2014-11-10; просмотров: 592. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Этапы и алгоритм решения педагогической задачи Технология решения педагогической задачи, так же как и любая другая педагогическая технология должна соответствовать критериям концептуальности, системности, эффективности и воспроизводимости...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия