- •Федеральное агентство по образованию рф
- •Глава 1 Понятие и основные функции системы управления базами данных 4
- •Глава 2. Процедурное программирование в среде субд 33
- •Глава 3. Организация поиска информации в базе данных 45
- •Глава 4. Работа с многотабличной базой данных. Связывание таблиц данных 49
- •Глава 5 Основы языка структурированных запросов (sql) 51
- •Введение
- •Глава 1 Понятие и основные функции системы управления базами данных
- •1.1 Система управления базами данных
- •1.2 Модели субд
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •1.3 Главное окно в среде Visual FoxPro
- •1.3 Организация хранения базами данных .
- •1.3.1 Логическая архитектура базы данных в Visual FoxPro
- •1.3.2 Задание типов данных
- •1.4. Современные технологии хранения и поиска.Среда Visual FoxPro Конструкторы Visual Foxpro
- •Окна Visual Foxpro
- •Мастера Visual Foxpro
- •Менеджер проекта
- •1.5 Создание однотабличной базы данных и индексирование
- •1.6 Создание представления данных (Local views)
- •1.7. Создание однотабличных форм Создание экранных форм в Visual Foxpro
- •1.8 Формирование однотабличных отчетов Формирование отчетов
- •Построение отчетов
- •Создание визиток
- •Глава 2. Процедурное программирование в среде субд
- •2.1 Структура команд субд FoxPro
- •2.2 Основные команды работы с таблицей базы
- •2.3 Работа с массивами переменных
- •2.4. Типы команд ввода-вывода
- •Команда вывода блока текста:
- •2.5 Команда if
- •2.6 Команда выбора
- •2.7. Организация цикла
- •2.8. Организация fox – меню
- •2.9. Организация dBase – меню
- •2.10 Организация клавишных меню
- •2.11 Добавление записей таблицы в командном файле
- •2.12 Добавление записей из других таблиц
- •Глава 3. Организация поиска информации в базе данных
- •3.1 Последовательный поиск
- •3.2 Ускоренный поиск
- •3.3 Фильтрация базы данных
- •3.4 Организация процедур
- •Глава 5 Основы языка структурированных запросов (sql)
- •Лабораторный практикум
- •Задания по вариантам для лабораторного практикума
- •Лабораторная работа № 1 Создание и редактирование таблицы базы данных. Упорядочение информации в таблице базы данных
- •Лабораторная работа № 2 Создание однотабличных формы, запроса и отчета в среде субд
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •Лабораторная работа № 5 Работа с несколькими таблицами базы данных. Организация связи между базами данных
- •Лабораторная работа № 6 Создание многотабличных форм. Формирование многотабличных отчетов
- •Лабораторная работа № 7 Организация структурированного запроса (sql) в базе данных. Создание проекта. Построение исполняемого файла
- •Лабораторная работа № 8
- •Примечание
Реляционные базы данных
В сравнении с рассмотренными выше моделями реляционная модель требует от СУБД гораздо более высокого уровня сложности. В ней делается попытка избавить программиста от выполнения рутинных операций по управлению данными, столь характерных для иерархической и сетевой моделей.
В реляционной модели база данных представляет собой централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации со стороны многих пользователей. В строках таблиц часть полей содержит данные, относящиеся непосредственно к записи, а часть — ссылки на записи других таблиц. Таким образом, связи между записями являются неотъемлемым свойством реляционной модели.
Каждая запись таблицы имеет одинаковую структуру. Например, в таблице, содержащей описания автомобилей, у всех записей будет один и тот же набор полей: производитель, модель, год выпуска, пробег и т.д. Такие таблицы легко изображать в графическом виде.
В реляционной модели достигается информационная и структурная независимость. Записи не связаны между собой настолько, чтобы изменение одной из них затронуло остальные, а изменение структуры базы данных не обязательно приводит к перекомпиляции работающих с ней приложений.
В реляционных СУБД применяется язык SQL, позволяющий формулировать произвольные, нерегламентированные запросы. Это язык четвертого поколения, поэтому любой пользователь может быстро научиться составлять запросы. К тому же, существует множество приложений, позволяющих строить логические схемы запросов в графическом виде. Все это происходит за счет ужесточения требований к производительности компьютеров. К счастью, современные вычислительные мощности более чем адекватны.
Реляционные базы данных страдают от различий в реализации языка SQL, хотя это и не проблема реляционной модели. Каждая реляционная СУБД реализует какое-то подмножество стандарта SQL плюс набор уникальных команд, что усложняет задачу программистам, пытающимся перейти от одной СУБД к другой. Приходится делать нелегкий выбор между максимальной переносимостью и максимальной производительностью. В первом случае нужно придерживаться минимального общего набора команд, поддерживаемых в каждой СУБД. Во втором случае программист просто сосредоточивается на работе в данной конкретной СУБД, используя преимущества ее уникальных команд и функций.
Немного истории. В 70-х годах прошлого века для управлениями базами данных наряду с другими СУБД использовался язык программирования dBase. В середине 80-х годов был создан FoxPro. В последующие годы компания Microsoft выпустила версии FoxPro 2.5 for DOS и FoxPro for Windows. Позже появились версии Visual FoxPro. Не смотря на различие версий принципы программирования одинаковы, используется один и тоже язык и подавляющее большинство команд, свойств , методов и событий идентичны.
1.3 Главное окно в среде Visual FoxPro
Главное окно в среде Visual FoxPro – содержит:
Строка заголовка (Caption);
Строка главного меню (System menu);
Панель инструментов (Toolbar);
Рабочая область (Desktop);
Командное окно (Command window);
Строка состояния (Status bar).
При загрузке системы FoxPro активизируются два основных объекта «Главная Строка Меню» и «Окно Command».
Главная строка меню:
File Edit View Format Tools Program Windows Help
Команда главного меню Help – справочная информация :
Команда главного меню Window – управление окнами:
Hide – удалить окно (восстановить: Names of BD)
Clear – очистить экран, окна остаются на экране
Move ^F7 – перемещение окна
Size ^F8 – изменение размера окна
Zoom F10 – распахнуть окно во весь экран
Zoom ^F9 – показать только заголовок окна
Cycle ^F1 – циклический переход между окнами
Color – установка цветов окон
Command ^F2 – переход в командное окно
Debug – вызов окна отладки программ
Trace – вызов окна трассировки программ
View – переход в окно меню View
Меню View(Вид) набор команд меняется в зависимости от открытия объектов, с которыми мы работаем, например таблица, форма, отчет, иначе в меню содержится только одна опция Toolbars(Панели инструментов).
Окно View содержит кнопки включения окон меню: установок <Setup>, открытия файла <Open>; команды: редактирования <Browse>, закрытия БД <Close>, задания дорожек к файлам <Files>; установки режимов работы системы <On/Off>, установки параметров даты, времени и др. <Misc>. В рабочей области (Work Areas) показаны имена открытых баз данных и имена свободных областей. Индексированные БД отмечены точкой перед именем.
Таблица 1. Команды меню View
Команда |
Описание |
Edit (Редактирование) |
Включает режим Edit для просмотра и редактирования записей. В этом режиме поля таблиц отображаются вертикально |
Browse (Просмотр) |
Включает режим Browse для просмотра и редактирования записей. В этом режиме поля таблиц отображаются горизонтально. Строки представляют записи |
Append Mode (Добавление), (Расширенный режим) |
Добавляет пустую запись в конец таблицы, при этом указатель записи устанавливается на ее первое поле |
Design (Конструкторы) |
Отображает окно Конструктора форм (Form Designer), или окно Конструктора отчетов (Report Designer), или окно Конструктора этикеток (Label Designer) — в зависимости от того, что тебе нужно |
Tab Order (Порядок табуляции) |
Определяет порядок обхода объектов в экранных формах при использовании клавиши <Таb> |
Preview (Предварительный просмотр) |
Отображает отчеты на экране такими, какими они будут после печати |
Data Environment (Среда данных) |
Определяет таблицы и отношения, данные из которых будут использованы в экранных формах и отчетах (этикетках) |
Properties (Свойства) |
Открывает диалоговое окно Properties (Свойства), в котором отражены все свойства экранных форм и элементов управления |
Code (Код, программа) |
Открывает окна программ для редактирования методов объектов |
Form Controls Toolbar (Панель элементов экранной формы) |
Открывает панель инструментов для разработки экранной формы во время работы в конструкторе форм |
Report Control Toolbar (Панель инструментов отчета)
|
Открывает панель инструментов для разработки отчета во время работы в Конструкторе отчетов
|
Layout Toolbar (Панель инструментов для макетирования)
|
Используя эту панель инструментов, можно выравнивать элементы управления в формах и отчетах |
Color Palette Toollbar (Панель палитры цветов)
|
Панель палитры цветов позволяет выбирать цвет для элементов управления
|
Report Preview Toolbars (Панель предварительного просмотра отчета)
|
На этой панеле расположены кнопки, которые помогут тебе напечатать отчет, просмотреть его страницы или выйти из режима просмотра
|
Database Designer (Конструктор базы данных)
|
Открывает окно Database Designer (Конструктор базы данных), в котором можно управлять таблицами, видами и отношениями между таблицами |
Grid Lines (Линии сетки)
|
Включает и выключает режим отображения линий сетки
|
Show Position (Показать позицию)
|
При выборе этой опции в строке состояния отображаются позиция, высота и ширина объекта
|
General Options (Общие параметры)
|
Добавляет код в меню во время работы с Конструктором меню (Menu Designer)
|
Menu Options (Опции меню)
|
Добавляет программный код для выбранной опции меню
|
Toolbars (Инструменты)
|
Открывает диалоговое окно Toolbars (Инструменты), в котором отображены все панели инструментов Visual РохРго
|
Работа с базами данных производится через пункты Главного Меню File.
Главное Меню File.
New создать новый файл
Open открыть записанный ранее на диске файл
Close закрыть активное окно
Save сохранить файл на диске (^W)
Save as записать файл на диске под новым именем
Revert убрать изменения, внесенные после открытия файла
Printer Setup установить параметры для печати
Print печать файла
Quit выход из FoxPro.
Основная работа с содержимым баз данных осуществляется через Главное Меню Database – работа с файлами БД,модификация структуры, создание БД:
SetUp работа с индексными файлами, установка фильтров и полей
Browse создание меню и окна редактирования БД
Append From добавление записей в конец БД из другой БД
Copy To – копирование записей из активной БД в другую БД
Sort – сортировка записей с созданием новой БД
Total – вычисление суммы значений в полях БД
Average – вычисление средних значений в полях БД
Count – подсчет числа записей в полях БД
Sum – суммирование числовых данных в полях БД
Calculate – произвести вычисления в БД
Report – работа с созданным ранее файлом отчета
Label – работа с созданным ранее файлом визиток
Pack – удалить помеченные маркером (*) записи в БД
Reindex – обновить индексный файл после внесения в БД изменений (при закрытом индексном файле).
При редактировании текущей записи в БД используются команды верхнего Главного Меню Record.
Record – работа с записями БД
Append – режим автодобавления пустых записей в БД
Change – показать изменения в записях БД после выполнения команд установки фильтров, полей доступа и т.п.
Goto – переход к указанной записи
Locate – поиск записи
Continue – продолжить поиск записи (^K)
Seek – поиск в индексированной БД
Replace – произвести вычисления и замену записей в поле БД
Delete – пометить маркером записи к удалению
Recall – убрать маркер для удаления записей.
Для работы с программой предназначено меню Program:
Do...(^D) - выполнить программу,
Cancel - прервать выполнение программы,
Resume (^M ) - продолжить выполнение программы,
Compile... - компиляция программы,
Generate... - генерировать программный файл,
FoxDoc - работа с документацией,
FoxGraph... - работа с графикой.
При активизации пунктов меню появляются всплывающие меню, описанные ниже.
Таблица 2. Команды меню Program
Команда |
Описание |
Do (Выполнить) |
Запускает программу из диалогового окна |
Canсеl (Отменить) |
Отменяет выполнение текущей программы |
Resume (Продолжить) |
Возобновляет выполнение программы, находящейся в состоянии ожидания. "Довести" программу до такого состояния очень просто — используйте следующую команду |
Suspend (Приостановить) |
Приостанавливает выполнение текущей программы |
Compile (Компилировать) |
Компилирует исходный файл в объектный код |
Run (Выполнить) |
Запускает текущую программу |
Таблица 3. Кнопки панели Form Controls
Кнопка |
Описание |
Select Object (Выбор объекта)
|
Если ни один из элементов на панели Form Controls не выбран, кнопка находится в состоянии Вкл. Это означает, что теперь мышь служит указателем объекта на поле макета экранной формы. Когда же мы выбираем какой-нибудь элемент, данная кнопка принимает свое нормальное состояние Откл и при щелчке мышью в указанном месте макета формы Появится выбранный элемент
|
View Classes (Просмотр классов)
|
Позволяет переключаться между библиотеками классов. После щелчка на этой кнопке мы увидим три доступных опции. Опция Standard (Стандартная) включает библиотеку базовых классов РохРго. Опция ActiveX включает библиотеку классов ActiveX. Опция Add (Добавить) позволяет нам добавить в список панели инструментов любую библиотеку классов, какие только имеются на компьютере |
Label (Этикетка)
|
Создает в форме объект в виде текста |
Text Box (Поле ввода данных)
|
Создает объект в виде поля ввода, при помощи которого можно редактировать значения полей таблиц |
Edit Box (Поле редактирования данных)
|
Те же функции, что и у ТехtВох, но этот элемент очень удобен для редактирования данных большого объема, например полей типа Memo |
Command Button (Кнопка управления)
|
Создает объект в виде кнопки. Это обычная кнопка. При щелчке на ней мышью происходит какое-нибудь определенное нами событие |
Command Group (Группа кнопок)
|
Кнопки управления, объединенные в одну группу (один объект) |
Option Group (Группа переключателей)
|
Создает в форме объект в виде группы переключателей или "радиокнопок". Из этой группы только один элемент может принимать фиксированное значение (Вкл)
|
Check Box (Флажок)
|
Создает в форме элемент в виде флажка |
Combo Box (Раскрывающийся список)
|
Создает в форме элемент управления в виде раскрывающегося списка, из которого можно выбирать значения данных |
List Box (Список)
|
Создает в форме элемент управления в виде списка, из которого можно выбирать значения данных. В отличие от СоmbоВох, в котором отображается только выбранное значение, в данном элементе отображаются сразу все значения в виде списка |
Spinner (Счетчик) |
Создает элемент управления в виде счетчика. Строго говоря, это поле ввода в виде счетчика |
Grid (Сетка)
|
Создает элемент управления в виде таблицы |
Image (Рисунок)
|
Создает элемент управления в виде графического изображения |
Timer (Таймер)
|
Элемент управления таймер. Через заданный промежуток времени инициирует определенное событие |
Page Frame (Вкладки)
|
Создает элемент управления в виде страничного блока с вкладками |
ActiveX Control (OLE Control)
|
Отображает ОLЕ-обьект, хранящийся в поле типа General |
ActiveX BoundControl (OLE Bound Control)
|
Создает ОLЕ-объект |
Line (Линия)
|
Создает в форме объект в виде линии |
Shape (Контур)
|
Создает в форме элемент управления в виде контура |
Container (Контейнер)
|
Создает в форме элемент управления контейнер, который, в свою очередь, также может включать в себя различные объекты |
Separator (Разделитель)
|
Создает в форме элемент управления разделитель |
HuperLink (Гиперссылка)
|
Вставляет в форму объект в виде гиперссылки |
Builder Lock (Запуск построителя)
|
Автоматически запускает построитель (Builder) после вставки объекта в поле макета формы. Если для выбранного элемента управления имеется построитель, будь спокоен — он и запустится. Можно, конечно, вызывать построитель вручную, но эта кнопка позволяет немного сэкономить время, не тратя его на дополнительные манипуляции с мышью |
Button Lock (закрепитель кнопки)
|
Видишь ли, какая штука: после вставки объекта в форму приходится опять "лезть" на Form Controls и снова выбирать следующий элемент управления. А вдруг твоему заказчику взбредет в голову, чтобы в его экранной форме было, скажем, 92 текстовых поля? Вот для таких случаев разработчики Visual FохРго и придумали эту кнопку. После ее включения можно вводить любое количество однотипных элементов управления, не обращаясь к панели Form Controls |
Окно Command – для ввода команд в интерактивном режиме. При работе с меню выполняемые команды дублируются в окне команд (Command), что позволяет контролировать и повторять введенные ранее команды меню.
Строка состояний –
Строка состояния расположена в нижней части главного окна Visual FoxPro. Этот элемент можно условно разделить на две части: область сообщений и индикаторы. Область сообщений используется различными конструкторами для отображения позиции расположенных в них объектах.