- •Информационные системы
- •Пользователи информационных систем
- •Преимущество и проблемы интеграции информации
- •Проектирование баз данных
- •Выбор субд
- •Дата логическое проектирование
- •4 Нормальная форма
- •Операции над рбк
- •Обработка отношений
- •Размещение данных в памяти эвм
- •Язык запросов sql
- •Субд Microsoft Access
- •Субд FoXPro
- •Команды управления
- •Структура системных команд foxpro
- •Индексирование баз данных
- •Index on fio to kadrsex // sex – половая принадлежность
- •If found() // а если найду?
- •Язык vba (Visual Basic Application)
Субд Microsoft Access
Он позволяет
Хранить данные в виде таблиц.
Легко связывать данные, находящиеся в разных таблицах.
Дает возможность работать с данными других источников.
Позволяет устанавливать связь с другими приложениями MS Office (word, excel).
Возможность создавать свои приложения с помощью языка VBA (Visual Basic Application).
Одним словом MA это функционально-полная реляционная СУБД, в которой предусмотрены все необходимые средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации.
МА спроектирован так, что может использоваться как самостоятельная СУБД на отдельном персональном компьютере и так же работать в сети в режиме «клиент-сервер» (это значит, что он имеет надежные средства защиты информации).
Основные объекты МА
Таблица – используется для хранения информации, которая вводится в базу данных. Для каждой таблицы может быть определен первичный ключ, и может быть проведено индексирование.
Запросы – позволяют создавать условия для отбора данных, а так же вносить изменения в данные.
Составление сложных запросов
Создание таблицы по результатам запроса.
Открыть окно запросов и сформировать запрос.
Запрос -> создать таблицу -> (система попросит ввести имя) ввести имя.
Запрос с добавлением полей одной таблицы в конец другой таблицы.
Сформировать запрос в режиме конструктора
Запрос -> добавить -> имя таблицы, в конец которой будут добавляться новые поля
В бланке запросов в строке добавить указываются названия столбцов, в которые идет добавление
Обновление записей с помощью запросов.
Открывается окно запросов в режиме конструктора
перенести то, что меняем
Запрос->обновить
Удаление записей по заданному условию.
Открыть окно запросов в режиме конструктора.
Запрос-> удалить.
Создание вычисляемых полей
Открывается окно в режиме конструктора.
В бланк запросов переносятся поля ФИО и оклад.
Формируются остальные 3 столбца. Налог: [Оклад]*0,13 ; К выдаче: [Оклад]-[Налог] ; Роспись: ‘ ‘
Сохранить результаты в новой таблице
Создать по этой таблице отчет.
Формы
Позволяет создать удобный пользовательский интерфейс для работы с данными. Формы это объект, который в основном предназначен для ввода данных, отображение их на экране или управление работой приложения. Формы можно распечатать.
С помощью форм, в ответ на некоторые события (например, нажатие кнопки) можно запустить макрос или процедуру.
Отчет
Отчет – объект, предназначенный для создания документа, который в последствие может быть распечатан или включен в документ другого приложения.
Макрос – объект, предназначенный для структурированного описания одного или нескольких действий.
Модуль – объект, содержащий программы на VBA, позволяющие разбить на более мелкие действии те действия, которые определяются макросом или обнаруживать ошибки и обрабатывать их.
Субд FoXPro
Архитектура
имяфайла.dbf – файл базы данных
имя.prg – программы, которые работают с таблицами
имя.idx – индексные файлы
Выражение
Константы, переменные функции, которые соединяются арифметическими знаками, скобками.
Знаки отношений (<,>,#,=,=>,=<) могут быть применены к датам, числам и символам.
«Петров А» = «Петров А» - дает истину
«Петров А» = «Пет» - дает истину, потому что сравнение идет по правому операнду, посимвольно
«Пет» = «Петров А» - дает ложь
«==» - сравнение на полное тождество (в этом случае сравнивается и длина слова и содержание).
Все функции разделены на 14 групп.
Математические: синусы, косинусы и прочее.
Строковые
Работа с датами
Date() – выдает текущая дату (системную)
day(<выражение типа date>) – выделение для из даты, т.е. число месяца
month () – 04
year
Функции преобразования данных
Str(<числовое выражение>, [длина], [<количество десятичных знаков>]) – перевод числа в строку. Если не указывать параметры в квадратных скобках, то число остается в том же виде, т.е. не сокращается.
Подпрограммы пользователя
процедуры могут быть
внешние
внутренние
Внешние процедуры
Хранятся в виде отдельного командного файла.
do <имя_файла.prg>
[with <параметры>]
Если в процедуре есть параметры, то они должны быть заданы в ее первой строке.
parametrs <список параметров>
Преимущества внешних процедур:
Программа состоит только из вызовов внешних процедур, т.е. все очень компактно и читабельно
Недостаток: При вызове каждой процедуры идет обращение к внешнему устройству, что является самой длиной операцией, тратится много времени.
Внутренние процедуры
Чтобы сократить количество обращений к внешнему устройству и сэкономить время используются внутренние процедуры, которые записываются в теле основной программы и загружаются в оперативную память вместе с ней.
Если процедуры друг за другом, то они записываются так:
procedure <имя процедуры> [parameters <список параметров>]
: команды
return
Вызывается она точно так же, как и внешняя процедура.
Преимущества: не тратится время на вызов процедуры (большая экономия во времени)
Недостаток: основная программа становится громоздкой и нечитабельной, т.к. все процедуры тут.
Процедурный файл
Несколько внешних процедур могут храниться в одном процедурном файле типа .prg.
Таким образом, основная программа не захламлена процедурами, но они быстро загружаются из отдельного файла.
Примечание: необходимо включить в начало основной программы имя подключаемого процедурного файла:
set procedure to <имя>
В каждый момент времени может быть загружен только 1 процедурный файл, поэтому отработавший процедурный файл надо сначала выгрузить командой:
set procedure to
После чего можно загружать другие проц. файлы.
Пример:
Имеется файл сотрудников с такими полями: ФИО, должность, зарплата и отдел.
Нужно сформировать ведомость по зарплате в таком виде:
(в верхней строчке указывается положение посимвольно)
1 |
4 |
25 |
40 |
50 |
1 |
Иванов |
инженер |
1000 |
|
Вычисление налога и вычисление заработной платы будут оформлены в отдельных процедурах, и объединены в один процедурный файл. Поэтому сначала мы создадим этот процедурный файл.
modi comm PFILE – откроется новое окно, в котором будет создан новый файл PFILE.prg
procedure nachnal
parameter z
nalog = z*0.13
return
procedure nachzarp
parameter z
itog=z-nalog
return
Теперь создаем основную программу
modi comm zarplata
set talk off – не выводятся системные сообщения, чтобы не было мусора в отчетах.
set procedure to pfile – подключаем файлик с процедурами
clear
use sotr
public itog, nalog
go top – установка указателя на первую строку таблицы sotr
str = 3 – номер строки на экране
n = 1 – нумерация фамилий
@1,1 say “ведомость з/п за апрель 2012 отдела”+otdel
do while not eof()
@str,1 say n pict ‘99’
@str,4 sat fio
@str,25 say dolj
@str,40 say zarp
do nachnal with zarp
do nachzarp with zarp
@str, 50 say itog
skip
str=str+1
if str>=24
wait ‘ ‘
clear
str = 3 //очистка экрана и вывод нового экрана
endif
n=n+1
enddo
Команда skip [n] – скачек через n строк, без параметров переход на следующую строчку.
go top – установка указателя на верх
go bottom – установка указателя на низ
go n – установка на n-ю строку.
Команды ввода вывода
Команда @... say … get
@<y,x>
если в команде используются say и get одновременно, то область ввода предъявляется в той же строке, куда выдавалась информация с помощью say.
get позволяет только отобразить область ввода на экране, для записи же значения в память ЭВМ необходимо дать команду read.