Поиск по базе сайта:
Министерство образования российской федерации самарский государственный аэрокосмический университет имени академика С. П. Королева Средства реализации локальных реляционных баз данных Методические указания к лабораторному практикуму по курсу «Базы данных» icon

Министерство образования российской федерации самарский государственный аэрокосмический университет имени академика С. П. Королева Средства реализации локальных реляционных баз данных Методические указания к лабораторному практикуму по курсу «Базы данных»




Скачати 254.69 Kb.
НазваМинистерство образования российской федерации самарский государственный аэрокосмический университет имени академика С. П. Королева Средства реализации локальных реляционных баз данных Методические указания к лабораторному практикуму по курсу «Базы данных»
Дата конвертації26.11.2013
Розмір254.69 Kb.
ТипМетодические указания


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ

Имени академика С.П. Королева


Средства реализации локальных

реляционных баз данных


Методические указания к лабораторному

практикуму по курсу «Базы данных»


САМАРА 2012



Цель лабораторного практикума: получение основных навыков работы с локальными реляционными СУБД на примере Visual FoxPro и Access при создании и ведении локальных баз данных реляционного типа. Каждая лабораторная работа рассчитана на 2 часа.


^

ЛАБОРАТОРНАЯ РАБОТА № 1



СОЗДАНИЕ ОТДЕЛЬНЫХ ТАБЛИЦ И СРЕДСТВА ИХ ВЕДЕНИЯ


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

СУБД FoxPro и Access являются в настоящее время одними из наиболее популярных средств реализации локальных баз данных реляционного типа. Ниже приводятся основные типы файлов Visual FoxPro: файл таблицы (.DBF), файлы для хранения индексов - файлы с расширениями *.IDX (индексный файл) и *.CDX (мультииндексный)), для хранения полей примечания (*.FPT), файл базы (*.DBC), программные файлы (*.PRG,*.SPR,*.MPR,*.QPR). Файл отчета (*.FRX). Файл этикетки (*.LBX и с полями примечаний - *.LBT), файл запроса (*.QPR), файл экранной формы (*.SCX, *.SCT), файл меню (*.MNX, *.MNT), файл проекта - Project(*.PJX,*.FPC,*.CAT.Файл приложения-*.APP), текстовый файл (*.TXT), файл библиотеки классов (*.VCX).

Ограничения на имя файла определяются требованиями операционной системы.

Для создания таблицы необходимо выполнить два этапа: создать структуру таблицы и заполнить её записями. В свою очередь структура таблицы включает перечень имён полей таблицы (Name) с указанием типов (Type) и размерностей полей (Width – общая длина поля, Decimal – длина дробной части числа), признака пустого поля (Null), а также указание ключевых полей (Index).

Имя поля не должно превышать 10 символов, может начинаться с буквы и включать буквы, цифры и знак подчеркивания. Использовать кириллицу в имени можно, кроме букв “я,ч,ю”.

Основные типы полей Visual FoxPro 6.0:

  1. Символьное (Character) - любой текст до 254 символов.

2. Числовое целое или дробное (Numeric) – содержит числа от 0 до 9, а также знак (необязательно) и десятичную запятую (необязательно). Дробную часть числа вводить необязательно. Диапазон: от -.9999999999Е+19 до .9999999999Е+20.

3. Числовое целое (Integer) – хранятся в таблицах как четырехбайтные двоичные значения и поэтому занимают меньше памяти, чем другие числовые типы данных, так как двоичные значения не требуют преобразования в ASCII. Диапазон от –2147483647 до 2147483646.

4. Числовое (Float) – тип данных включен для совместимости с более ранними версиями FoxPro и функционально эквивалентен Numeric.

5. Числовое для записи чисел с плавающей точкой удвоенной точности (Double). Если необходима большая точность, фиксированный объем памяти в таблице или значения с плавающей запятой, то лучше использовать этот тип вместо Numeric. Диапазон от +/-4.9406564584124Е-324 до +/-1.79769313486232Е+308.

6. Числовое для хранения денежных сумм (Currency). Используется для хранения чисел с четырьмя знаками после запятой. Если вы укажите более четырех десятичных цифр после десятичной запятой, то Visual FoxPro автоматически округлит их до четырех. Диапазон от –922337203685477,5808 до 922337203685477,5807.

7. Логическое (Logical). Используется для хранения информации, принимающей только два значения – «истина» (.T.) или «ложь» (.F.). Занимает в памяти 1 байт.

