1.Таблица. Поле. Запись. Типы полей. Стр-ра файла .dbf. Т-ца это файл, состоящий из заголовка и послед-ти понумерован. блоков они одинак. размера, структуры, кот. содержат д-ые различн. типов. Поле поименован. совокупность д-ых одного типа колонка. Запись понумерован. совокупность д-ых, содержащ. по одному уникальн. представителю из всех полей табл.строка. .dbf формат файла Б.Д Рассмотрим его стр-ру
Заголовок в начале ф-ла в нем содержатся 1.тип ф-ла, 2.дата последн. изменения ф-ла, 3. последней записи какого размера ф-л, 4.смещение, с кот. нач-ся записи блоки 5.размер каждой записи, 6. кодовой таблицы, 7.перечень полей и их св-ств. Для внесения к л. записи нужно в конце ф-ла сделать пустую запись, а затем ее заполнить, т.е. все записи
добавляются в конец ф-ла. Рассмотрим св-ва полей. 1.Имя поля у кажд. поля есть свое уник. имя 2.Тип 3.Размер. Рассмотрим типы полей. 1.Символьный character можно размещать до 254 символов 2.Численныеinteger занимает 4 байта, 10 значащих цифр 3.Вещественный числа с плавающей точкойnumeric, float 8 байт, 4.Двойной точности Double 16 байт,5.Логический Logical 1 байт, либо истина, либо ложь 6.Дата Календарная датаDate 8 байт 7.Текстовый
Memo данные этого типа хранятся в спец. ф-ле с расширением .fpt в самом .dbf есть ссылка на этот ф-л Последовательность работы с табл-ей Открыть табл. это значит поместить е в память. Чтобы начать работу с табл. нужно сначала загрузить ее в память. Область участок памяти, в кот. загр-ся табл. или неск. записей этой табл.Обл. это вроде буфера в памяти. Этот буфер записывается обратно на диск либо через некот. промежутки
времени, либо в конце работы с таблицей в зав-ти от настроек СУБД. Обл. это дополнит копия табл но табл. на диске и в памяти не всегда совпадают, т.к. с табл. делают некот. действия только с копией в памяти, а не на диске. В одной обл-ти может быть открыто не более одной табл-ы, а одна табл. может быть записана в неск. обл-ях. Наши обл-ти нумеруютися. При открытии табл. в некот. обл-ти она табл. получает некот. псевдоним
алиас, по умолчанию присваивается имя файла. В файле .dbf записи расп-ны беспорядочно. Для их упорядочивания сущ-ет 2 операции 1.сортировка, 2.индексация. При 1 создается новый файл с тем же расширением .dbf, с теми же полями и записями, но они расположены уже по к л. принципу н-р, по алфавиту. Индекс - указатель на запись в табл. При 2 рассчитывается по к л. полю число, кот. определяет порядок
расположения записей. По этому индексу формируются двоичные числа каждой записи, кот. уже будут упорядочены. Эти индексы записывается в отдельный ф. 2.Сорт-ка и индексация. Типы инд-ых ф-ов. Тэги. Т-ца это файл, состоящий из заголовка и послед-ти понумерован. блоков они одинак. размера, структуры, кот. содержат д-ые различн. типов. Поле поименован. совокупность д-ых одного типа колонка.
Запись понумерован. совокупность д-ых, содержащ. по одному уникальн. представителю из всех полей табл.строка. Последовательность работы с табл-ей Открыть табл. это значит поместить е в память. Чтобы начать работу с табл. нужно сначала загрузить ее в память. Область участок памяти, в кот. загр-ся табл. или неск. записей этой табл.Обл. это вроде буфера в памяти. Этот буфер записывается обратно на диск либо через некот. промежутки
времени, либо в конце работы с таблицей в зав-ти от настроек СУБД. Обл. это дополнит копия табл но табл. на диске и в памяти не всегда совпадают, т.к. с табл. делают некот. действия только с копией в памяти, а не на диске. В одной обл-ти может быть открыто не более одной табл-ы, а одна табл. может быть записана в неск. обл-ях. Наши обл-ти нумеруютися. При открытии табл. в некот. обл-ти она табл. получает некот. псевдоним
алиас, по умолчанию присваивается имя файла. В файле .dbf записи расп-ны беспорядочно. Для их упорядочивания сущ-ет 2 операции 1.сортировка, 2.индексация. При 1 создается новый файл с тем же расширением .dbf, с теми же полями и записями, но они расположены уже по к л. принципу н-р, по алфавиту. Индекс - указатель на запись в табл. При 2 рассчитывается по к л. полю число, кот. определяет порядок
расположения записей. По этому индексу формируются двоичные числа каждой записи, кот. уже будут упорядочены. Эти индексы записывается в отдельный ф. Типы инд-ых ф-ов и.ф. 1.Независимый и.ф. ф, содержащ. один список набор указателей, кот. сформулирован по к л. принципу. У этого файла расширение .idx. 2.Мультииндексный ф. ф. содержащ. неск. списков указателей. Каждый список наз-ся ТЭГ, т.е. мы формируем в 1-ом ф. набор списков указателей, каждый из кот. формируется
по разл. принципу. Расширение будет .cdx. Если имя ф. совпадает с именем ф. .dbf, то он наз-ся структурным и. ф. и при открытии .dbf .cdx помещается в память, в отличие от инд. ф кот. надо помещать в память доп. командой. В каждый момент времени мы можем работать с одной обл-ю активная, в каждый данный момент в одной обл-ти мы можем работать с одной таблицей, в каждый данный момент в одной таблице мы можем работать с одной записью. 3.Создание, модификация стр-ры таблицы.
Осн. опер. с записями. Для создания табл. FileNewTableпоявится диалог. окно, мы должны указать имя табл. сохранить. После этого появится окно конструктора табл. Table Designer , кот. сож-ит 3 вкладки 1-ая сод-ит поля Fields, 2-ая сод-ит индексы Indexes, 3-я сод-ит параметры табл. Table.Рассмотрим 1 nametypewidthdecimalindexnullГде width размер поля, decimal число знаков после запятой,
index возм-ть создать индекс, null указывает на то, что табл. может содержать пустые сведения. т.к. некот. записи в поля могут быть не определены, н-р, в адресной книге если у человека нет телефона Рассмотрим 2 expressionfunctionordernametypeexpressio n- можем форм-ать выражения, кот. и опред-ют наш индекс, function - ф-ии для создания выражений матем текс. или логич order - порядок индексации Тэгов по возраст. или по убыв name - имя тэга, type - тип тэга
В основном REGULAR. Рассмотрим 3 TABLE св-ва таблицы Рассмотрим осн-ые операции USE команда, кот позволяет открыть закрыть табл. без параметров открывает, а иначе - закрывает SELECT N определяет с какой обл-ти начать работу либо открытие, либо активизация к л. обл-ти USE имя табл. index список инд. ф-ов exclusive доступна только для того, кто создал эту табл. либо sharel совместный доступ - для открытия табл.
MODIFY STRUCTURE изменение табл. Вместо этого названия можно исп-ать по 4 символа modi stru. Можно изменить имя поля, структуру, параметры, т.е. все те же операции, что и при создании табл. APPEND BLANK для добавления пустой записи.Сначала добавляется в обл. памяти, а затем в конец ф. BROWSE открывает окно редактора табл и позволяет вносить данные. BROWSE FIELDS список полей вывод не всех полей, а только некот.
BROWSE NOEDIT запрет редактирования, только просмотр REPLACE имя поля WITH выражение присваиваем активной записи выражение значение GOTO N N номер записи для определения активной записи GO TOP акт. записью делается первая GO BOTTOM акт. записью делается последняя SKIP кол-во записей может быть или - перемещение указателя по табл.
Рассмотрим удаление Первый этап DELETE помечаем запись на удалениечерный квадратик SET DELETED ON записи, помечен. на удаление не обрабатываются, если OFF, то обрабатываются. как бы исчезают RECALL снимаем пометку с удаления Рассмотрим второй этап PACK физич. удаление помеченных на удаление записей замещение, т.е. на место стираемой записи ставится рядом стоящая. Т.О. стирается последняя заголовок1 2 3 4 5 заголовок1 2 3 4
ZAP стирает все записи. 4.Команды сортировки, индексации и поиска. INDEX ON выражение индекса TO имя независимого инд. ф. или INDEX ON TAG имя тэга OF имя мультииндексного ф создает инд. и мультиинд. файлы. SORT TO имя новой табл. ON имя поля по кот. будет сортировка для сортировки табл. Эта команда применима только для активной табл. LOCATE
FOR имя поля выражение locate for nn5-поиск записи CONTINUE продолжение поиска SEEK выражение - если таблица проиндексирована, то исп-ем seek ищет запись по проиндексир. полю FOUND для определения успешности поиска SET NEAR ON если запись не найдена, то указатель устанавливается около наиболее близкой к искомой записи SET NEAR OFF устанавливается в конец ф. 5.Осн. установки состояния.
Управляющий тэг, управл-ий инд. ф. Установки состояния некот. параметры, кот. определяют режим работы FoxPro. Эти установки опред-ся с пом-ю команды SET. SET CENTURY ON OFF определяет показывать или нет век в выражениях типа дата н-р, 04.09.2004 SET CONSOLE ON OFF определяет разрешать или запрещать вывод FoxPro в осн. окно SET DATE TO GERMAN создает формат даты, а т.к. нет русского формата, то используем
немецкий дд.мм.гг SET DELETED ON OFF обрабатывать или нет записи, помечен. на удаление SET DEFAULT TO имя диска - установка каталога или диска, кот. будет использоваться по умолчанию SET EXCLUSIVE ON OFF определяет, в каком режиме будут открываться таблицы on только для того, кто создал, off одну и ту же табл. могут исп-ать неск. пользователей SET FILTER TO выражение вкл. фильтр для работу с теми записями, кот. удовлетворяют нашему выражению
SET FILTER TO откл. фильтр. SET INDEX TO список инд. ф первый ф кот. нах-ся в списке становится управляющим, т.е. он определяет посл-ть отображения ф. на экране или в памяти SET INDEX TO открытие инд. ф. без определения управляющего. При отключении инд. ф. все изменения в табл. все равно заносятся в индекс и потом, при подключении файла индекса отображаются, а не теряются. SET ORDER
TO номер независимого инд. ф. из списка set index или SET ORDER TO TAG имя тэга of имя мультиинд. ф. команда, кот позволяет сменить или задать управл. инд. ф. или тэг по умолчанию упр-ий первый ф. SET ORDER TO все инд. ф. будут открыты, а все записи будут расположены в порядке их расположения на диске SET STATUS BAR ON OFF отображает удаляет строку состояния на экране
SET SYSMENU ON OFF управляет состоянием меню, т.е. при выполнении программы будет меню доступно не доступно SET SYSMENU TO DEFAULT будет доступно стандартное состояние меню 6.Выражения, операторы. Типы данных. Выражение это к л. из эл-ов языка или их совокупность, кот. в результате обработки трансляции, выполнения, вычисления приводит к опред-му зн-ию. Константа это эл-нт программы, кот. принимает ед-ное фикс. зн-ие, т.е. это адрес к л. ячейки в памяти,
кот. в процессе выполнения не может быть изменен. Переменная поименованный эл-нт пр-мы, зн-ие кот. может быть изменено. Массив это поименован. совокупность эл-ов. Индекс массива это указатель на порядк. номер эл-та в массиве. Типы выражений1.символьный будет означать слияние эл-ов, 2.числовой при возведении в степень или , 3.тип дата,
4.логический AND, OR,NOTи, или, не Операции отношений , , ,нер-ва означают не равно Тип переменной в FoxPro указывать не нужно, т.к. он определяется при присвоении этой переменной к л. зн-ия. Рассмотрим области действия переменных PUBLIC имя переменной - Глобальные переменные доступны любому эл-ту пр-мы Локальные 1.PRIVATE и.п. перемен. доступны в пределах данной пр-мы.
2.LOCAL и.п. ни ниже лежащие, ни выше ф-ии обращаться к д-ной перемен. не могут а в PRIVATE могут CHR код ASCII получить символ с указан. кодом STRвыр-ие, длина строки число в набор символов. в строку DTOC - преобр-ие даты в символьное выр-ие в строку VALсимв. выр-ие набор символов в число CTODсимв. выр-ие символы в дату 7.Осн. стр-ры алгоритмов.
Рассмотрим циклы 1.Цикл пока пока действует к л. ус-ие DO WHILE ус-ие вып-ия цикла тело цикла LOOP возвращает в начало цикла EXIT-выходит из цикла могут быть или не быть END DO выход из цикла 2.Цикл со счетчиком FOR имя счетчика текущее зн-ие счетчиканач-ое зн-ие сч-ка TO конечное зна-ие сч-ка STEPшаг сч-ка тело цикла LOOP
EXIT-могут быть или не быть END FOR или NEXT 3.Цикл просмотра записей таблицы перемещение по табл. SCAN FOR логич. выр-ие 1 WHILE л.выр-ие 2 тело цикла LOOP EXIT-могут быть или не быть END SCAN Рассмотрим развилку ветвление IF ус-ие блок команд 1 ELSE блок команд 2 END IF DO CASE CASE ус-ие 1 блок команд 1 CASE ус-ие 2 блок команд 2
OTHER WISE блок команд END CASE 8.Массивы, процедуры и функции. Массив это поименован. совокупность эл-ов. Процедура это обособленная группа операторов, кот. предназначена для вып-ия опред-ой задачи. Для обращения к процедуре нужно использовать спец-ые операторы. Функция это обособленная группа операторов, кот. возвращает ед-ое зн-ие и для обращения к ф-ии спец-ые операторы исп-ать не нужно нужно исп-ать только ее имя
Для работы с массивом надо ему выделить место в памяти объявить массив DECLARE имя массива кол-во эл-ов либо DIMENSION PUBLIC глобальный массив LOCAL объявляет, что данный массив яв-ся локальным Для обращения к процедуре DO имя процедуры WITH список фактич. параметров Процедура может сод-ся в том же ф. что и вызываемая пр-ма, а может и в другом.
Структура процедуры PROCEDURE имя процедуры PARAMETERS список форм. параметров тело процедуры RETURN Проц-ра может быть в проц-ом файле. Для нахождения ее в этом ф. используется SET PROCEDURE TO имя проц. ф. Параметры из головной программы в проц-ру передаются по ссылке Есть некот. участок памяти, где сущ-ет головная пр-ма, в ней нах-ся некая ссылка по ссылке передаем адрес, где нах-ся зн-ие данного параметра и проц-ра может изменить этот параметр значение файла
Для изменения того, что принято по умолчанию каждый параметр надо заключить в круглые скобки это будет передача по значению, след-но, передается не ссылка, а копия, а след-но, проц-ра не может изменить зн-ие. Для обращения к ф-ии имя перем-ой имя ф-ии список фактич. пар-овможет быть или нет Описание ф-ии FUNCTION имя ф-ии PARAMETERS список факт. пар-ов - если список не сущ-ет, то этого параметра может и не быть тело ф-ии RETURN выражение возвращает зн-ие выражения
SET UDFPARMS VALUE REFERENCE передача пар-ов по зн-ию по ссылке Ф-ии в процессе работы АМатематическиеABSвыр-ие абсолютное зн-ие Acosв, asinв, atanв, cosв, sinв, tanв, SQRTв, intв позволяет получать из вещ-го целое не округлением, а отбрасыванием, н-р, 14,914 ВСтроковые 1.Ф-ии, кот. позволяют отбрасывать пробелы ALLTRIM строк. выр-ие отбрасываем нач. и конечн. пробелы
LTRIM с. в. RTRIM с.в. отбрасываем все пробелы справа и слева 2.Поиск набора символов, кот. нах-ся внутри к л. симв-го выр-ия ATс.в.1,с.в.2 ищет подстроку с.в.1 в строке с.в.2 3.Ф-ия, кот. преобразует симв. из одного регистра в др н-р, из больших букв в маленькие LOWERс.в если UPPER с.в. то наоборот 4.Ф-ии, кот. позволяют нам работать с данными типа дата DATA возвращает текущ. системную дату. DAY выр-ие типа дата возвр-ет номер месяца, н-р,
DAYDATE будет равно 18 для 18.09.2003, MONTHв.т.д. номер месяца, YEARв.т.д. возвращает год 5.Ф-ии, кот. позволяют оред-ить число полей и записей в акт. табл. FCOUNT -кол-во полей, RECCOUNT кол-во записей, при этом SET FILTER и SET DELETED не воздействуют на посл. ф-ию 6.Анализ реакции на нажатие клавиши INKEY число сек.сколько ждать до продолжения программы если нажмем и отпустим клавишу то сработает эта
ф-ия определит какая клавиша нажата LASTKEY возвращает код посл. нажатой клавиши пр-ма остановку делать не будет,н-р при нажатии ENTER появится 13 7.Ф-ия, кот. позволяет проанализировать результат выполнения команды поиска FOUND либо истина, либо ложь 8.Ф-ия, кот. позволяет опред-ять текущ. положение акт. записи RECNO возвращает номер акт. записи, EOF возвр-ет истину, если достигнут конец ф-ла таблицы, и сделана попытка выйти за пределы табл. BOF истина, если указатель стоит на первой записи или попытка выйти выше
первой записи 9.Ф-ии для работы с диалог. окном MESSAGEBOX с. н.кн. з.о где с. это параметр сообщения то, что выводим, н.кн. набор кнопок, з.о. заголовок окна, причем 2 посл. параметра не обязательны. 9.Диалоговое окно вывода. Ф-ии для работы с диалог. окном MESSAGEBOX с. н.кн. з.о где с. это параметр сообщения то, что выводим, н.кн. набор кнопок, з.о. заголовок окна, причем 2 посл. параметра не обязательны. Рассмотрим 2 параметр
Он состоит из 3 групп цифр, каждая из кот. отвечает за к л. параметр Данная табл. отвечает за появление значков в окне значкизначения предупреждениекод 48 вопрос32I - информация64 - ошибка16Отвечает за набор кнопок ЧислоНабор кнопок0ОК1ОК и отмена2стоп, повтор, пропустить3да, нет, отмена4да, нет5повтор, отменаОтвечает за то, какая кнопка будет назначена по умолчанию 0 будет 1, 256 будет 2, 512 будет 3 Третий параметр отвечает за то, какой текст будет выведен, если его параметра не
будет, то по умолчанию будет FoxPro Рассмотрим возвращаемые значения ф-ии в зависимости от того какую кнопку нажмем кнопказначениеок1отмена2сток3повтор4проп устить5да 6нет7н-р, ikMESSAGEBOXИнформация,642256,Окно вывода При этом мы получим 10.Объекты, элементы упр-ия. Осн. события, св-ва и методы. Объект-это многократно используемый автономный прог-ый модуль, содержащий связанные данные и процедуры. Объекты реагируют на события, они обладают св-ми и функцио-ют с помощью
методов. Св-во -это данные инкапсулированные в объект длина, высота, ширина. Св-во опред-ет внешний вид объекта и характер его поведения. Событие-это внешнее воздействие, на которое реагирует объект во время работы приложения. Метод-это набор процедур и функций, опре-ых алгоритм функцио-ия объекта каким образом будет реагировать объект. Основные св-ва 1Имя объекта, к которому будем обращаться-
NAME 2Надпись на объекте-CAPTION 3Цвет фона-BACKCOLOR 4Цвет выводимых символов-FORECOLOR 5Высота объекта-HEIGHT 6Ширина объекта-WIDTH 7Расстояние от левого края окна до объекта-LEFT 8Отступ от верхнего края окна до объекта-TOP. Основные методы 1Закрытие таблиц-CLOSETABLE 2Обновление изображений-REFRESH 3Удаление объекта для нас формы из памяти-RELEASE 4Вывод объекта на экран-
SHOW. Основные события 1Однократное нажатие левой клавиши мыши-CLICK 2Двойное нажатие- DBLCLICK 3Нажатие правой клавиши-RIGHCLICK 4Удаление объекта из памяти-DESTROY 5Нажатие клавиши на клавиатуре-KEYPRESS. О синтаксисе написания. Форма - визуальный объект контейнерного типа, который может сод-ть в себе другие объекты. Хранится в файлах с .scx и .sct.
Эти файлы представляют собой таблицы - .scx, и текстовые файлы - .sct , т.е. файлы с .scx по структуре - таблицы .sct-текстовый файл. Для работы с формой и объектом имя формы.имяобъекта.имя св-ва имя метода имя события. Н-р иф.ио.исв значениеприсваиваем какому-то св-ву значение. Создание форм. это диалоговая процедура. FILENEWFORMNEW FILE. Появляется конструктор форм. Сопровождается соот-ей командой в командном окне
CREATE FORM имя формы. Диалоговый способ вывода конструктора форм FILEOPEN имя формы открытие сущ-ей формы. MODIFYFORMимя формы изменение в форме. Рассмотрим конструктор форм. Элементы управления 1LABEL-метка или текстовый объект, может изменяться на стадии проектирования. Элемент управления LABEL предназначен для вывода названия. 2TEXT BOX-поле ввода - элемент, в котором мы можем изменять данные.
Вначале работы в командном окне пишем set default to acp set date to german set deleted on select 10 use atb EXCLUSIVE откр.табл. в эксклюзивном режиме для изменения стр-ры и т.д. set order to tag tagfio 3COMMAND BUTTON-командная кнопка элементы упра-ия COMMAND BUTTONпредназначены для запуска каких-то процедур. 4GRID-таблица-элемент упр-ия предназначен для отображения полей таблицы. 5OPTION GROUP-эл-т упр-ия - переключательпредназначен для организации переключения управ-их тэгов.
Окно св-в. Оно структурно состоит из трех зон 1Перечень объектов включая саму форму 2Перечень св-в и методов каждого из объекта 3Краткое описание активного в данный момент св-ва или метода. Вторая зона состоит из Св-во и методы xvfxПоле вводаНаз-е св-ва значение св-ваТретья строка-это закладки. Закладки позволяют группировать св-ва метода ALLDATAMETHODLAYOUTOTHERперечень всех св-в в алфавитном порядкесв-ва,связанные с даннымисгруппирует методы в алфавитном порядкепозволяет рассмотреть перечень
св-в, связанных с оформлением объектаперечень св-в, которые не вошли в закладки. Вначале выбираем объект, выбираем св-во в перечне св-в, в поле ввода мы можем вносить некоторые сведения. Типы св-в1чтение -св-ва, значения кот. доступны только для чтения поле ввода активного окна не появится, курсор нельзя будет поставить, только читать 2Произвольное редактирования информации появится окно ввода для редактирования информации 3Набор вариантов конечный- строго определенный появится в поле ввода
кнопка , открывается конечный список 4выбор с помощью окна настройки в поле ввода появится -появится окно настройки некоторые варианты, которые мы можем пополнить. Около Поля ввода есть 3 кнопки1x-отказ от введенного в поле значения 2v -подтверждение ввода значения 3fx -вызывает построитель выражения. В зависимости от состояния таблицы, пункты главного меню могут меняться. Пункты меню 1VIEW 1TAB ORDER- позволяет просмотреть порядок обхода, который опред-ся при нажатии
TAB. По умолчанию порядок обхода соответствует порядку создания объектов. Для изменения обхода удерживается TABSHIFT и щелкать мышью по объектам в нужном порядке.2DATA ENVIRONMENT-окружение формы. Каждая форма работает с различным источником данных. Тут можно включить в окружение формы одну или несколько таблиц. 3PROPERTIES-либо открывает, либо закрывает окно св-в.
4CODE-отк.закр. окно прогр-го кода. 5FORM CONTROLS-отк.закр. панель эл-ов упра-ия. 6LAYOUT- для удобного размещения эл-ов в пределах своей формы. 7FORMAT- упра-ие размерами сетки, размещением объектов на форме.2FORM RUN-выполнить форму -загрузка формы на выполнение. Порядок создания формы 1настройка формы 2создание окружения 3размещение эл-ов управления 4сохранение
формы. 1Настройка формы. Сущ-ет св-во NAME-имя объекта, по умолчанию там уже сущ-ет некоторое имя, но мы сами наз-ем NAME FO1. Расположение формы определяем визуально, или используем значение св-в, а именно HEIGHT WIDTH LEFT TOP. Мы должны опред-ть значение св-ва CAPTION заголовок окна формы. Мы можем управлять настройками BACKCOLOR-цвета FONTNAME-изменение шрифта FONTSIZE-размер шрифта.
Форма может иметь рамку и не иметь. Это опред-ет св-во-BORDERSTYLE. Оно имеет 2 значения0-нет рамки форму нельзя изменить в процессе выполнения 3-стандартная рамка можно изменить. Следующее св-во опред-ет вид формы при вызове-WINDOW STATE. Имеет 3 варианта 1NORMAL-форма, в которой мы е спроектировали 2MINIMIZED-в виде свернутой пиктограммы 3MAXIMIZED-в развернутом на весь экран виде.
Для расположения пиктограммы в верхнем левом углу нужно подключить граф-й файл с расширением .ico. Для этого нужно обраться к св-ву ICON, дальше мы можем выбрать любой файл с .ico.и будет другой рис. вместо лисицы. След-ее св-во WINDOWTYPE-хар-р поведения окна. В нем 2 значения 0-MODELLESSокно немодальное 1-MODALокно модальное. Если окно модальное, то форма активная и она не позволяет нам обращаться ни к каким другим формам.
Необходимо, чтобы форма была модальной. След-ее св-во сочетание св-ва и события событие KEYPRESS-реакция на нажатие клавиши. Для работы с этим событием сущ-ет св-во KEYPREVIEW .T, далее обращаемся к событию KEYPRESS, либо к пункту меню VIEWCODE, либо нажатие клавиши CODE. Открывается окно редактирования, в котором имеется пункт слева -наимен-е объекта справа -наиме-е процедуры. OBJECT
FO1 PROCEDURE KEYPRESS. Появится первая строка LPARAMETERS-Этот пар-р говорит о том, что определен код нажатой клавиши и этот код присвоен переменной nKeyCode. Можно обращаться к HELP INKEY-перечень всех кодов клавиши. Н-р shiftendкод 49-закрытие формы. Должно появиться диалоговое окно выбора да и нето закрытии формы. Если выберем закрыть, то она должна быть выгружена из памяти.
LPARAMETERS nKeyCode IF nKeyCode49 ikMESSAGEBOXзакрыть форму, 324256, окно вывода IF ik6 RELEASE THISFORMвыгр.форму.из памяти ENDIF ENDIF. 2Определение среды окружения. VIEWDATA ENVIRONMENT. Откроется окно с перечнем таблиц, то выбери нужную н-р atb, появятся сведения об источниках данных, появится окно окружения. Рис. В окружение можно включать много таблиц.
Настройка завершена, следует закрыть окна data environment, add table. 3Размещение эл-ов управления. Рис. Определим размер формы, хар-р поведения, связали форму с источником данных, чтобы разместить список абитуриентов, используем Label по умолчанию появится NameLabel1LO1. В св-ве captionсписок абит-ов. С помощью св-в определим стиль, размер нашей записи
FONTNAME, FONTSIZE цвет BACKCOLOR, FORECOLOR ALIGMENT 0-слева, 1-справа, 2-текстовая информация будет расположена по центру. 11.Создание класса. Описание методов класса. Создание объекта-экземпляра класса. Описание св-в экземпляра класса. Класс -прогр-ый эквивалент объекта абстракция объекта и хранится этот объект в файле с расширением .vcx. Функции и команды 1Для создания объекта на основе базового класса
служит функция CREATEOBJECTикласса- эта ф-ия создает объект на основе некот. базового класса и возвращает указатель на этот объект 2ADDOBJECTиоб, икл- она добавляет новый объект в контейнер в форму контейнерного типа. 3след. конструкция для упрощения перечня св-в WITH иобъекта .св-во 1 .св-во 2 .св-во n ENDWITH 4след-яя конструкция для создания нового класса, т.е. кроме базовых классов можно создавать свои, с методами и св-ми отличными от обычных, но они создаются
на основе базовых классов. DEFINE CLASS икл AS иродит-гокл Описываем св-ва, события и методы ENDFINE 12. Виды меню. Операторы создания меню. Организация меню Меню -упорядоченный перечень возможностей приложения. Меню опред-ет после-ть и порядок работы с приложением. Меню бывает 2-х типов 1горизо-ое меню главное, системное 2вертикальное ниспадающее.
Гориз-ые пункты меню наз-ся PAD-пункты. Вертикальное меню наз-ся POPUP-меню, а пункты-BAR-пункты. Как создается меню и е стр-ра Главное меню есть всегда. Сущ-ет 3 этапа меню 1Объявление 2Описание 3Активизация. 1объявление меню-DEFINE MENU именю. 2описание аопределение составляющихкакие пункты должны быть, порядок ихбопр-е реакции составляющих на выбор. 3Акти-я меню-
ACTIVATE MENU именю. После этого обязательно должна быть команда-READ EVENT-работает команда обработки событий, отслеживаниеона не относится к организации меню. Создание меню в пользовательском окне DEFINE MENU именю0 уровень меню, 0 гл не 0 вложенное BARговорит о том, что меню имеет св-ва системного меню IN WINDOW ипольз-гоокна опред-ет в каком окне будет меню
FONT ишрифта STYLE истиля screen имя главного окна VFoxPro msysmenu имя системного меню VFP. След-ий оператор, позволяющий описать каждый пункт системного меню-DEFINE PAD имя PAD пункта OF и меню 0 PROMPT текст пункта PAD меню определяем текст этого пункта. Кол-во и порядок расположения пунктов опред-ся кол-ом и порядком расположения этих операторов. Определим реакцию на выбор пункта меню-
ON SELECTION PAD имя PAD пункта OF имя меню 0 КОМАНДА которая должна быть выполнена при выборе к-н пункта меню. Для вызова ниспадающего меню ON PAD имя PAD пункта OF имя меню 0 ACTIVATE POPUP иниспадм1. Объявление ниспадающего меню DEFINE POPUP инм1 Описание каждого пункта DEFINE BAR номер пункта OF иниспам1 PROMT текстBAR-пункта.
Опре-ие реакции на выбор пункта ниспадающего меню ON SELECTION BAR номер пункта OF иниспам1 команда которая д.б. выполнена при выборе пункта меню. ON BAR номерп OF иниспам1 ACTIVATE POPUP иниспадм2. можно сделать меню ещ большего уровня вложенности После меню указывается команда, которая запускает обработчик событий- READ EVENTS. Когда больше не надо отслеживать события пишется
CLEAR EVENTS этот оператор указы-ся внутри описания меню и после е выполнения работа меню прекращается и управление передается оператору, который идет после read events. Т.о. команда read events должна быть одна во всей проге. 13.Объект GRID. По умолчанию- NAMEGRID1GRO1 COLUMNCOUNT-14. 2-й столбец-это что было, а 3-мы изменили. Появится 4 столбцаCOLUMN, у каждого заголовокHEADER и содержаниеTEXT
COLUMN1CO1HEADER1CO1HTEXT1CO1TCOLUMN2CO2 HEADER1CO2HTEXT1CO2TCOLUMN3CO3HEADER1CO3 HTEXT1CO3TCOLUMN4CO4HEADER1CO4HTEXT1CO4T Для опред-ти присвоим каждому значение2-й стлб. Необ-мо установить связь объектасетка с таблицей. Для этого используем св-во объекта - сетка RECORDSOURCE, выбираем табл. atb. Надо установить связь му колонками и полями таблицы св-во
CONTROL SOURCE. Появится список полей нашей таблицы, выбираем как угодно CO1atb.nn CO2atb.fio CO3atb.rt CO4atb.dr. Мы можем опре-ть размер столбца с помощью WIDTH или можно мышкой. Дальше мы будем работать с формой Чтобы обратиться к любому объекту, содержащемуся на форме пишут так FO1.GO1.CO1.CONTROLSOURCEatb.nn. Для любого столбца опред-ют заголовок через св-во
Captionзаголовок. CO1HNN CO2HФИО CO3HРОСТ CO4HДата рождения. Предположим изменяем в какой-то строке фамилию н-р, было на А меняем на Я для того, чтобы все оставалось в отсортированном виде надо обновить содержимое таблицы для этого используем SKIP. Надо сделать нужный столбец активным VIEWCODEили кнопку CODE на панели инст-ов. Появятся 2 окна
OBJECT CO2TPROCEDURE. Там список методов, нас будет интересовать событие фокуса LOSTFOCUS потеря фокуса, курсор перемещ-ся в др. столбец. select 10 Skipпереход на одну запись чтобы сохранилась сортировка FO1.GO1.REFRESH обновление сетки на экране. Чтобы случайно не пометить записи на удаление надо убрать столбец с пометками на удаление. У сетки есть св-во
DELETEMARK по умолчанию истина, а если хотим ложь, то добавляем .F, тогда маркеры не будут показываться. Переключатели. Только активный переключатель из всех групп перекл-ей OPTIONGROUP BUTTON COUNT 3кол-во перекл-ей. Потом сразу появятся объекты группа контейнерного типа, в ней появятся 3 перекл-ля. Имя старое Имя новое CAPTION
OPTIONGROUP1OPT GO1OPTION1OPT O1По фамилииOPTION2OPT O2По датеOPTION3OPT O3По ФИОдатаЗатем надо написать код, чтобы эти кнопки работали. Сначала объект надо активизировать выберем нужную кнопку. VIEWCODE либо кнопку CODE и потом перейдем к окну кода, где появится 2 окна OBJECT OPTO1 PROCEDURE CLICKнажатие левой клавиши мыши.
Описываем это событие select 10 set order to tag tagfio FO1.GO1.Setfocusвернуться к объекту grid FO1.GO1.Refresh обновление, будет индексирована по фамилии. Аналогично для др. 2-х кнопок. Один из вариантов, устан-ем по умолчанию индексацию по ФИО при закрытии формы OBJECT FO1 PROCEDURE DESTROY SELECT 10 PACKфиз-ое удаление записей помеченных на удаление
SET ORDER TO TAG TAGFIO. Командные кнопки COMMANDBUTTON. Появятся объекты NAMECAPTIONCOMMAND1CBO1ДобавитьCOMMAND2C BO2УдалитьCOMMAND3CBO3поискСв-во PICTURE-с его помощью выбрать файл с графическим изображением. И для ненажатой кнопки, и для нажатой, и активной и т.д. Исполь-ся для этого св-во DOWNPICTURE-картинка на нажатой кнопке
DISABLEPICTURE-для активной. Для добавленияVIEW-CODE. OBJECT CBO1 PROCEDURE CLICK SELECT 10 ikmessagebox Добавить строку, 324256, добавление IF ik6 append blank endif FO1.GO1.Setfocus FO1.GO1.Refresh. Для удаления OBJECT CBO2 PROCEDURE CLICK SELECT 10 ikmessagebox Добавить строку,
324256, добавление IF ik6 delete endif FO1.GO1.Setfocus FO1.GO1.Refresh. Когда нажмем на 3-ю кнопку появится форма, объект для ввода текста и 2 кнопки OK и ОТМЕНА. Команда загрузки формы DO FORM ифор. С помощью кнопки OK организуем поиск. Если индексация по фам-ии в окошке вводим фамилию и обрабатываем. 14.Блокировка при работе в сети. Виды блокировки.
Блокировка таблицы и записи. Возможность работы в локальной сети Рис. Раб. станции в режиме файл-сервер-каждая из раб. станций обращается к таблице на сервере и перекачивает ее к себе по сети и помещает в оператив. память своей станции, производит вычисление и после этого в измененном виде опять переходит к серверу, т.о. сервер отвечает только за сохранность файла, не интересуяст тем, что это зв файл. Для разрешения проблем совместного доступа к табл. на сервере есть 2 способа 1.блокировка,
2. Буферизация. 1.полная блокировка -запрещается чтение, запись и изменение структур. Если рабочая станция РС захватила таблицу на сервере, то ни одна РС не может читать, записывать и изменять, произошла блокировка. Кто первый захватил таблицу, тот и работает с ней доступ в таком случае наз-ся монопольным кто первый захватил, тот и работает. 2.блокировка изменений запрещается запись, изменение структуры, наложение
блокировки со стороны др-х станций, чтение разрешается, т.е. если РС1 захватила таблицу, то все остальные могут просматривать таблицу, но изменить не могут. Осуществление полной блок-ки set exclusive onoff, если on-все таблицы будут открываться в монопольном режиме. В монопольном режиме необходимо открывать таблицу для каких-то операций. Если необходимо изменить структуру modi stru, помеченные на удаление pack, zap-удалить, reindex восстановить
индекса. Для открытия табл. в моноп. режиме use имятабл. exclusiveблокируем таблицу и она становится закрытой для др-х пользователей. Для блок-ки изменений открыть в разделяемом режиме set exclusive off или Use имя табл. shared в таком режиме можно установить частичную блок-ку. Можно блок-ть всю таблицу, а можно какую-то записьчастич-я блок-ка. Flock-осущ-ет попытку блокир-я всей табл если она успешная, то .
T если не успешна, то .F можно осущ-ть только чтение, т.к. она кем-то заблокирована. Для определения заблокирована ли таблица isfloced, если блокир-на, то .T если не блок-на, то .F. Для разблокировки таблицы Unlock, если моноп. режим, то команда unlock ничего не сделает. Надо закрыть и заново открыть. Возможна частичная блок-ка, т.е. блок-ка одной записи
Rlock-блокирует текущую запись.T блок-ка удалась, .F не удалась, rlock0-блокируем заголовок таблицыдр. пользователи не могут добавлять запись в табл. 15.Буферизация при работе в сети. Виды и варианты буферизации. Возможность работы в локальной сети Рис. Раб. Станции в режиме файл-сервер-каждая из раб. станций обращается к таблице на сервере и перекачивает ее к себе и помещает в оператив. память своей станции, производит
вычисление и после этого в измененном виде опять переходит к серверу. Сервер отвечает за сохранность файла. Для разрешения проблем совместного доступа к табл. на сервере есть 2 способа 1.блокировка, 2. Буферизация. Буферизация-все выполненные изменения сохраняются в опер. памяти раб. станции явным образом, происходит управление записью изменения на сервере. Виды буф-ции 1.только текущая запись -буф-ция одной текущей записи,
2.буф-ция таблицы -осущ-ся буф-ция всей таблицы. Сущ-ет 2 варианта выполнения буф-ции1пессимистическая буф-ция -запрещается доступ к записям, которые редактируют др-ие польз-ли. 2оптимистическая -запись можно редактировать и в др-х сеансах работы. Пессимистич-я буф-ция первой записи запись блок-ется на время редактир-я и освобождается только при переходе на новую запись. Все изменения происходят в памяти, но можно отказаться от этого, для этого
сущ-ет ф-ция tablerevert Оптимист-я буф-ция первой записи позволяет редактир-ть запись в др. сеансах работы и блокирует запись только при сохранении данных на сервере. Это происходит когда явным образом сбрасываем данные с буфера данных из памяти на сервер tableupdate. При выполнении этой ф-ции может возникнуть конфликтная ситуация, также можем отказаться от изменений. Пессимест-я буф-я таблицы блокируются все записи, но обновление на сервере происходит только явно по
команде tableupdate-мы блокир-ем таблицу, а изменения происходят в памяти, в буфере. Если мы хотим отказаться от изменений tablerevert. Оптим-я буфер-я таблицы позволяет редактировать любые записи и в др-х сеансах работы и др-е пользователи могут ее редактир-ть. Изменения происходят при сбрасывании данных на сервер по команде tableupdate , а конфликт переносим на более позднее время. Отменить изменения можно ф-цией tablerevert.
Для изменения режима буфер-ции set multilocks on. Осущ-ние режима работы буф-циипрограм-й способcursorsetpropbuffering, режима-ф-ция возвращает логич. значение. Если буф-ция прошла успешна, то .T если нет, то .F. Номер режима буф-ции 1.буфер-я не используется, 2.пессимест-я буф-я записи, 3. Оптимист-я буф-я записи, 4.пессимест-я буф-я таблицы,
5. Оптим-я буф-я таблицы. В форме можно осущ-ть визуально в прцессе проектирования формы 4 св-ва buffermode- она работает только для табл. в нескольких режимах. Режимы 0-записи таблицы блокируются вначале редактирования и происходит разблокир-е при переходе на нов. запись, 1-пессим-я буф-я всей таблицы, 2-оптим-я буф-я всей таблицы. Для работы с каждой таблицей, можно установить буф-цию для каждой таблицы view data environment появятся
все таблицы, которые в окружении, можно обратиться к соответ-щему объекту cursor1, cursor2 и будет св-во buffermodeoverride. Параметры 0-буф-я не используется, 1-буф-я определяется св-вом форм buffermode, 2-пессим-я буф-я записи, 3-оптимист-я буф-я записи 4-пессим. буф-я табл 5-оптим-я буф-я табл. Программная блок-ка. Как ее организовать присвоим для каждого пользователя условный некоторой глоб-
ой переменной tnws. Создаем некоторую общую табл gtb.dbf-в ней сод-ится список всех таблиц, всех индексных, мультиинд-х файлов. В таблице есть поля 1-е поле NTB-содержаться имена таблиц, 2-е полеNWS-записываются какая раб. станция обратилась к той или иной таблице. Это же поле мы вводим во все табл-ы нашего приложения. Gtb.dbf в раб. обл-ти 100, atb.dbf-10 обл-ть. Открываем каждую таблицу use имя табл. shared в разделяемом
режиме. Пример создадим прогу, которая позволит осущ-ть блок-ку отдельной записи, внести свед-я, к-ой польз-ль пользуется этой заисью. Sw.F. Do while sw.F. If rlock.T.если блок-ка записи успешна, то надо внести нашей раб. станции, к-ая осущ-ет блок-ук этой записи Replace NWS with tnws Sw.T. Elseв противном случае, если попытка блок-ки явл-ся неудачной если заблокирована запись какой-то станцией, мы можем посмотреть кто это
Lnзапись блокирована станциейstrnws Immessageboxln, 485256, блокировкабудет 2 кнопкиповтор и отмена значение будет присвоено im if im2отмена-не хотим блок-ку exit endif endif enddo if sw.T.если блок-ка удалась, редактирование записи, после завершения ред-я мы обнуляем поле replace nws with 0 unlock endif Если мы хотим блокировать всю табл. sw.F. do while sw.
F. if flock.T.блок-ка всей табл если блок-ка удачна, то select 100 locate for alltrimntratbпредполагаем, что она не индексир-на и ищем таблиц блок-ка записей replace nws with tnws разблок-ка записей sw.T. elseесли блок-ка не удалась select 100 locate for alltrimntbatb lnтаблица блокирована станциейstrnws immessageboxln, 485256, блокировка if im2 exit endif endif select 10 enddo этап анализа if sw.T. редактир-е табл. select 100 locate for alltrimntbatb блок-ка записи replace nws with 0 разблок-ка
записей select 10 unlock endif 16.Обмен данными СУБД и excel.Осн-е методы и объекты Возможность технологии связывания и внедрения OLE. Acpatb.dbf, aLwb.xls, aLvd.doc. wb.xls есть 3 раб. листа L1, L2, L3. Createobjectимя класса-создать объект, application. Коллекция-это связанная Excel может содержать открытую коллекцию книг.
Объекты workbooksимя файла-коллекция открытых одновременно книг. Worksheletsимя листа-коллекция всех рабочих листов в одной книге. Rangeдиапозон ячеек, rangeA1.Rangeлевая верхняя границаправая нижняя граница. Cellsстроки, столбца-объект ячейка. Методы open-открыть, activate-активизировать какой-то объект, clear-очистить какой-то диапозон, save-сохранить какой-то объект, close-закрыть какой-то объект, файл, quit-
выход, release-очистить память от приложения, выгрузить из памяти. Atb.dbf NN,FIO,DR,RTрис. таблицы Данные из таблицы перенести в EXCEL Select 10 Use acpatb.dbf создать объект для этого вводим перем. mobcreatobjectexcel.application выбрать прил. excel обеспечиваем видимость нашего прил. mob.aplication.visible.T. открываем конкретный фаил mob.workbooksALwb.xls активируем конкретный рабочий лист mob.workbooksALwb.
xls.worksheetsL2.activ ate далее присваеваем перем. имя нашего рабоч.листа lsmob.workbookswb.xls.worksheetsL2 теперь можем перенести первые 3 записи, для этого организуем цикл for i1 to 3 goto i for j1 to 4 ipfieldj ls.cells2i,jip next очистить блок ячеек ls.RANGEA6.D8 CLEAR GOTO 6 установить текущую запись ls.RANGEA6NN ls.RANGEB6FIO ls.RANGEC6DR ls.RANGED6RT MESSAGEBOXFINISH mob.workbookswb.xls.save сохраняем mob.workbookswb.
xls.close закрываем mob.application.quit release.mob выгружаем прил. из памяти use RETURN 17. обмен данными СУБД и word.Основные методы и объекты Создам шаблон открываем word-ий фаил,затем пишем заголовок по центру Список студентовпо центрурис Объекты dokuments коллекция открытых док-ов dokuments иф -опред. 1 конкретный док-т в прил. Selection-текущий выделенный объектдля нас текущая строка homekey6-метод
с помощью кот. мы можем переместится в начало файла homekey5-в начало строки endkey5-конец строки movedown5, числострок-перемещаемся на указ-ое число строк вниз moveup5,чсвверх moveleft1,чс-на указ. число столбцов влево moveright1,чс-вправо typetexttext-вносим набор символов delete1,чз-удаляем указ. число знаков endkey5,1-выделить ячейку delete1,1 удалить выд-ую ячейку homekey10-переносим курсор на первый столбец текущей строки homekey9-на первую строку vd.doc создадим фаил pvd.prg select 10 use acpatb.dbf mobcreatobjectword.
applecation mobapplication.visible.T. mob.documents.openALvd.doc mob.documentsaLvd.doc.activate mob.selection.homkey6 mob.selection.endkey5 mob.selection. moveright1,1 mob.selection. movedown5,1 for i1 to3 goto i for j1 to 4 mob.selection.endkey5,1 mob.selection.delete1,1 ipfieldsj if j1 lipstr ip. end if if j2 lip ip endif if j3 lipdtoc ip. endif if j4 lipstrip 4,2 endif mob.selection.typetextlip mob.selection. moveright1,1 next mob.selection. movedown5,1 mob.selection.homkey10 next goto6 mob.selection.
endkey5,1 mob.selection.delete1,1 mob.selection.typetextstrNN mob.selection. moveright1,1 mob.selection.endkey5,1 mob.selection.delete1,1 mob.selection.typetextstrFIO mob.selection. moveright5,1 mob.selection.endkey5,1 mob.selection.delete1,1 mob.selection.typetextdtocDR mob.selection. moveright5,1 mob.selection.endkey5,1 mob.selection.delete1,1 mob.selection.typetextstrRT,4,2 messageboxfinish mob.documentsALvd.doc.save mob.documentsALvd.doc.close mob.application.
QUIT release.mob use return Б.Д-это сов-ть спец-ым образом организ-ых данных хранимых в памяти выч-ой сис.и отображ. Состояние объектов и взаимосвязь в опред-ой предметной обл. Модель представления данных-иерархич-ая структура хранимых в Б.Д МОДЕЛИ1Иерархич-ая 2Сетевая 3Реляционная 4Постреля-ая 5Многомерная 6Объектоориентированная Преимущества централиз-го управления данных. 1Сокращение избыточности 2Устранение противоречий 3Общий
доступ к данным 4Соблюдение стандартов 5Ограничение на набор данных и обеспечение их безопасности 6Целостность данных Централиз. хранение сведенийтаблица Др. вид хранения этой инфор-ии в виде 2-х таблицтаблица Рассмотрим архитектуру инфор-ой сис.Она состоит из 2-х частей 1Комп-ая сеть 2Распред-ая Б.Дакорпоративная бперсональная В сети должен быть сервер Сервер- 2 вида обмена данных1Фаил-Сервер 2Клиент-Сервер 1 рис
При организации работы Ф-С польз-ой рабочей станции хочет получить инф-ию. По запросу польз-ля сервер отправ-ет ему сразу все таблици и обработка идет на машине польз-ля и потом вс пересылается обратно на сервер в новом виде след-но сеть на 90 занята бесполезной инф-ией. Такой вариант можно использовать если в сети 10-ки польз-ей. 2рис Польз-ль отправ-ет запрос на Сервер и вся обработка происходит на сервере и польз-лю отправ-ся
рез-ат след-но нагрузка на сеть мин-ая. Такой вариант позволяет включать в сеть 10-ки польз-ей. Для создания и управ-ия персональными Б.Д сущ. спец-ые прогиACCESSFOXPROPARADOXCLIPPERCLARION DBASE. Корпоративных Б.Д сущ-ет много MICROSOFT SQL SERVER ORACLE SQL SERVER Варианты организ-ии работы 1Комп-Серверсод-ит корпор-ую и персон-ую Б.Д 2Комп-Сервер на кот-ой нах-ся компорат-ые
Б.Д и персон-ые компы, на кот-ых есть персон-ые Б.Д 3Несколько компов-серверов с распред-ой корпрат-ой Б.Д и несколько персон-ых компов с несколькими персон-ми Б.Д. 18. Классификация СУБД. Классиф-ия сис. управ-ия Б.Д 1Полнофункц-ие сис. управления Б.Д 2Серверы Б.Д 3Клиенты Б.Д 4Средства разработки прог работы с Б.Д рассмотрим 1DBASE
VISUAL FOXPRO PARADOX CLIPPER CLARION ACCESS Они имеют разный интерфейс и могут создавать и модифиц-ть Б.Д. Все операции работы как в корпор-ом так и в интерф-ом режиме мы можем создавать таблици изменять сост-ть отчты и т.д. 2Предназначены для организации центров обработки данных в сетях. Хранят и обрабатывают инф. в табл. Они получ-ют запрсы, обрабатывают их и потом выдают рез-ат MICROSOFT SQL ORACLE SQL SQL BASE GUPTA NETVARE SQL 3Клиенты-это те проги которые работают на рабочих
станциях. Это могут быть полнофункц-ые Б.Д, электронные табл. txt процессоры. 4Клиентские проги, сервер Б.Д, пользоват-ие приложения VISUAL C POWER BUILDER, для серверов VISUAL BASIC CLIPPER DELPHI, для клиентов Полнофун-ие СУБД-для польз-их прилож-ий По характеру использ-ия СУБД делятся на 1Персональные 2Многопользовательские 1Предназначены для создания
персон-ых Б.Д и приложений работающих с ними они могут выступать в роли клиентской части. 2Они вкл-ют сервер Б.Д и клиентскую часть SQL SERVER, INFORMIX Клиентская часть может исполь-ть 2 вида языка чтобы получить данные сервера а QBE- язык запроса по образцу он предназначен для описания логич-ой струк-ры данных б SQL- струк-ый язык запроса предназ-ен для монипулир-ия данными.
Позволяет вносить, изменять и т.д. данные. 19. Низкоуровневые фун-ии СУБД. Транзакции и св-ва транзакции. Низкоуровневые фун-ии СУБД 1Управ-ие данными диске 2Управ-ие буферами опер-ой памяти 3Управ-ие транзакциями 4Введение журнала изменений в Б.Д 5Обеспечение целостности и безопасности Б.Д 1Осущ-ет Б.Д используя все возможности файловой сис которая реализ-на на любом конкретном компе.
2СУБД помещает в ОЗУ всю таблицу или часть е,т.е. обработка и изменения в таб-це происходит в буфере, а потом явно или нет изменнная инф-ия сбрасывается обратно на диск. 3Транзакция- это не делимая послед-ть операций над данными имеющая начало и конец. Если бы хотя бы в какой-то части транзакция не выполняется, то она полностью отменяется. Происходит отказ и данные восстанавлив-ся в том виде в каком были.
Св-ва транзакции аАвтомарность-вып-ся все операции или не вып-ся ни одна. бСериализуемость-это обоз-ет отсут-ие влияния друг на друга транз-ии вДолговечность- чтобы не произошло с нашей сис. все данные транз-ии сохран-ся. 4ещ наз-ся журнализ-ия .Журнал Б.Д это часть самой Б.Д либо особая Б.Д она хранит все изменения которые произошли в основной Б.Д. Простым польз-ям эта инф-ия не доступна. Она доступна только администратору
Б.Д это лицо или группа лиц которые заним-сяапроектир-ем структуры Б.Д бсоздание Б.Д всопровождение Б.Д. 5Целостность Б.Д- это св-во Б.Д содержать полную непротиворечивую и адекватную инф-ию о некоторой предметной обл-ти. Для безопасности сущ-ют различ-ые уровни доступа к данным, право любого уровня, если надо устпнав-ются пороли или шифрование любого уровня. 20.Варианты функционирования локальной
СУБД. Локальные инф-ые сис. 1Полная СУБД 2приложение и ядро СУБД 3независимое приложение 1Происходит работа в режиме интерпритация. Простота разработки приложения, т.к. доступны все средства СУБД -99 СУБД- английские, это плохо потому, что многие люди не понимают языка т.к доступны все средства СУБД, то любой польз-ль тоже имеет доступ к изменению приложения и структуры табл
Уходит время на трансляцию любой команды. 2В память загруж-ся только ядро СУБД, а полбз-ль работает только с изолир-ым приложением. Но все равно польз-ий режим интепрт-ии след-но больше занята память и уходит больше времени на компиляцию команд.интерфейс уже для нас недоступен работает интерфейс приложения 3Создатся независимый исполняемый фаилкомпилятором, в котором вкл-ны все нужные фун-ии и данные и который имеет структуру, которая нужна
для конкретной ОС. Скорость обработки и уровень безопасности выше. Но уже нельзя использовать все возможности СУБД, а только те, которые мы сами встроили в программный исполняемый фаил. Схема обмена данными при работе СУБД. рис На тарминале чз приложение формир-ся запрос обычно на SQL, прил-ие преоб-ся в команды SQL, которые поступают на сервер, где находитсяСУБД, которое опред-ет
физич-ое расположение данных на диске. СУБД чз файловую сис. считывает данные и помещает их в буфер памяти. СУБД преоб-ет данные соотв-но алг-му запроса и отправ-ет рез-ат обработки обратно польз-лю и сигнализ-ет о том, что запрос выполненсигнал прил-ию. Прилож-ие преоб-ет получ-ые данные в виде удобном для восприятия. 21.Модели данных. Сетевая и иерархическая. Модели и типы данных.
Файловая модель- набор файлов. Фактич-ки она не яв-ся Б.Д. Просто потом инф-ия из файлов польз-ей для формир-ия 2 отчтов, таблиц и т.п. 1Иерархич-ая-1-ая исторически сложившаяся модель.рис Любой сегмент это наименованная запись, которая содержит набор полей данных.Любому сегменту кроме корневого соотве-ет только один выше стоящий сегмент и несколько может быть и
O подчиннных сегментов. Поэтому любой сегмент лежит на единственном иерарх-ом пути, который начин-ся с корневого. Эта струк-ра созд-ся 1 раз и потом е изменить нельзя. Время доступа инф-ии достаточно мало. 1 N- один ко многим- другие отношения невозможны. Основные операции 1Поиск дерева может иметь несколько иерархически подчиннных структур 2Поиск сегмента. 3Переход от одного сегмента к др. как снизу вверх так и наоборот.
4Добавление сегмента.прим-рIMS, FOCUS, OKA, MUPUC. 2-АЯ МОДЕЛЬ СЕТЕВАЯ рис Отношение многие ко многимNM. При этом направление и характкр связей не яв-ся очевидным след-но использ-ся спец-ая сис. указателей, чтобы установить связи. При этом тип связи опред-ся при создании базы. Эффект-ое исполь-ие памяти, т.к. нет ограничений на жсткую струк-ру след-но повыш-ся операт-ть работы
-Высокая сложность модели. -Невозможная гибкость изменения набора связей. Основные операции 1Поиск сегмента 2Переход к др. сегменту 3Создание нового сегмента 4Удаление сегмента 5Вкл-ие сегмента в связь 6Искл-ие сегмента из связи 7Изменение связи примерыDBMS,TOTAL,DBVISTA,КОМПАС,ИНТЕРБА ЗА, СЕКТОР 22.Модели данных. Реляционная и постреляционная. 3 модель РЕЛЯЦИОННАЯ.
Основывается на понятии отношение. Наглядное представ-ие это табл. в ней хранится инф-ия. В терминах отношение строка- это кортеж, столбец-это атрибут. Если не уклад-ся в одну табл. создатся др. и му ними устанав-ся связь. Простота и понятность отсутствие стандартных средств идентификации отдельных записей - сложность описание иерархич-их сетевых связей. Примеры FOXPRO,PARADOX,
CLARION, CLIPPER, DB-ASE 4 ПОСТРЕЛЯЦ-АЯ модель рис Данные в таблице ячейке неделимы. Знач-ия ячеек могут состоять из подзнач-ий, т.е. там может быть несколько ссылок на др. знач-ия. Св-во неделимости не соблюд-ся. Ограничение на кол-во полей нет. Наджность представления инф-ии вместо многих табл. содам одну - Сложность обеспечения целостности и непротивор-ть данных.
ПримерыUNIVERS,DASDB 23. Модели данных.многомерная и объектно-ориентированная. 5 МНОГОМЕРНАЯ модель. В середине 90-х годов возникла необходимость в оперативной аналит-ой обработки. Она позволяет не только хранить сведения, но и позволяет получать инф-ию о состоянии некоторого объекта в конкретный момент времени в конкретных условиях для этого используют многомерные гиперкубы. Например, нужны данные об успеваемости студентов по годам, тогда координаты куба1.Фамилия,
2.Предмет, 3.Годна пересечении координат - ячейки с данными Рис Основные понятия Измерения- это мн-во однотипных данных образующие грань гиперкуба. Играют роль индексов Фамилия,Предмет,Год. Ячейка- поле знач-ия которое опред-ся фиксир-ым набором изм-ий. Причм знач-ия могут быть как переменные так и рез-ми формул. Сущ-ют 2 варианта организации данных1. Гиперкубическая- все показатели измеряются одним и тем же набором
измерений. Может быть неск-ко гиперкубов, но при этом все они имеют одинаковую размерность и совпадающий размер. 2. Поликубическая- большенство может включать неск-ко гиперкубов с различной размерностью. Определнные операции. 1Срез-это подмн-во ячеек гиперкуба полученное в рез-те фиксации 1 или неск-их изм-ий. 2Вращение- это изменение пор-ка изм-ий. 3Агригация-это переход к более общему представлению. 4Детализация-получение детального представления о каком-то объекте, измерении,св-ве обратная агригация
Эффек-ть обработки больших объмов данных связанных с временем Если используем эту модель для обыч-ых операций, для хранения инф-ии, то возникает мн-во проблем. ПримерыESSBASE, ORACLE, EXPRESS, ORION. 6 ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ. Идея этой модели Повышение уровня абстракции. Мы оперируем объектами. Она содер-ит данные, св-ва и методы.
По структуре эта модель похожа на иерар-ую, но вместо сегмента выступает объект. Это упрощает работу с этой моделью. Возможность отображения инф-ии о слож-ти связи Достаточно высокая сложность, получается отрыв внутреннего представ-ия от внешнего. Примеры POET, Jasmin, IRIS 24.Архитектура СУБД. ANSISPARC-исследоват-ая группа которая выработала ряд рекомендаций и предложила архитек-ру которая сод-ит 3 уровня 1Внутренний уровень.
2внешний. 3концептуальный. 2 Наиболее близкий к польз-лю уровень и он связан со способами предст-ия данных для отдельных групп польз-ей. Для каждого польз-ля сущ-ет свой тип внешней записи и он не соотв-ет с типом хранимой записи. Внешний уровень опред-ся возможностями и средствами языка. 3Это представление всего содержимого Б.Д, но абстрактном уровне, т.е. есть сведение о типе полей, струк-ре, набор полей, и т.п. 1Состоит из мн-ва экземпляров хранимых записей, причм она не связана с физич-
им уровнем хранения инф-ии, не рассмат-ся физич-ие адреса цилиндр, дорожка, кластер и т.п Опис-ся с помощью внутренней схемы.индексы, ключи. Обычно все польз-ли использ-ют внешнее предст-ие, но иногда сущ-ет необходимость исполь-ть внутренний уровень, тогда использ-ся спец-ые проги которые наз-ся утилиты, право на исполь-ие которых есть только у админист-ра Б.Д. 25.Реляционные Б.Д. Картеж, атрибут,домен,первичный ключ,опре-е отношения.
Реляционные Б.Д.Разработана Е.Ф. Коддом 1969-70. С е помощью опис-ся СУБД. Реляц-ная СУБД эта аткая сис. при которой вып-ся 2 условия1 Данные восприн-ся польз-ем как табл.2В распор-ии польз-ля есть операторы которые генерируют в новой табл. Абстрактным пред-ем табл. яв-ся отношение. Кортеж-это абстрактный представитель строки таблицы . Атрибут-это столбца таблицы Кол-во кортежей-это кординальное число отношений.
Кол-во атрибутов- это степень отношения. Схема отношений- это заголовок отношения или список имн атрибутов. Первичный ключ- это уникальный идентиф-ор для табл. это 1 столбец или совок-ть столбцов, такая совок-ть что в любой момент времени не сущ-ет 2-ух строк содер-их одинаковое знач-ие в этих столбцах. Домен- общая совок-ть знач-ий из которых берутся настоящие знач-ия для опред-ых атрибутов. Скаляр- это наименьшая сематич-ая ед-ца данных. Они автомарны т.е. не разлагаются на более мелкие значения.
Домен- это именованное мн-во скалярных знач-ий одного типа. Это мн-во опред-ых заранее некот-ми ограничениями Каждый атрибутопределн на един-ом домене. Домены имеют уникальные имена в Б.Д. Атрибуты в отношениях, в которых они содер-ся. Отношения R опред-ое на мн-ве доменов D1,D2 Dn эти домены не обязательно различны.
Они содер-ат 2 части 1Заголовок, 2Тело. Заголовок содер-ит фексир-ое мн-во атрибутов, каждый атрибут Aj соотв-ет одному и только одному из лежащих в основе доменов Dj . Все имена этих атрибутов A1,A2 An уникальны. Тело содержит мн-во кортежей, каждый кортеж содержит мн-во паримя атрибута значение атрибута,т.е. Тало атрибута некоторое мн-во которое содержит мн-во пар AiV1i , A2V2i , AnVni n1,2 m, m- кол-во кортежей в этом мн-ве.
26.Св-ва отношений.Требования к таблицам. Св-ва отношений 1Нет одинаковых кортежей и поэтому всегда сущ-ет первич-ый ключ. 2Кортежи не упорядочены. 3Атрибуты неупоря-ны. 4Все знач-ия атрибутов атомарны. В каждой ячейке может быть только одно значение-это отношение нормализированное. Реляц-ые Б.Д- это Б.Д воспринимающее польз-ем как набор нормализ-ых отношений разной степени с разным кординальным числом 1Все строки должны быть уникальными повторяющихся строк не должно быть 2Имена столбцов
должны быть различны. 3Значения ячеек должны быть простымиатомарными, т.е. не составные и без ссылок на др. знач-ия. 4Все строки должны иметь одинаковую структуру которая должна соотв-ть именам и типам столбцов. 5Порядок размещения строк в табл. может быть произвольным. Виды отношений 1.Именованные отношения отношения у которых есть имя и его заголовок зафиксирован, т.е. определн набор атрибутов. 2.Базовые отн-ия-это имен-ые автономныесамостоят-ые отношения являющ-ся
обязательными для Б.Д. Независимые от др. отн-ий, но без него Б.Д не имеет смысла. Базовые отн-ия из др. отн-ий получено быть не может 3.Производная отно-ий-это отн-ия получ-ые чз др. именов-ые отн-ия. Представление- это именов-ая произ-ая отн-ия. Отн-ия могут быть и не именова-ми напр-ер когда делают запрос Целостность реляц-ых данных. Б.Д отражает объект реально сущ-ий.
Правило целостности- устанавливают некоторые огранич-ия любой конкретной Б.Д, но есть ещ и общие правила любых базэто потенциальные и внешние ключи. Правило целостности прим-ся к базовым отн-ям. Потенциальный ключ. Сущ-ет некоторое отн-ие R тогда потенц-ый ключ К-это подмн-во мн-ва атрибутов которое обладает след-ми св-ми1св-во уникальности-нет 2-х кортежей с одинаковыми знач-ми
К. 2Св-во неизбыточности- никакое из подмн-ва К не обладает св-ом уникальности.рис
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |
Реферат | Untitled Essay Research Paper Words 361 |
Реферат | Henry Ford |
Реферат | Nature To Love Ones In Shakespeare |
Реферат | Перспективы устойчивого развития Бразилии |
Реферат | География атомной энергетики РФ |
Реферат | Rich |
Реферат | Хазарский словарь Милорада Павича |
Реферат | А.В. Колчак как учёный и военный деятель |
Реферат | Характеристика Шотландії |
Реферат | Автореферат разослан 27 января 2009 г |
Реферат | Вимірювання атмосферного тиску |
Реферат | Этапы формирования инвестиционного портфеля |
Реферат | Чеченский Махатма Ганди - эвлия Кунта-Хаджи и его учение |
Реферат | Имидж автора в публицистике |
Реферат | Выбор и способы получения заготовок деталей машин |