takya.ru страница 1
скачать файл
Математический факультет, «Прикладная математика и информатика», 3 курс,

Методические рекомендации
к лабораторным работам по дисциплине «Базы данных»


Лабораторная работа № 1.
Ознакомление со средствами работы с базами данных (СУБД).
Создание и заполнение базы данных

1. Цель работы


Целью работы является:

  • ознакомление со средой СУБД Visual FoxPro (VFP) и средствами для работы с базами данных;

  • ознакомление с основными этапами создания базы данных на примере проекта учебной базы данных «Деканат», включающей таблицы «Студенты», «Предметы», «Преподаватели», «Сессия»;

  • получение навыков работы с локальной БД средствами СУБД VFP (режим файл-сервер),

    • создание проекта;

    • создание базы данных;

    • создание таблиц базы данных;

    • ввод/просмотр/редактирование данных в таблице;

  • получение навыков работы с локальной БД с помощью команд языка SQL (режим клиент-сервер):

    • команды INSERT, UPDATE, DELETE;

    • команда SELECT, в том числе:

      • простейшая форма команды;

      • с указанием списка полей;

      • с указанием условия выборки;

      • с указанием условия упорядочения записей;

      • вычисление итогов с использованием агрегирующих функций;

      • выполнение запросов с использованием операции соединения:

        • результаты сдачи экзаменов заданной группой по заданному предмету в указанной сессии;

        • результаты сдачи экзаменов указанной сессии заданным студентом;

        • средний балл группы по заданному предмету в указанной сессии;

        • средний балл студента в указанной сессии.

  • получение навыков работы с удаленной БД с помощью команд языка SQL (режим клиент-сервер, СУБД MySQL):

    • установление соединения с сервером БД;

    • создание/открытие базы данных;

    • создание таблицы базы данных «Студенты»;

    • ввод (добавление) данных в таблицу «Студенты»;

    • редактирование (обновление) данных в таблицах БД;

    • выполнение запросов к БД;

  • разработка и настройка экранных форм (форм ввода);

  • разработка и настройка отчетов (выходных форм).

2. Содержание работы:


Задание 1. Ознакомление со средой СУБД Visual FoxPro (VFP) и средствами для работы с базами данных

  • Ознакомление с интерфейсом СУБД Visual FoxPro:

    • Главное (системное) меню

    • Командное окно «Command»

    • Окно «Data session»

    • Настройка региональных параметров (формат даты и времени и др.)

  • Порядок создания нового проекта

    • Создание проекта

    • Создание базы данных

    • Создание таблицы, ввод структуры таблицы, настройка свойств полей, установка индексов и др.

  • Ввод данных в таблицу с использованием стандартных средств СУБД

    • Установка режимов Browse, Edit

    • Добавление записей

    • Изменение данных

    • Удаление записей – порядок


Контрольные вопросы

  1. Типы данных в СУБД Visual FoxPro

  2. Как создать новый проект?

  3. Как создать новую таблицу и ввести ее структуру?

  4. Как изменить структуру таблицы?

  5. Как определить индексы?

  6. Назначение и использование окна «Command».

  7. Назначение и использование окна «Data session».

  8. Как настроить региональные параметры (дата, время и др.)?


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия в среде СУБД Visual FoxPro


Задание 2. Создание проекта учебной базы данных «Деканат»

Структура таблиц БД «Деканат»:




Студенты

ФИО С(40)

Номер зачетки С(10)

Код_студ Int(4)

Факультет С(15)

Курс Int(4)

Группа С(10)

Телефон С(20)

Адрес С(50)

Дата рожд. D(8)

Прим М(4)


Предметы

Наим. предмета С(40)



Код предмета Int(4)

Колич. Часов Int(4)