8. Тип (Date) для хранения хронологической даты, состоящей из месяца, числа и года. Диапазон от 01/01/100 до 12/31/9999.При вводе значения в поле базы данных по умолчанию принят формат даты – мм/дд/гг. Для изменения формата записи даты, например на дд/мм/гг, необходимо ввести команду – Set Date Britisch.

9. Тип (DateTime) для хранения или значения даты, или времени, или того и другого вместе. Данные этого типа хранятся в восьми байтах: два четырехбайтных числа. В первых четырех байтах хранится дата. Оставшиеся четыре байта содержат время в миллисекундах, начиная с полночи. Если не указать значение даты, то Visual FoxPro добавит её значение по умолчанию, а именно 30 декабря 1899 года. Если не указать значение времени, Visual FoxPro добавляет значение времени по умолчанию – полночь. Формат вводимого значения в поле базы данных по умолчанию имеет вид – мм/дд/гг чч:мм:сс.

10. Поле примечаний (Memo) для хранения символьных данных произвольной длины. Поле Memo содержит четырёхбайтную ссылку на содержимое примечания. Но действительный размер примечания зависит только от объёма данных, которые вы в него ввели. Данные полей Memo из записей в таблице хранятся в отдельном файле с тем же именем, что и таблица, и расширением .FPT. Размер полей Memo ограничен только объемом доступного дискового пространства. Для ввода значения в поле базы данных нужно два раза щёлкнуть мышью по полю memo, после чего в открывшемся окне редактирования набрать нужный текст. Закрыв окно редактирования, значение поля примечаний будет сохранено, а в поле базы данных слово memo будет заменено на Memo, что является признаком его заполнения.

11. Поле примечаний (Memo binary) для хранения двоичного текста произвольной длины. Содержит любые данные поля memo, которые вы хотите использовать, не изменяя кодовую страницу.

12. Символьное (Character binary) для хранения двоичного текста длиной до 254 символов. Содержит любые символьные данные, которые вы хотите использовать, не изменяя кодовую страницу.

  1. Поле (General) используется для хранения ссылки на объект. Под объектом понимается любой текстовый файл, звуковой файл, диаграмма, иллюстрация или другой файл созданный с помощью приложения, поддерживающего технологию OLE. Для ввода в поле базы данных объекта нужно выполнить двойной щелчок мыши на поле gen, после чего появится окно редактирования и изменится меню, затем выбрать пункт меню Edit-Insert Object и из перечня приложений, поддерживающих технологию OLE, выбрать нужное Вам (например рисунок Paintbrush). Закрыв окно приложения и окно редактирования поля, в базе данных поле gen будет заменено на Gen, что является признаком его заполнения.

  2. Поле (Picture) в DOS и Windows недоступно, оно приведено только для совместимости с FoxPro для Apple Macintosh.

В Visual FoxPro поддерживаются следующие типы индексов:

первичный (Primary) используется для поддержания ссылочной целостности данных. Этот индекс может быть только один и не может содержать повторяющихся значений, индекс типа «кандидат» (Candidate) так же, как и первичный индекс, не допускает повторяющихся значений, но любая таблица может иметь более одного индекса этого типа. Индекс обычный (Regular) может содержать повторяющиеся значения и используется для установления связи «многие к одному» в той таблице, где находятся «многие», уникальный (Unigue) является обычным индексом, который показывает только одну запись для каждого значения индекса. Уникальный индекс, в отличие от первичного индекса и индекса типа “кандидат”, не требует уникальности значений, то есть можно вводить записи с повторяющимися значениями индексного поля. Разница между обычным и уникальным индексами заключается в том, что уникальный индекс отображает только первую запись для каждого уникального значения индекса. При указании индексных полей в процессе создании структуры таблицы кроме выбора типа индекса можно выбрать тип упорядочения (по возрастанию или убыванию), определить вид индексного выражения.

В СУБД Access используются два типа индексных файлов – индексы, не допускающие повторяющихся значений и индексы, допускающие повторяющиеся значения.

^

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



1.Укажите собственную директорию: Tools/Options/File/Locations/Default Dir... Для задания постоянного каталога в процессе сеанса работы с FoxPro можно задать в командном окне команду: Set Default to <имя каталога>.

