- •Основные понятия
- •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.9. Построение экранных форм
Допустим необходимо построить карту ввода
Фамилия
Доложность
Карта ввода
66
Программа карты ввода будет иметь следующий вид
SET TALK OFF
CLEAR
USE SOTR
P = l
V = 'Y'
DO WHILE P = l
@ 5,5 TO 1 2,60 DOUBLE
@ 6,7 SAY "КАРТА ВВОДА"
APPEND BLANK
@ 8,7 SAY "Фамилия" GET FIO
@ 10,7 SAY "Должность" GET DOLGN
READ
@ 14,8 SAY "Ещё добавить? Y/N" GET V
READ
IF V 'Y'
EXIT
ENDIF
CLEAR
ENDDO
CLEAR ALL
Пример экранной формы ввода
Фамилия
студента
Группа
Год рождения
Адрес
Телефон
Карта ввода
SET TALK OFF
USE STUD
P = l
DO WHILE P = l
CLEAR
@ 5,5 TO 12,60 DOUBLE
@ 6,20 SAY "КАРТА ВВОДА"
APPEND BLANK
67
PFAM = FAM
PGRUP = GRUP
PDTR = DTR
PADRES = ADRES
PTLF = TLF
@ 8,7 SAY "Фамилия студента" GET PFAM
@ 9,7 SAY "Группа" GET PGRUP
@ 9,20 SAY "Дата рождения" GET PDTR
@ 10,7 SAY "Адрес" GET PADRES
@ 10,40 SAY "Телефон" GET PTLF
READ
REPLASE FAM WITH PFAM
REPLASE GRUP WITH PGRUP
REPLASE DTR WITH PDTR
REPLASE TLF WITH PTLF
@ 15,10 SAY " Будете продолжать ввод?"
@ 15, col () PROMPT "Да"
@ 15, col () PROMPT "Нет"
MENU TO P
DO CASE
CASE P = l
LOOP
CASE P=2
EXIT
ENDCASE
ENDDO
RETURN
7.10. Работа с массивами
В FoxPro существуют команды, которые позволяют переписывать данные из полей базы данных в массив, и наоборот.
Массивы объявляются с помощью оператора DIMENSION, например, DIMENTION A(3,8), В(4).
1) Работа с одномерными массивами (рис. 7.9):
SCATTER [FIELDS <список полей>] ТО <массив>
Массив заполняется последовательно значениями указанных полей. Если операнд FIELDS опущен, выбираются все поля подряд. Полей выбирается не больше, чем число элементов массива.
Обратная операция (заполнение полей из массива) производится командой:
GATHER FROM <массив> [FIELDS <список полей>]
Значения элементов массива последовательно переписывается в указанные поля. Если операции FIELDS нет, заполняются все поля, начиная с первого.
68
Иванов
Инженер
500
SOTR SCATTER
TO A
Иванов Инженер
500
…….. ………..
…..
…….. ………..
…..Фио Должность Оклад
GATHER FROM A
Рис.7.9. Схема взаимодействия базы данных с массивом
2) Работа с двумерным массивом:
COPY TO ARRAY <массив> [FIELDS <поле>] [FOR / WHILE <условие>]
APPEND FROM ARRAY <массив> [FOR <выражение>] [FIELDS <поле>]
Пример 7.5. Записать в массив результаты сдачи экзамена учениками и вычислить средний балл.
SET TALK OFF DIME
A(10) FOR
i = 1 TO 10 INPUT
A( i ) ENDFOR C
= 0 FOR
i = 1 TO 10 C
= C + A( i ) ENDFOR C
= C / 10 ?
“Средний
балл”,
C