Кафедра C(30

Прим М(4)




Преподаватели

ФИО преп. С(40)



Код_преп. Int(4)

Степень С(20)

Звание С(20)

Телефон С(20)

Адрес С(50)

Дата рожд. D(8)

Прим М(4)
Сессия

Код_студ Int(4)

Код_пред Int(4)

Код_препод Int(4)

Сессия N(6,1)

Дата_сдачи D(8)

Оценка N(3)



Прим M(4)


Примечание: Тип поля М (мемо) – текстовое поле произвольного размера


  • Создание проекта «dekanat»

  • Создание базы данных «dekanat»

  • Создание таблиц БД «Студенты», «Предметы», «Преподаватели», «Сессия» (структура, настройка свойств полей, установка индексов и др.)

  • Ввод данных в таблицы «Студенты», «Предметы», «Преподаватели», «Сессия» с использованием стандартных средств СУБД Visual FoxPro


Контрольные вопросы

  1. Структура таблиц БД «Деканат»

  2. Добавление/Изменение/Удаление данных в таблице

  3. Особенности выполнения операции удаления записи


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия в среде СУБД Visual FoxPro

    • Заполненные таблицы


Задание 3. Выполнение команд SQL в среде Visual FoxPro

  • Ознакомиться с синтаксисом команд (операторов): INSERT, UPDATE, DELETE, SELECT

  • Правила записи констант типа «строка» и «дата» в СУБД Visual FoxPro

  • Работа с таблицей «Студенты»:

    • Ввод данных в таблицу «Студенты» с помощью оператора INSERT

    • Изменение данных в таблице «Студенты» (оператор UPDATE)

    • Удаление записей из таблицы «Студенты» (оператор DELETE)

  • Выполнение запросов в таблице «Студенты» (оператор SELECT):

    • Понятие курсора

    • простейшая форма команды SELECT;

    • указание списка полей;

    • указание условия выборки;

    • указание условия упорядочения записей;

    • вычисление итогов с использованием агрегирующих функций;

    • выполнение запросов с использованием операции соединения:




  • Работа с несколькими таблицами в БД «Деканат» (оператор SELECT, операция соединения)
    Выполнить запросы (таблицы «Студенты», «Предметы» и «Сессия»):

    • результаты сдачи экзаменов заданной группой по заданному предмету в указанной сессии (Группа, ФИО, Предмет, Дата сдачи, Оценка)

    • результаты сдачи экзаменов указанной сессии заданным студентом (ФИО, Предмет, Дата сдачи, Оценка)

    • средние баллы заданной группы по предметам в указанной сессии (Группа, Предмет, Оценка)

    • средние баллы студентов за указанную сессию (ФИО, Оценка)


Контрольные вопросы

  1. Синтаксис операторов INSERT, UPDATE, DELETE

  2. Синтаксис оператора SELECT:

    • Понятие курсора

    • Простейшая форма оператора

    • указание списка полей;

    • указание условия выборки;

    • указание условия упорядочения записей;

    • вычисление итогов с использованием агрегирующих функций;

    • выполнение запросов с использованием операции соединения:

  1. Добавление/Изменение/Удаление данных в таблицы


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия в среде СУБД Visual FoxPro



Задание 4. Создание экранных форм (форм ввода)

  • Создание простых экранных форм для таблиц «Студенты», «Предметы», «Преподаватели» с помощью Мастера

  • Создание сложной формы для ввода данных в таблицу «Сессия» (таблицы «Студенты», «Предметы», «Преподаватели», «Сессия», связь 1:М)

  • Настройка свойств экранных форм:

    • Установки при запуске (формат даты и времени и др.)

    • Настройка элементов формы (надписи на кнопках, шрифты, фон, размеры и положение элементов и др.)


Контрольные вопросы

  1. Порядок создания простой формы

  2. Порядок создания сложной формы

  3. Настройка элементов формы


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия

    • Готовые формы для ввода данных в таблицы и их демонстрация


Задание 5. Создание отчетов (выходных форм)

  • Создание с помощью Мастера простых форм отчетов для вывода данных из таблиц «Студенты», «Предметы», «Преподаватели»

  • Создание сложного отчета для вывода данных по результатам сессии:

    • сдача экзаменов группой по предмету (Группа, ФИО, Предмет, Дата сдачи, Оценка)

    • сдача экзаменов студентом (ФИО, Предмет, Дата сдачи, Оценка)

    • средние баллы группы по предметам в сессию (Группа, Предмет, Оценка)

    • средние баллы студентов за указанную сессию (ФИО, Оценка)

  • Настройка свойств отчета:

    • Установки при запуске (формат даты и времени и др.)

    • Настройка элементов отчета (надписи на кнопках, шрифты, фон, размеры и положение элементов и др.)


Контрольные вопросы

  1. Порядок создания отчетов с помощью Мастера

  2. Настройка свойств отчетов:

    • Установки при запуске отчета

    • Настройка элементов отчета (надписи на кнопках, шрифты, фон, размеры и положение элементов и др.)


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия

    • Готовые формы отчетов и их демонстрация



Задание 6. Работа с удаленной БД с помощью команд языка SQL (режим клиент-сервер, СУБД MySQL)

  • установка драйвера ODBC для СУБД MySQL в ОС Widows (при необходимости)

  • создание источника данных

  • установление соединения с сервером MySQL

  • создание/открытие базы данных

  • создание таблицы базы данных «Студенты»

  • ввод (добавление) данных в таблицу «Студенты»

  • редактирование (обновление) данных в таблице «Студенты»

  • удаление данных из таблицы «Студенты»

  • выполнение запросов к БД;


Контрольные вопросы

  1. Как установить драйвер ODBC для СУБД MySQL в ОС Widows?

  2. Как установить соединение с сервером MySQL?

  3. Как выполняются команды SQL в среде Visual Foxpro для доступа к удаленной БД?

  4. Как создать/открыть удаленную базу данных?

  5. Как создать таблицу в удаленной базе данных?

  6. Ввод/изменение/удаление данных в таблице "Студенты"

  7. Особенности синтаксиса операторов INSERT, UPDATE, DELETE для MySQL

  8. Синтаксис оператора SELECT


Форма отчетности:

    • Ответы на контрольные вопросы

    • Умение выполнить соответствующие действия



3. Некоторые теоретические сведения

Проектирование БД


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

В СУБД Visual FoxPro допустимы следующие типы данных (выделены наиболее часто используемые типы данных):

- Character — символьное выражение;

- Currency — денежное выражение для числовой величины;

- Date — выражение для даты;

- DateTime — выражение дата и время;

- Logical — булево выражение;

- Numeric — числовое выражение;

- Integer — целое число;

- Double — числа с плавающей точкой двойной точности;

- Float — то же, что числовое выражение (оставлено для совместимости);

- General — поле для ссылки на объект OLE (графические файлы и др.);

- Memo — поле примечаний (для ссылки на блок данных - текстовое поле произвольной длины);

Ввод структуры таблицы осуществляется в окне конструктора таблиц - Table Designer (Рис.1)


Рис.1. Ввод структуры таблицы БД.


Реляционные базы данных связываются между собой с помощью связующих полей.

FoxPro поддерживает четыре типа отношений между базами данных: один-к-одному, один-ко-многим, многие-к-одному, многие-к-многим. Связь между базами данных осуществляется на основании значений связующих полей, которые, как правило, являются индексными. Каждая база данных может содержать одно или несколько индексных полей, образующих в этом случае составной индекс.

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

Контроль вводимых данных.


1. Проверка правильности при вводе

В окне Table Designer (Рис.1) для каждого поля может быть задан набор правил, с помощью которых контролируется хранение и проверка информации. Для каждого поля могут быть заданы:

Validation Rule - правило проверки (логическое выражение);

Validation Text - сообщение при проверке (выводится при ложном значении логического выражения);

Default Value - значение по умолчанию;

Caption - заголовок столбца.

Должны быть заданы следующие ограничения:

поле «Номер зачетки» не должно быть пустым, в поле «дата получения» первоначально заносится текущая дата.

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

2. Использование триггеров

Три́ггер (англ. trigger) — это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации данных: добавлением INSERT, удалением DELETE строки в заданной таблице, или изменением UPDATE данных в определенном столбце заданной таблицы реляционной базы данных. Триггеры применяются для обеспечения целостности данных и реализации сложной бизнес-логики. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие, вызвавшее срабатывание триггера. Соответственно, в случае обнаружения ошибки или нарушения целостности данных может произойти откат этой транзакции.

В Visual FoxPro для таблиц, входящих в состав базы данных, вы можете определить триггеры, приведенные в табл. 1.

Таблица 1. Триггеры

Триггер

Описание

Insert (Вставить)

Определяет действия, которые будут выполняться после добавления новой записи в таблицу

Update (Обновить)

Определяет действия, которые будут выполняться после изменения записи таблицы

Delete (Удалить)

Определяет действия, которые будут выполняться после удаления записи из таблицы

Для определения триггеров используется окно конструктора таблицы, вкладка Table (Таблица). Триггеры вводятся в поля Insert trigger (триггер Вставить), Update trigger (триггер Обновить) или Delete trigger (триггер Удалить).

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

Вызов триггера Delete (Удалить) осуществляется:


  • при выполнении команды DELETE;

  • когда вы помечаете запись на удаление в режиме Browse (Обзор) или Edit (Правка).

Вызов триггера Insert (Вставить) осуществляется:

  • при выполнении команд APPEND FROM, APPEND FROM ARRAY,-APPEND BLANK;

  • при добавлении в таблицу новой записи в режиме Browse (Обзор) или Edit (Правка);

  • при выполнении команд IMPORT, INSERT SQL, RECALL;

  • при снятии метки об удалении записи в режиме Browse (Обзор) или Edit (Правка).

Триггер Update (Обновить) вызывается, когда:

  • наступает любое событие, которое приводит к модификации записи (например, при изменении значения поля);

  • выполняются команды GATHER, REPLACE, REPLACE FROM ARRAY, UPDATE SQL.

При использовании триггеров необходимо учитывать ограничения, имеющиеся в Visual FoxPro. При модификации записей, помеченных для удаления, и выполнении команды PACK триггеры не вызываются. Выполнение команды ZAP не вызывает триггер Delete (Удалить). При использовании буферизации ввода триггер update (Обновить) вызывается только при вызове функции TABLEUPDATE ().

Для удаления триггера в окне конструктора перейдите на вкладку Table (Таблица) и очистите поле ввода выражения для триггера или используйте команду DELETE TRIGGER.


Работа с удаленной (серверной) базой данных


Для работы необходимо создать (определить) источник данных (удаленная БД) средствами ОС Windows (Панель управления-Администрирование-Источники данных (ODBC).

Установка связи с источником данных (соединение с базой данных) осуществляется с помощью функции VPF SQLCONNECT(), имеющей следующий синтаксис:


SQLCONNECT([cConnectionName | cDataSourceName [, cUserID [, cPassword ]][, lShared]])
Без указания параметров команда ?SQLCONNECT() вызывает диалоговое окно для выбора источника данных (аналогичное Рис.2).

При успешном выполнении соединения функция возвращает номер указателя – положительно целое число: 1, 2, …. Значение указателя используется в функции SQLEXEC().

При неудачном выполнении соединения функция возвращает значение –1.

Рис. 2. Создание источника данных ODBC.


Выполнение команд SQL осуществляется с помощью функции SQLEXEC(), имеющей следующий синтаксис:
SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]])