2. Создайте таблицу (File-New-Table) с именем Student.dbf, в которой хранятся сведения о студентах, включая следующие поля: номер зачётной книжки (Name-Num, Type-Numeric, Width-7), фамилия и инициалы (Name-Fio, Type-Charecter, With-25), год поступления в институт (Name-God,Type-Integer), дата рождения (Name- DR, Type-Date), вид обучения ( платное или бесплатное) (Name-Plata, Type- Logical), средний балл при поступлении в институт (Name -Sr, Type-Float,With-4,Decimal-2), размер оплаты при поступлении в платную группу (Name-Money,Type-Currency ), портрет (Name-Port, Type-General), адрес (Name-Adr, Type-Memo).

3. Заполнить 3-5 записями созданную таблицу.

4. Просмотреть записи в таблице, используя режим формуляра (View-Edit) и табличный режим (View-Browse).

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

6. Изменить структуру таблицы Stud.dbf, установив индексные выражения для созданной таблицы и, изменив последовательность некоторых полей (Window-Data Session - Properties-Modify).

7. Создать одноименную таблицу используя средство реализации баз данных- СУБД Access.


Вопросы.


  1. Какие действия необходимо выполнить при создании структуры таблицы?

  2. Какие основные типы файлов имеются в Visual FoxPro и Access?

  3. Какие типы полей используются в Visual FoxPro и Access?

  4. Какие типы индексов существуют в Visual FoxPro и Access?

  5. Что Вы понимаете под полями с плавающей запятой?

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

  7. Почему следует во время проектирования хорошо подумать назначенные полям размеры?

  8. Какие особенности демонстрирует FoxPro при удалении записей, и в чем преимущество существующего механизма удаления?



^

ЛАБОРАТОРНАЯ РАБОТА № 2



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


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

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

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

При создании базы данных важным понятием является понятие рабочей области. Рабочая область-это область памяти с одним файлом базы данных и несколькими индексными или мультииндексными файлами. Простой индексный файл (расширение .IDX) содержит по одному значению ключа для каждой записи. Мультииндексный файл (расширение .CDX) – файл, осуществляющий управление одновременно несколькими индексами. Отдельные ключевые поля в таких файлах называются тегами. Мультииндексные файлы в FoxPro бывают структурные и неструктурные. Структурный CDX файл имеет тоже имя, что и таблица базы данных и открывается всякий раз, когда открывается соответствующая таблица. Неструктурный CDX файл не открывается автоматически при открытии таблицы, его нужно открывать специально, если нужен определенный способ упорядочения записей в базе данных.

При построении базы данных в Visual FoxPro реализуются связи один к одному и один ко многим. Связи типа многие ко многим преобразутся к связям один ко многим и многие к одному на более ранних этапах проектирования баз данных. Для установления постоянной связи между двумя таблицами необходимо предварительно проиндексировать каждую из них, причем поле, по которому будет установлена связь, должно быть одного типа и одной размерности. При установлении связи между двумя таблицами одна из них является родительской (это управляющая таблица, то есть Вы манипулируете ею непосредственно), а другая дочерняя (или таблица-потомок, которой управляют через связь с родителем). Для установления связи 1:1 типы индексов в каждой из связываемых таблиц должны быть «кандидат» или типа Primary. Для установления связи 1:n тип индекса родительской таблицы (соответствующей односвязной сущности) является первичным или типа «кандидат», а дочерней (соответствующей n- связной сущности) обычный или уникальный. После этого механизм установления связей очень прост. Необходимо указать, что вы создаёте файл базы данных (расширение .DBC), выполнив последовательность действий – File-New-DataBase-New. В диалоговом окне для создания базы данных нажимаете правой кнопкой мыши на поле редактирования и в развернувшемся меню, выбрав пункты Add или New, добавляете имеющиеся таблицы или создаете новые таблицы, которые должны быть в базе данных. После их включения в базу данных мышь подводится к индексному полю родительской таблицы, нажимается на это поле и не отпуская переносится на соответствующее индексное поле дочерней таблицы, по которому устанавливается связь. Таким образом устанавливаются необходимые связи между всеми таблицами, входящими в базу данных.

