- •Основные понятия
- •1.1.Состав субд
- •1.2. Классификация баз данных
- •1. 3. Архитектура баз данных
- •Глава 2 проектирование баз данных
- •2.1. Этапы проектирования базы данных
- •2.2. Моделирование локальных представлений
- •3.1 Иерархические модели
- •3.2. Сетевые модели
- •3.3. Реляционные базы данных
- •Реляционные основы концептуального проектирования
- •4.1. Нормализация отношений
- •4.2. Проектирование реляционных баз данных (рбд)
- •5. Агрегированные объекты могут быть сведены в одно реляционное отношение в том случае, если те объекты, с которыми связан каждый из них, полностью совпадают (рис.4.13).
- •Упражнения к главе 4
- •Операции над отношениями
- •5.1. Выполнение операций над отношениями
- •На рис.5.1 приведены примеры операций реляционной алгебры над отноше
- •Реляционные языки запросов
- •6.1. Язык sql (Structured Query Language)
- •6.2. Операторы манипулирования данными
- •Поставщики (s)Tаблица 6.1
- •6.3.Выборки
- •Результат: номер поставщикасостояние
- •Результат: номер_деталивес
- •Р6 Шайба Красный 19 Липецк
- •6.4.3Апросы, использующие соединения
- •6.5.Подзапросы
- •6.6. Подзапросы с несколькими уровнями вложения
- •6.7. Коррелированный подзапрос.
- •6.8. Квантор существования. Запрос, использующий exists
- •6.9. Стандартные функции
- •6.10. Использование группировок (group by)
- •6.11. Объединение с использованием union
- •6.12. Многоаспектный запрос
- •6.13. Операции обновления
- •6.14. Представления
- •Упражнения к главе 6
- •Субд foxpro 2.0
- •7.1. Системный интерфейс FoxPro, главное меню
- •7.2. Архитектура субд FoxPro 2.0
- •Типы и размеры полей (в байтах).
- •Поле дат 8.
- •7.3. Основные команды FoxPro 2.0
- •7.4. Создание и редактирование бд
- •Антонов 4
- •7.5. Команды просмотра и редактирования записей
- •7.6. Создание командных файлов
- •Сведения о сотрудниках
- •7.7. Команды управления
- •7.8. Циклы в FoxPro
- •7.9. Построение экранных форм
- •Карта ввода
- •Карта ввода
- •7.10. Работа с массивами
- •Фио Должность Оклад
- •7.11. Построение меню
- •Пример составления меню
- •7.12. Модульное программирование
- •7.13.Изобразительные средства субд
- •7.14. Функции в FoxPro
- •7.15. Работа с несколькими бд, связывание бд
- •7.16. Работа с окнами
- •Упражнения к главе 7
- •Создание базы данных в среде Microsoft Access
- •8.1. Создание и открытие базы данных
- •8.2. Конструирование форм в среде Microsoft Access
- •8.3. Связывание таблиц в Microsoft Access
- •8.4. Запросы к связанным таблицам
- •8.5. Отчеты
- •8.6. Рисунки и другие объекты в среде Microsoft Access
- •Приложение 1 База данных поставок
- •Приложение 2 Список вопросов для повторения учебного материала
- •Приложение 3 Задания для самостоятельного выполнения
- •Список литературы
- •Оглавление
- •Глава 7. Субд foxpro 2.0................................................…….........………… 54
- •Глава 8. Создание базы данных в среде Microsoft Access .........……................88
Пример составления меню
Вуз
Рис.7.12.Схема
меню
74
Программа меню, представленного на рис.7.12, будет следующей:
SET TALK OFF
CLEAR
DEFINE MENU VYZ
DEFINE PAD fac OF VYZ PROMPT 'Факультет' AT 1,10
DEFINE PAD kaf OF VYZ PROMPT 'Кафедра' AT 1,30
DEFINE PAD vixod OF VYZ PROMPT 'Выход' AT 1,50
ON PAD fac OF VYZ ACTIVATE POPUP pfac
ON PAD kaf OF VYZ ACTIVATE POPUP pkaf
ON SELECTION PAD vixod OF VYZ CANCEL
DEFINE POPUP pfac
DEFINE BAR 1 OF pfac PROMPT 'Деканат'
DEFINE BAR 2 OF pfac PROMPT 'Группы'
DEFINE BAR 3 OF pfac PROMPT 'Студенты'
ON SELECTION BAR 1 OF pfac DO P11
ON SELECTION BAR 2 OF pfac DO P12
ON SELECTION BAR 3 OF pfac DO P13
DEFINE POPUP pkaf
DEFINE BAR 1 OF pkaf PROMPT 'Специальность'
DEFINE BAR 2 OF pkaf PROMPT 'Дисциплины'
DEFINE BAR 3 OF pkaf PROMPT 'Кадры '
ON SELECTION BAR 1 OF pkaf DO P21
ON SELECTION BAR 2 OF pkaf DO P22
ON BAR 3 OF pkaf ACTIVATE MENU bkdr
DEFINE MENU bkdr
DEFINE PAD prep OF bkdr PROMPT 'Преподаватели' AT 7,50
DEFINE PAD itr OF bkdr PROMPT 'ИТР' AT 7,65
ON PAD prep OF bkdr ACTIVATE POPUP prep
ON SELECTION itr OF bkdr DO P232
DEFINE POPUP pprep
DEFINE BAR 1 OF pprep PROMPT 'Учебная деятельность'
DEFINE BAR 2 OF pprep PROMPT 'Научная деятельность'
ON SELECTION BAR 1 OF pprep DO P2311
ON SELECTION BAR 2 OF pprep DO P2312
ACTIVATE MENU VYZ
7.12. Модульное программирование
Вызов подпрограмм (модулей, процедур) осуществляется командой
DO <имя модуля> [WITH <список параметров>]
Оператор RETURN подпрограммы возвращает управление вновь в основную программу на команду , следующую за оператором DO.
Для корректной работы с модульной программой важно учитывать способ обмена информацией между модулями. 75
G --- --- DO
A --- DO
B --- DO
C --- END
G
B --- DO
B --- --- DO
E
б а
Рис.7.13. а - схема взаимодействия модулей, б - схема вызова модулей
В FoxPro такой обмен возможен через параметры или через общие данные. Пример: DO ZARPLATA WITH "Иванов", "01/12/89"
Команда DO вызовет подпрограмму ZARPLATA.PRG и передаст ей два параметра: фамилию и дату, на которую производится начисление. Для получения этих параметров в подпрограмме нужно указать оператор:
PARAMETERS <список имен переменных>
Все переменные, определенные в вызывающем модуле, доступны и в вызываемом.. Переменные могут быть двух типов: локальные (PRIVATE) и общие (PUBLIC). Область действия локальных переменных - сам модуль и вызываемые им модули или процедуры. Область действия общих - весь связанный программой комплекс: PUBLIC a, b, с Локальные переменные определяются при присвоении значений:
а=0
PRIVATE x
х=0
A
---
---
DO MOD
---
---
MOD --- ---
RETURN --- ---
DO A --- --- PROC
A --- --- RETURN
а
б
Рис.7.14. а - пример вызова подпрограммы, б – пример вызова процедуры
Недостатком
обращения к подпрограмме ( рис.7.14,
а) по оператору DO
является большое время вызова, связанное
с обращением к внешнему устройству и
открытием файла.
Ч
76
PROCEDURE <имя подпрограммы>
…………………..
RETURN
Процедуры загружаются в память командой
SET PROCEDURE TO <имя файла>
Пример вызова процедур.
Имеется файл сотрудников: SOTR (FIO, DOLG, ZARP, OTD). Необходимо начислить налоги и получить документ (налоги -13% от зарплаты).
SET PROCEDURE TO PFILE
CLEAR
USE SOTR
INDEX ON FIO TO OTR.NDX
GO TOP
STR=1
N =1
DO WHILE .NOT. EOF()
@ STR,1 SAY N pict '99'
@ STR,4 SAY FIO
@ STR,25 SAY DOLG
@ STR,35 SAY ZARP
DO NACH WITH ZARP,NAL
@ STR,40 SAY NAL
SKIP
STR = STR + 1
N = N+1
ENDDO
*
Файл
процедуры
PFILE
PROCEDURE NACH
PARAMETERS Z,Y
Y = Z * 13/100
RETURN
содержит средства создания изображений, из элементов так