где:


nStatementHandle – номер указателя, возвращенного функцией
SQLCONNECT();

cSQLCommand – команда SQL, передаваемая на сервер БД;

cCursorName – имя курсора (по умолчанию – SQLRESULT).
Функция SQLEXEC() в качестве результата возвращает КУРСОР - временную таблицу, которую можно обрабатывать средствами VFP (например, просматривать командой BROWSE). Стандартное имя курсора – QUERY.

3. Порядок выполнения работы

3.1. Работа с локальной базой данных

Создание базы данных и таблиц БД


Примечание. Имена таблиц и полей должны соответствовать правилам СУБД Visual Foxpro (латинские буквы и цифры).
Создание новой базы данных в FoxPro начинается с создания нового проекта.

Создайте новый проект (директива New из File-меню). В открывшемся окне выберите Project и нажмите кнопку New File. Сохраните созданный проект под именем «dekanat».

Автоматически появляется окно диспетчера проектов. Диспетчер проектов удобно использовать, если привести его к виду панели инструментов и встроить в главное окно Visual FoxPro. Для этого достаточно перетащить окно Диспетчера проектов к верхней рамке окна Visual FoxPro.

Создайте новую базу данных «Деканат». Для этого в окне проекта выберите вкладку Data, выделите заголовок Database и нажмите кнопку New. Сохраните новую базу данных под именем «dekanat».