Для установления временных связей между таблицами, то есть связей существующих во время одного сеанса работы с FoxPro, необходимо также проиндексировать связываемые таблицы по общим полям, затем выполнить последовательность действий – Window – Data Session и в окне Data Session открыть нужные таблицы. Для установления связи 1:1 подвести курсор к родительской таблице, нажать кнопку Rеlations и подвести курсор к дочерней таблице, после выбора, которой в правой части окна будет показана установленная связь. Для установления временной связи 1:n необходимо установить связь 1:1, затем подвести курсор к родительской таблице и нажать на кнопку “1 To Many”, после чего в правой части окна будет показана связь типа 1:n между соответствующими таблицами. При просмотре связанных таблиц переход по записям осуществляется синхронно, с учётом установленных связей.


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


  1. Создать базу данных Base1.DBC, хранящую информацию со сведения о студентах, группах, курсе и адресе студентов. Для этого создать таблицы: Группа (номер группы, специальность), Курс(название курса, фио лектора, вид отчетности, количество часов), Адрес(номер адреса, район, улица, дом) и таблицу на связь Группа-Курс. Между Адресом и Студентом связь типа 1:1, между Студентом и Группой – n:1,между Группой и Курсом – n:m. В таблице студент добавить поле с номером группы, по которому установить связь с таблицей группа.

  2. Установить временные связи между таблицами, после чего просмотреть через Browse, как установленные связи отображается при перемещении по записям в таблицах.

  3. Создать аналогичную базу данных средствами СУБД Access.



Вопросы.





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

  2. Какие типы индексных файлов существуют в Visual FoxPro и Access?

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

  4. Какие типы связей реализуются в Visual FoxPro и Access?

  5. Что понимается под рабочей областью?

  6. В чём отличие связей один к одному и один ко многим?

  7. Как реализовать связи многие ко многим?



^

ЛАБОРАТОРНАЯ РАБОТА №3




ПОИСК ЗАПИСЕЙ И ОРГАНИЗАЦИЯ ЗАПРСОВ



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


При работе с одной таблицей для перехода к нужной записи в Visual FoxPro существует множество способов. В этой лабораторной работе вы рассмотрите некоторые из них. Для перехода к записи необходимо выполнить следующую последовательность действий для открытой таблицы, находящейся в режиме просмотра – Table-Go to Record. При этом возможны следующие варианты перехода: Top-к первой записи, Bottom-к последней, Next-к следующей от текущей(текущей записью считается запись, на которой стоит курсор), Previous-к предыдущей, Record # - к записи с указанным номером, Locate – последовательный поиск первой записи, удовлетворяющей заданному условию. В диалоговом окне для описания условия поска указывается Scope-область поиска (All-поиск по всем записям, Next+число-поиск от текущей записи указанное число записей, Record+число- поиск от начала таблицы указанное число записей, Rest-поиск от текущей записи до конца таблицы), условие For (поиск записей, для которых выполняется введённое условие) и/или условие While (поиск записей до тех пор пока выполняется введённое условие), определяемых с помощью диалогового окна конструктора выражений. Для продолжения поиска записей, удовлетворяющих условию, в командном окне вводится команда –Continue.

Наиболее часто поиск данных в отдельных и взаимосвязанных таблицах осуществляется с помощью языка SQL, используемого для описания запросов.

Основные команды языка SQL – Select, Insert, Delete, Update, Create, первая из которых используется при организации запросов к базе данных.

В Visual FoxPro для организации запросов имеются удобные инструментальные средства. Выполнив последовательность действий: File-New-Query-New File открывается диалоговое окно для создания запросов. SQL-выражение, создаваемое при работе в конструкторе запросов, сохраняется в файле с расширением .QPR – его можно запускать и редактировать как обычный .PRG – файл.

Окно конструктора запросов состоит из области представления таблиц и отношений между ними, занимающей верхнюю часть основного окна,
и области для записи условия и выводимых в запросе полей, занимающей нижнюю часть окна и включающую шесть вкладок (Fields-выводимые в запросе поля, Join – условие соединения таблиц, Filter – условие выборки, Order By-упорядочение, Group By-группировка, Miscellaneousдополнительные опции запроса). Чтобы добавить таблицу в область представления таблиц, щелкните правой клавишей мыши в любом месте верхней области, и в появившемся меню выберите команду Add Table. В запрос могут входить как таблицы в составе базы данных, так и свободные таблицы. При открытой базе данных также можно выбрать и включить в запрос представления (View). При формировании запроса Вы можете устанавливать отношения между таблицами независимо от наличия индекса. Поскольку Вы просто указываете критерии объединения, Visual FoxPro не требует наличия соответствующих индексов. Очевидно, связывание двух таблиц по полям, не имеющим ничего общего, даст бессмысленный результат.

