Студопедия — ЛАБОРАТОРНАЯ РАБОТА №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; просмотров: 591. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

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