Рис.3. Структура базы данных «Деканат»


Создайте таблицы БД в Диспетчере проектов, со структурой согласно Рис.1. Для этого в вашей новой базе данных выберите заголовок Tables, нажмите кнопку New. В открывшемся окне New Table нажмите кнопку New Table, затем сохраните таблицу под соответствующим именем.

После того, как вы сохранили таблицу, автоматически открывается окно Конструктора таблиц - Table Designer, в котором можно выполнить определение структуры таблицы. В центральной части окна расположен список полей. В нем определяются имена полей (Name), типы полей (Type), размеры полей (Width), количество десятичных разрядов после запятой для числовых полей (Decimal). В столбце Index можно указать необходимость создания индекса обычного типа с возрастающей (Ascending) или убывающей (Descending) последовательностью значений. В столбце NULL можно отметить допустимость использования значений NULL в данном поле. Значения NULL позволяют выполнять следующие специфические задачи:

—определять отсутствие значений в поле;

—иметь значения, отличные от пустой строки или цифры 0;

—эти значения располагаются впереди других значений;

—используются при вычислениях и в большом количестве функции.

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

После того, как вы создали поля записей во вкладке Fields Конструктора таблиц, перейдите во вкладку Indexes и внесите данные о ключах (индексах), называемых тегами.