Вкладка Filter служит для построения выражения, используемого в предложении Where. Для построения сложных выражений можно щёлкнуть кнопку Logical, которая вставит оператор OR. Кнопки Add And нет. Так как AND используется по умолчанию для соединения частей выражения. Причём первые несколько выражений, определяющих условия объединения, редактируются иначе, чем условия дополнительной фильтрации данных, попадающих в результат выполнения запроса. Редактировать их напрямую нельзя. Предложение HAVING добавляется щелчком кнопки Having на вкладке Group By. При формировании условия можно использовать следующие критерии:

  1. Like (похоже) – содержимое поля должно быть похоже на образец (например, «M» похоже на «Москва», «М-город»)

  2. Exactly Like – содержимое поля должно точно совпадать с образцом.

  3. More Than – значение слева больше чем значение справа.

  4. Less Than – значение слева меньше чем значение справа.

  5. Between(между) – вхождение в диапазон.

  6. In – вхождение в множество.

  7. Equal – значение слева равно значению справа.

  8. Is Null(не определено) – проверяет неопределенное(не нулевое) значение. Пустые символьные строки, нули, пустые даты не являются неопределенными, неопределенное значение – это значение, которое не задавалось.

Вкладка Fields позволяет определить, какие поля из таблиц будут включены в результат выполнения запроса. В результат можно включить любые поля из исходных таблиц, а также выражения с использованием функций SUM(), AVG(), COUNT(), MIN(), MAX().

Вкладка Order By позволяет упорядочить выборку по одному или нескольким полям/выражениям, включенным в результат запроса. Нельзя выполнить сортировку по полю, не включенному в список выходных полей.

Вкладка Group By в отличие от вкладки Order By кроме списка полей предлагает набор агрегативных функций – SUM(), AVG() и т.д. На этой вкладке расположена кнопка, добавляющая в выражение SQL предложение HAVING, которое используется для назначения условий фильтрации, которым группа должна удовлетворять, чтобы попасть в результат выполнения запроса.

При работе с конструктором запросов, в основном меню Visual FoxPro появляется пункт меню Query, включающей команды- Add Table (добавляет таблицу в запрос), Remove Table (удаляет таблицу из запароса), Remove Join Condition (удаляет условие объединения таблиц), Selection Criteria (открывает вкладку Selection Criteria), Output Fields (открывает вкладку Fields), Order By (открывает вкладку Order By), Group By (открывает вкладку Group By), Query Destination (выбор направления вывода результатов запроса), View SQL (показывает команду Select, соответствующую сконструированному инструментальными средствами запросу), Comments (для связи комментария с запросом), Run Query (выполнить запрос).

Выбор команды Output Destination из меню выводит диалоговое окно, содержащее варианты различных напрвлений вывода результатов запроса. При выборе Browse (по умолчанию) запрос выводится на экран в виде таблицы, Graph – в графическом виде, Table – выводится в файл DBF, Screen – вывод на принтер или в текстовый файл, Report – вывод в отчет, Label – вывод в этикетку, Cursor – вывод в курсор, то есть временный файл, который можно просматривать, по записям которого можно двигаться в любом направлении, осуществляя новые выборки.

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


  1. Выполнить все возможные варианты перехода к указанной записи.

  2. Осуществить последовательный поиск записей: а) найти студентов, год рождения которых > 1980 и учатся в платной группе, б) найти студентов, дата поступления которых равна заданной. Для продолжения поиска в командном окне набрать команду Continue, для просмотра – Browse.

  3. Создать запросы к базе данных “Сведения о студентах” в FoxPro а) вывести сведения о студентах, год поступления которых в институт равен заданному, б) вывести фамилии студентов и размер оплаты за обучение для студентов, обучающихся платно, в) вывести сведения о студентах, обучающихся платно и средний балл при поступлении которых меньше заданного, г) вывести фамилии студентов в алфавитном порядке, если они поступили в указанный год или имеют указанную дату рождения, д) вывести год и количество поступивших в указанный год студентов, сгруппировав их по году поступления в институт, е) вывести фамилии студентов, поживающих в указанном районе ж) вывести номера групп и фамилии студентов, изучающих заданный курс и проживающих в указанном районе.

  4. Запросы, описанные в пункте 3 создать средствами Access/



Вопросы.





  1. Что понимается под последовательным поиском данных?

  2. Как осуществляется переход к следующей искомой записи при стандартном поиске?

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

  4. Когда в запросах рекомендуется группировать данные?

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

  6. Поясните смысл каждого раздела команды Select, обозначенного цифрами: SELECT 1 FROM 2 WHERE 3 GROUP BY 4 HAVING 5 ORDER BY 6

  7. Возможно ли использование функций в запросах?