В столбец Name заносится имя тега. Оно должно начинаться с буквы или знака подчеркивания и не может включать более 10 букв, цифр или знаков подчеркивания. В столбце Type указывается тип индекса, например, primary (первичный), regular (обычный). В столбце Expression в качестве выражения для индексного ключа обычно используется имя поля, по которому создается тег. В столбце Filter вы можете наложить ограничения на записи, которые будут доступны при активизации индекса. Просматривать и редактировать можно будет лишь те записи, которые будут удовлетворять указанному выражению. В столбце Order можно установить возрастающий или убывающий порядок расположения данных в индексе.

До тех пор, пока не нажата кнопка ОК в диалоговом окне Table Designer, структура таблицы не зафиксирована, и в нее можно вносить любые изменения.

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

1) выделить заголовок таблицы мышкой в Диспетчере проектов и нажать кнопку Modify;

2) в командном окне набрать команду MODIFY STRUCTURE (достаточно набирать первые 4 буквы).

Аналогичным образом создаются все таблицы БД.


Заполнение таблиц базы данных


Для заполнения таблицы необходимо выделить заголовок таблицы мышкой в Диспетчере проектов и нажать кнопку Browse. Для ввода записи FoxPro включает окно, в котором все поля одной записи таблицы расположены друг под другом в отдельных строках. Курсор находится в первой строке, где FoxPro ожидает ввода номера первого документа. Введите данные в соответствующие поля. После завершения ввода данных в одно поле с помощью [Tab] переходите к следующему. Чтобы добавить новую запись в таблицу, выберите пункт Append Mode в меню View.

Для заполнения Memo-поля необходимо выполнить на нем двойной щелчок мышью. Откроется окно с именем типа Имя_таблицы.Имя_поля в строке заголовка. В это окно следует ввести содержание документа или характеристику исполнителя.

Для заполнения поля фотографии, дважды щелкните по нему мышью. Откроется окно с именем типа Имя_таблицы.Имя_поля. Для встраивания объекта вызовите директиву Insert Object из Edit-меню и выберите тип объекта. Вы можете создать новый объект или создать объект из файла, поставив соответствующий флажок в окне. Вставка объекта и выбрать файл, нажав кнопку Обзор.

Просмотр содержимого баз данных


Структура базы данных изображена в Диспетчере проектов. Структуру элементов базы данных и связи между ними можно посмотреть в окне. Содержимое конкретной таблицы можно просмотреть:

1) из Конструктора таблиц, щелкнув по строке заголовка окна этой таблицы;

2) из Диспетчера проектов, выделив ее имя и нажав кнопку Browse.

Обычно данные представляются в виде последовательности записей для удобства редактирования (режим Edit). Однако можно представить данные и в обычной табличной форме. Для этого необходимо войти в меню View и выбрать режим Browse.

Установите в одном окне оба варианта просмотра. Откройте дополнительные окна для просмотра данных из подчиненных баз данных и разместите их на экране таким образом, чтобы были видны все три окна.

Дополните командный файл установления отношений директивами создания русифицированного Browse-окна. В этой программе должны быть поля из всех трех баз данных: Номер_зачетки, ФИО (таблица Студенты), Наим_Предмета (таблица Предметы), Дата сдачи, Оценка (таблица Сессия). Каждая колонка должна иметь русский заголовок. Фамилии студентов и названия предметов должны выводиться русскими буквами.


Связывание таблиц базы данных и целостность ссылочной системы


Выполните связывание баз данных документов и исполнений.

Для этого необходимо создать индексы:

- в таблице Студенты – по полю Номер_зачетки (первичный ключ),

- в таблице Предметы – по полю Код_предмета (первичный ключ),

- в таблице Преподаватели – по полю Код_преподавателя (первичный ключ)

Для работы с элементами базы данных существует Конструктор Базы Данных. Чтобы войти в него, выберите пункт Database Designer меню View. В Конструкторе БД каждая таблица представлена отдельным окном с именем таблицы в строке заголовка. Окно содержит список полей таблицы и список индексов таблицы, располагающийся под списком полей. Изображение ключа перед индексом обозначает, что данный индекс является первичным.

Для создания связи между таблицами Студенты и Сессия надо нажать кнопку мыши на первичном индексе «Номер зачетки» в таблице Студенты и, не отпуская ее, переместить указатель мыши на индекс Код_студента таблицы Сессия. В окне Конструктора БД мы увидим созданную связь визуально.

Точно также надо связать таблицы Преподаватель и Сессия, Предмет и Сессия.

Для определения типа связи между таблицами Студенты и Сессия необходимо открыть окно Data Session в пункте меню Window.

В левом поле Aliases окна Data Session содержатся имена таблиц вашей базы данных. Если оно пусто, нажмите кнопку Open и выберите нужные таблицы. Справа в расположено поле Relations, которое предназначено для отображения связей между таблицами. В окне Data Session постоянные связи не наследуются, и отношения между таблицами надо устанавливать вручную. Для этого следует использовать кнопку Relations. Выберите из списка открытых таблиц ту, которая будет родительской в устанавливаемом отношении. Нажмите кнопку Relations, a затем выберите в списке Aliases таблицу, которая должна быть подчинена первой таблице (дочернюю). Появится диалоговое окно Set Index Order. В этом окне необходимо выбрать индекс в дочерней таблице, по которому будет установлено отношение. После этого появится окно построителя выражений Expression Builder, в котором надо указать поле в родительской таблице, которое должно быть связано с индексом, выбранным в дочерней таблице. По умолчанию создается отношение 1:1. Создайте отношение 1:М. Для этого выделите мышкой родительскую таблицу в правой части окна Data Session (где изображена связь таблиц) и нажмите кнопку 1_to_many. В открывшемся окне Create One-To-Many Relationships выберите имя дочерней таблицы. Закройте окно. Вы увидите, что в поле связей установлена связь "1 ко многим".

Аналогичным образом установите отношение 1:М для таблиц Преподаватели и Сессия, Предметы и Сессия.

После установления связей между таблицами может быть произведена проверка целостности ссылочной системы (referential integrity), которая задается с помощью специального построителя, вызываемого из Database Designer нажатием правой кнопки мыши. Задайте каскадную модификацию для базы данных Студенты. Связь между базами данных существует лишь до конца текущего сеанса работы с FoxPro. Для связывания в начале каждого сеанса работы сохраните в отдельном файле последовательность команд связывания баз данных из окна команд (Command). Для этого выделите нужные директивы в окне команд и скопируйте их в буфер (Edit/Copy). Затем откройте новый файл для программы (File/New/Program) и вставьте туда выделенный блок (Edit/Paste). Сохраните файл.