^

ЛАБОРАТОРНАЯ РАБОТА №4




ПРОСМОТРЫ, ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ И КУРСОРЫ




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


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

Если говорить упрощенно, просмотр (вид) – это что-то вроде рамки, которая накладывается на вашу таблицу, или способ получения информации в окне. С технической точки зрения вид-это хранимое в базе данных определение инструкции Select с заданными в ней строками и столбцами, которые при следующем вызове должны считываться. После определения вида нанего можно ссылаться так же, как на таблицу. Хотя на экране вид напоминает обычную таблицу, которая постоянно хранится на диске в базе данных, на самом деле это не так. Вид не создает постоянную копию выбранных строк и столбцов базы данных. Если в какой-нибудь инструкции вместо имени таблицы указать имя вида, то выполнится инструкция Select, входящая в определение вида, и после этого создается временная таблица, которая отображается на экране. Таким образом, при ссылке на вид просто выполняется заданная в определении вида инструкция Select. Общий формат команды создания вида или просмотра следующий:

^ CREATE SQL VIEW <имя вида> AS SELECT <формат команды select>

Вид можно использовать для доступа ко всей таблице, части таблицы, нескольким таблицам. Поскольку таблицы, к которым вы получаете доступ, уже определены внутри вида, нет необходимости их повторно упоминать в инструкции Select. Виды позволяют упростить доступ к базе данных. Создав сложный составной вид с множеством предложений, входящих в инструкцию select, вы выполните его так же просто, как вид с самой элементарной инструкцией select. В Visual FoxPro для создания видов можно воспользоваться конструктором представлений (View Designer). В отличие от конструктора запросов конструктор представлений имеет ещё одну вкладку – Update Criteria,так как в отличие от запроса представление (вид) может быть модифицировано. При изменении представления все модификации посылаются в исходную таблицу. Вы можете решить, какие таблицы будут модифицироваться и как именно: Update, Delete, Insert. На вкладке Update Criteria справа от списка Field Name расположены две группы переключателей, где указываются ключевые поля, а также какие поля могут модифицироваться. Последнее различие конструкторов представлений и запросов в том, что при создании представления нельзя назначить направления вывода результатов. Дело в том, что, хотя представление можно использовать в отчётах, оно служит для модификации данных, а не для формирования вывода.

С использованием видов можно создавать параметрические запросы, часто используемые в программах, когда один и тот же запрос выполняется с разными исходными данными, вводимыми, например из формы. Для этого при создании представления вызывается диалоговое окно View Parameters, в котором указываются имена и типы параметров, используемых в части Select-Where. До показа информации из вида параметрам присваиваются конкретные значения, затем запускается команда просмотра вида. Признаком параметра в FoxPro используется вопросительный знак, который указывается до имени параметра в правой части выражения запроса.

Кроме обычных просмотров (локальные виды – View или Local Views) FoxPro поддерживает работу с удаленными просмотрами (Remote Views) – это просмотр данных ODBC источника (типа SQL Server). В данном цикле лабораторных работ сервер баз данных не используется, поэтому работа с удаленными просмотрами подробно не рассматривается. В Visual FoxPro имеется конструктор соединений (Connection). Если данные хранятся в ином, чем DBF формате (в том числе и данные на сервере), то, скорее всего Вы будете обращаться к ним через интерфейс ODBC. Для обращения к данным можно описать параметры соединения и сохранить их в базе данных. Чтобы создать описание параметров соединения используется команда: Create Connection xyz (для сохранения описания нужна открытая база данных).

Курсор – это временный файл, существующий до тех пор, пока не будет закрыт, создавший его просмотр или запрос. В отличие от запроса или вида из курсора данные могут быть выведены в произвольной последовательности, а не только в прямом направлении. В СУБД Access не используются понятия видов и курсоров. При реализации параметрических запросов в поле заданного значения указывается приглашение для ввода параметра, заключенное в квадратных скобках.

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


1. Создать просмотры для базы данных “Сведения о студентах”: а) вывести сведения о студентах, изучающих указанный курс б) вывести фамилии студентов поступивших в институт в указанном году и обучающихся в платной группе. Открыть созданные виды и через них модифицировать разрешённые для модификации данные.

2. Создать параметрические запросы: а) вывести фамилии студентов, поступивших в институт в указанном через параметр году.

  1. Создать запросы а) первого задания и вывести их в курсоры, которые затем просмотреть в обратном направлении (от последней записи к первой).

  2. Создать параметрический запрос второго пункта средствами Access.



Вопросы.





  1. Что такое представление (просмотр или вид)?

  2. Что Вы понимаете под курсором?

  3. В чём отличия просмотра от запроса?

  4. Как создать параметрический запрос?

  5. Чем отличается курсор от вида и запроса?

  6. Для чего используется удаленный просмотр?

  7. В каком случае используется конструктор соединений?



^

ЛАБОРАТОРНАЯ РАБОТА №5




КОНСТРУКТОР ОТЧЕТОВ И ЭТИКЕТОК



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


Отчеты-документы, предназначенные для компактного и красочного представления некоторой обобщающей информации по базе данных. Для создания отчетов можно использовать мастера отчетов и конструктор отчетов. Visual FoxPro предлагает трёх мастеров для создания отчетов – Group/Total Report Wizard-создает отчет с группированием и промежуточными итогами; One-To-Many Report Wizard-готовит отчёт по связанным таблицам; Report Wizard-строит простой отчёт по одной таблице. Каждый из мастеров создаёт прекрасный пример отчёта и демонстрирует некоторые из многих возможностей конструктора отчетов. Каждый мастер строит отчет по шагам, каждый из которых описан в мастере, поэтому работа с мастерами проста и здесь описываться подробно не будет.

Запуск конструктора отчетов осуществляется выполнением следующих действий: File-New-Report-Create.В окне конструктора отчетов появляется меню Report, содержащее команды:

Title/summary-управляет представлением первой и последней полос отчёта;

Data Grouping-позволяет визуально группировать данные для сортированных и индексированных данных. Например можно распечатать список студентов для группы имен, начинающихся с буквы ‘А’, затем с ’В’ и так далее, подобно справочнику;

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

Default Font-определяет шрифт, которым будет выводится каждый вновь создаваемый объект отчёта;

Private Data Session-означает, что Вы хотите иметь независимый указатель записи, положение которого при печати отчета никак не отражается на положении указателя в той же самой таблице для остальных элементов программы. Это позволит, например , просматривать данные по студентам во время вывода отчета на печать;

Quick Report-доступна только для пустого отчета, используется для быстрого создания несложных отчетов;

Run Report – проверка функциональности отчёта не покидая окно конструктора.

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

Title(общий заголовок);Page Header(верхний колонтитул);Detail(полоса данных);Page Footer(нижний колонтитул).

Полоса Title печатается однажды на весь отчет перед всей остальной информацией. Её можно вынести на отдельную страницу, для этого нужно выбрать команду Title/Summary в меню Report и установит флажок New Page.

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

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

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

При работе с отчётом, щёлкнув в любом месте отчета правой кнопкой мыши, не занятом объектами, появится всплывающее меню, содержащее следующие команды: Paste, Preview, Print, Data Environment, Grouping, Help. Для включения таблиц в проектируемый отчет используется, например, команда Data Environment, описывающая окружение данных отчёта.

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

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

Для получения сводной информации из базы данных, предназначенной для вывода на печать, используются отчеты. В Access имеется несколько видов отчетов. Автоотчет – простое средство создания отчетов на основе таблиц или запросов, работающее быстрее, чем мастер отчета. Для его создания выполняется последовательность команд: в Окне базы данных выбрать вкладку Отчеты, нажмите кнопку «Создать», выберите пункт «Автоотчет ленточный» и, указав таблицу или запрос для автоотчета, необходимо нажать на кнопку «Готово». Аналогично создается автоотчет в столбец. Вместо выбора «Автоотчет ленточный» выберите пункт «Автоотчет в столбец».

Просто создаются отчеты с помощью мастера отчетов, который делает пошаговые пояснения при создании отчета.

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

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

Для просмотра созданного отчета на экране в ^ Окне конструктора отчета выбрать пиктограмму Просмотр. На экране появится созданный отчет.

Пример окна конструктора отчета и сам отчет с вычисляемыми полями для приводится ниже:








Для создания средствами конструктора отчета с параметрами используется не таблица, а ранее созданный параметрический отчет. При запуске такого отчета на просмотр сначала появляется диалоговое окно для ввода изменяемого значения (параметра), затем сам отчет. Вид отчета меняется в зависимости от введенного значения параметра.

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