3.2. Работа с удаленной (серверной) базой данных


  1. Подготовить структуру таблицы БД «Студенты».

  2. Создать (определить) источник данных (удаленную БД) средствами ОС Windows (Панель управления-Администрирование-Источники данных (ODBC).

  3. Установить связь с источником данных (соединение с серверной СУБД MySQL) с помощью функции VPF SQLCONNECT().

  4. С помощью функции SQLEXEC() выполнить команды SQL:

- создание БД «Деканат» (dekanat) (CREATE DATABASE).

- создание таблицы Студенты (stud) (CREATE TABLE).

- ввод данных таблицу (INSERT INTO),

- обновление (изменение) данных (UPDATE).

Результаты выполнения команд можно просматривать с помощью команд:

- SELECT - выполнение запроса, возвращается КУРСОР (по умолчанию – SQLRESULT)

- BROWSE – просмотр содержимого курсора.

4. Форма отчетности


1. Созданный проект, БД, таблицы БД.

2. Заполненные и связанные между собой таблицы БД: Студенты, Преподаватели, Предметы, Сессия.

2. Процесс установления связей между таблицами – программный код.

З. Демонстрация работы с удаленной БД.

4. Отчет по лабораторной работе.

5. Контрольные вопросы


  1. Как создать новый проект в СУБД Visual FoxPro?

  2. Как создать таблицу в СУБД Visual FoxPro?

  3. Какие типы данных для полей различает СУБД Visual FoxPro?

  4. Как осуществляется ввод/редактирование данных в таблице в СУБД Visual FoxPro?

  5. Что такое индексное поле и для чего оно нужно?

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

  7. Какие типы связей существуют в реляционной БД?

  8. Формат и основные возможности команды BROWSE.

  9. Создание экранных форм в СУБД Visual FoxPro.

  10. Создание отчетов (выходных форм) в СУБД Visual FoxPro.

  11. Особенности работы с удаленной БД.

  12. Механизмы и порядок работы с удаленной БД в СУБД Visual FoxPro.

  13. Порядок выполнения команд SQL с удаленной БД.

Литература


1. К. Дж. Дейт. Введение в системы баз данных. 7-е изд. – М.: Изд.дом «Вильямс», 2001. – 1072 с.

2. Грошев А.С. Основы работы с базами данных. Национальный Открытый Университет "ИНТУИТ" [Электронный ресурс] // http://www.intuit.ru/studies/courses/93/93/info .

3. Карпова Татьяна. Базы данных: модели, разработка, реализация. Национальный Открытый Университет "ИНТУИТ" [Электронный ресурс] // http://www.intuit.ru/studies/courses/1001/297/info

4. Иллюстрированный самоучитель по Visual Foxpro. Триггеры. [Электронный ресурс] // http://programming-lang.com/html/foxpro_7/glava14/index2.htm .



скачать файл



Смотрите также:
Методические рекомендации к лабораторным работам по дисциплине «Базы данных»
235.69kb.
Методические указания к лабораторным работам для студентов III курса автф направления230100. 62 «Информатика и вычислительная техника»
499.76kb.
Методические указания к лабораторным работам для студентов очной формы обучения
485.83kb.
Учебное пособие Санкт-Петербург 2012 Содержание Лабораторная работа №1 3 Общие сведения 3
1108kb.
Методические указания к лабораторным работам по строительным материалам для студентов 2 курсов
240.53kb.
Основы геотехники
424.75kb.
Методические рекомендации для администраторов программного комплекса «1С: Хронограф Школа 2,5»
16.21kb.
Методические рекомендации для студентов заочной формы обучения по дисциплине «Человек и его потребности»
137.8kb.
Методические указания к выполнению лабораторных работ по исследованию полупроводниковых диодов Санкт-Петербург 2007
481.38kb.
Методические рекомендации по выполнению курсовой работы по дисциплине «Стратегический менеджмент»
275.3kb.
Базы данных. Курс лекций содержание аннотация программы учебной дисциплины «Базы данных»
2602.25kb.
Методические рекомендации к практической работе №7 по дисциплине «Пакеты прикладных программ» 2008
83.76kb.