В соответствующих полосах заголовка данных группы нужно разместить надписи и поля, по которым выполняется группировка. Для включения итогов внутри группы в полосе Примечание группы добавляется свободное поле, используя Панель инструментов, и с помощью окна Свойства поля определяются итоговые функции. Вид окна конструктора с открытыми вспомогательными окнами для создания отчета с группировкой по полю Категория таблицы Магазан и подсчета количества магазинов в каждой группе и в городе в целом, и сам отчет приведены ниже:







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


  1. С использованием мастеров отчетов FoxPro создать простой отчет для таблицы, хранящей сведения о студентах; отчет с группированием данных по номеру группы; отчет для связанных таблиц.

  2. Создать отчет, пользуясь конструктором отчетов FoxPro, включив в него все полосы. Выполнить группировку студентов по номеру группы и в алфавитном порядке внутри каждой из групп вывести фамилию, имя отчество и номер группы. Создать вычисляемые поля, подсчитав для каждой группы количество студентов в группе, а также общее количество студентов.

  3. Создать этикетку с помощью мастера отчета FoxPro для вывода сведений о студентах.

  4. Создать отчет, описанный в пункте 2 средствами СУБД Access


Вопросы.





  1. Что Вы понимаете под отчетом?

  2. Какие элементы включает отчёт?

  3. В чём преимущества группировки данных и как функционирует механизм группировки?

  4. Как осуществляется создание вычисляемых полей?

  5. Что такое шапка и резюме отчета?

  6. На что необходимо обращать внимание при выборе формата этикеток?

  7. Что Вы понимаете под этикеткой?

  8. Приведите примеры случаев, когда сначала нужно создать стандартный отчёт, а потом его модифицировать или когда с самого начала целесообразно создавать оригинальный отчёт?

  9. Какие возможности имеет конструктор отчетов при проектировании оригинальных отчётов?



^

ЛАБОРАТОРНАЯ РАБОТА №6




РАЗРАБОТКА ПРОЕКТА И ПРИЛОЖЕНИЯ



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

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

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

Для создания проекта необходимо выполнить последовательность действий: File-New-Project. Конструктор проекта использует шесть вкладок:

All-все компоненты,

Data-только базы данных, свободные таблицы и запросы,

Documents-только формы, отчёты и этикетки,

Classes-библиотеки классов и классы,

Code-программы, библиотеки API и приложения,

Other-меню, текстовые файлы и другие файлы.

Для манипулирования компонентами проекта используются кнопки:

New-создание нового компонента,

Add-добавление ранее созданного компонента в проект,

Modify-редактирование компонента,

Preview(Run,Open,Browse)-предварительный просмотр (выполнить, открыть, просмотреть),

Build-собирает приложение. Расширение файла проекта имя.pjx, приложения – либо App(если приложение работает в среде FoxPro) либо Exe(если создаётся исполняемый файл).

Построитель проекта (Build) имеет опции (Options):

Rebuild Project-обновление проекта,

Build Application-создание App приложения,

Build Executable-создание Exe файла,

Recompile All File-перекомпиляция проекта,

Display Errors-показывать перечень ошибок.

При работе конструктора проектов меню Project включает команды:

Clear Up Project-уничтожение проекта,

Project Info-информация о проекте.

В каждом проекте есть головной модуль-программа, управляющая ходом исполнения приложения. Чаще всего головным модулем является программный файл, файл меню или экранная форма, запускаемая первой при работе приложения. Признаком того, что файл является главным в проекте является чёрная точка слева от компонента проекта. Чтобы установить компонент главным выбирается пункт меню Set Main. Запуск созданного приложения осуществляется командой: DO имя приложения.App/Exe.


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


  1. Создать проект в FoxPro, разместив в него все ранее созданные файлы для управления базой данных, хранящей сведения о студентах, включая таблицы, запросы, отчёты. В качестве главного файла считать меню (которое создать через проект), в котором будут пункты для вывода результатов любого одного запроса, любого отчёта и просмотр одной таблицы базы данных через окно Browse. Для вывода на экран отчёта использовать команду:Report Form имя файла отчёта Preview.

  2. Сгенерировать в соответствии с созданным проектом приложение и запустить его.



Вопросы.



1. Что Вы понимаете под проектом?

  1. Что Вы понимаете под приложением?

3. Какие основные вкладки имеет конструктор проектов?

  1. Как в проекте определяется главный модуль и что это такое?

  2. Какие виды приложений Вы знаете?

  3. Каким образом осуществляется модификация проекта?





Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації