Реферат: Методические рекомендации и задания для лабораторных работ по дисциплине «Вычислительные системы»

Методические рекомендации и задания для лабораторных работ

по дисциплине «Вычислительные системы».

Кафедра Информационных технологий в экономике.

Автор доцент Л.Л.Ткачев.

1. Введение.

            В настоящеевремя широкое распространение получила  технология       параллельных базданных. Эта технология обеспечивает множеству процессоров   доступ кединственной базе данных, что позволяет также достичь более высокого уровняпропускной способности транзакций,

      поддерживатьбольшее число одновременно работающих пользователей и       ускорить выполнениесложных запросов.

 Существуют триразличных типа       архитектуры, которые поддерживают параллельные базыданных:

        Симметричнаямногопроцессорная архитектура с общей памятью (Shared        Memory SMPArchitecture). Эта архитектураподдерживает единую базу         данных, работающую на многопроцессорномсервере под управлением одной         операционной системы. Увеличениепроизводительности таких систем         обеспечивается наращиванием числа процессоров,устройств оперативной и         внешней памяти.

        Архитектура собщими (разделяемыми) дисками (Shared Disk Architecture).             Этаархитектура         поддерживает единую базу данных при работе с несколькимикомпьютерами,         объединенными в кластер (обычно такие компьютерыназываются узлами         кластера), каждый из которых работает под управлениемсвоей копии         операционной системы. В таких системах все узлы разделяютдоступ к общим         дискам, на которых собственно и располагается единаябаза данных.         Производительность таких систем может увеличиваться какпутем         наращивания числа процессоров и объемов оперативной памяти вкаждом узле         кластера, так и посредством увеличения количества самих узлов.

        Архитектура безразделения ресурсов (Shared Nothing Architecture). Как и         в архитектурес общими дисками, в этой архитектуре поддерживается единый         образ базыданных при работе с несколькими компьютерами, работающими под         управлениемсвоих копий операционной системы. Однако в этой архитектуре         каждый узелсистемы имеет собственную оперативную память и собственные         диски,которые не разделяются между отдельными узлами системы.

        Практически втаких системах разделяется только общий коммуникационный         канал междуузлами системы.  В  случае кластерной организации несколько компьютеров илиузлов кластера       работают с единой базой данных.

      Параллельные базыданных находят широкое применение в системах обработки       транзакций врежиме on-line, системах поддержки принятия решений и часто       используютсяпри работе с критически важными для работы предприятий и       организацийприложениями, которые эксплуатируются по 24 часа в сутки.

Базы данных занимают лидирующее положение в областиинформационных технологий, они становятся неотъемлемой частью жизнисовременного человека. Развитие систем управления этими процессами идет по путиинтеграции в единое целое, и огромным шагом к этому является использованиестандарта обработки информации с помощью структурированного языка запросов SQL.В настоящее время акцент делается на использование сетевых информационныхтехнологий, базирующихся на архитектуре клиент/сервер.

Понятие БД можно применить к любой связанной между собойинформации, хранимой и организованной особым способом — как правило, в видетаблиц.  При этом возникает необходимость выполнения следующих операций с БД:

1.  добавление новой информации в существующие файлы БД

2.  добавление новых пустых файлов в БД

3.  изменение (модификация) информации в существующих файлахБД.

4.  поиск информации по БД

5.  удаление информации из существующих файлов БД

6.  удаление файлов из БД

Компьютерная информационная система представляет собойпрограммный комплекс, задачи которого состоят в поддержке надежного хранения БДв компьютере, выполнении преобразования информации и соответствующихвычислений, предоставлении пользователям удобного и легко осваиваемогоинтерфейса. Объемы вводимой и хранимой информации довольно велики, а сами БДимеют достаточно сложную структуру.

Основным назначением БД в первую очередь является быстрыйпоиск содержащейся в ней информации.

Существует большое количество программ, которые предназначеныдля организации информации, помещения ее в таблицы и манипуляции с нею, такиепрограммы получили название СУБД. Основная особенность СУБД — это наличиесредств для ввода и хранения не только самих данных, но и описаний ихструктуры.

К функциям СУБД относят следующие:

управление данными непосредственно в БД — функция, обеспечивающая хранениеданных, непосредственно входящих в БД, и служебной информации, обеспечивающейработу СУБД;

управление данными в памяти компьютера — функция, связанная в первуюочередь с тем, что СУБД работают с БД большого размера. В целях ускоренияработы СУБД используется буферизация данных в оперативной памяти компьютера.При этом пользователь СУБД использует только необходимую для его конкретнойзадачи часть БД, а при необходимости получает новую «порцию» данных;

управление транзакциями — функция СУБД, которая производитряд операций над БД, как единым целым. Как правило, такие операции производятсяв  памяти компьютера. В первую очередь транзакции необходимы для поддержаниялогической целостности БД в многопользовательских системах. Если транзакция(манипуляция над данными) успешно выполняется, то СУБД вносит соответствующиеизменения в БД. В обратном случае ни одно из сделанных изменений не влияет насостояние БД;

управление изменениями БД протоколирование — функция, связанная с надежностьюхранения данных, то есть возможностью СУБД восстанавливать состояние БД ваварийных ситуациях, например, при случайном выключении питания или сбоеносителя информации. Очевидно, что для восстановления БД нужно располагатьдополнительной информацией, по которой и осуществляется восстановление. С этойцелью ведется протокол изменений БД, в который  перед манипуляциями с даннымиделается соответствующая запись. Для восстановления БД после сбоя СУБДиспользуется протокол и архивная копия БД  — полная копия БД к моменту началазаполнения протокола.

Современные СУБД  основываются  на использовании  моделей данных (МД), позволяющих описывать объекты предметныхобластей и взаимосвязи между ними. Существуют три основные МД и их комбинации,на  которых  основываются СУБД:  реляционная модель данных (РМД),  сетеваямодель данных (СМД), иерархическая модель данных (ИМД).

Основное различие между этими моделями  данных  состоит  в способах  описания  взаимодействий между объектамии атрибутами. Взаимосвязь выражает отношение между множествами данных.Используются  взаимосвязи «один к одному»,  «один ко многим» и «многие комногим».  «Один к одному» — это взаимно однозначное соответствие, котороеустанавливается между одним объектом и одним атрибутом.  Например,  вопределенный момент времени в одной ЭВМ используется  один  определенный процессор.  Номеру выбранной ЭВМ соответствует номер выбранного процессора. «Одинко многим» — одно-многозначное соответствие,  которое устанавливается междуодним объектом и многими атрибутами.  Например,  один пользователь для  решенияразличных задач использует различные языки программирования. «Многие ко многим»- это  соответствие  между  многими объектами и многими атрибутами. Например,на множество ЭВМ может одновременно работать множество пользователей.Взаимосвязи между объектами  и  атрибутами удобно представлять в виде графов игиперграфов.

Сетевые модели  данных (СМД)базируются  на табличных и графовых представлениях: вершинам графа обычно сопоставляются  некоторые данные,  которые представляются таблицами,  а дугам — типы связей.

В СМД элементарные данные и отношениямежду ними  представляются в виде ориентированной сети (вершины — данные,  дуги- отношения).

В БД с сетевой структурой данныхподдеревья могут иметь любое число корневых. Фактически сетевая БД состоит изнабора записей и множества связей между этими записями. Примерный переченьопераций для сетевых БД может быть следующим:

1.    найти запись позаданному признаку;

2.    перейти отпредка к потомку по указанной связи;

3.    перейти отпотомка к предку по некоторой связи;

4.    создать новуюзапись или удалить существующую;

5.    модифицироватьзаданную запись;

6.    включить всвязь или исключить из связи;

7.    переставить вдругую связь.

Иерархическая модель данных (ИМД)основана на  понятии  деревьев. Каждое дерево состоит из одного «корневого» иупорядоченного набора из нуля или более связанных с ним поддеревьев. Вершинадерева ставится в соответствие совокупности атрибутов данных,  характеризующихнекоторый объект. Целостность связи между ними поддерживается автоматически.

В таких БД поддерживаются следующиеоператоры манипулирования данными:

1.    найти дерево БДпо заданному признаку;

2.    перейти отодного дерева к другому;

3.    перейти отзаписи внутри дерева или в порядке обхода иерархии (сверху вниз, слеванаправо);

4.    вставить новуюзапись в указанную позицию;

5.    удалить текущуюзапись.

Реляционные базы данных.

Реляционную модель можно представитькак особый метод рассмотрения данных, содержащий и собственно данные (в видетаблиц), и способы работы и манипуляции с ними (в виде связей). Реляционнаямодель предполагает три концептуальных элемента: структура, целостность иобработка данных. В этих элементах есть свои специальные понятия, на которыеследует обратить внимание.

Таблица рассматривается как непосредственное«хранилище» данных. Традиционно в реляционных системах таблицу называют отношением.Строку таблицы называют кортежем или записью, а столбец – атрибутомили полем. При этом атрибуты имеют уникальные (в пределах отношения) имена.

Основными операциями, с помощью которыхмодифицируется база данных,  являются: включение, удаление и модификация. Этиоперации применяются к кортежам.

Основное достоинство реляционногоподхода — его  простота и доступность. Пользователи абстрагированы отфизической структуры памяти.  Это позволяет эксплуатировать БД без знания методов  и способов  ее  построения.

Как уже  говорилось выше,  в реляционной модели данныхесть возможность определения одного атрибута или их множества  в  качествеключа отношения.  Это свойство позволяет формировать запросы к базе данныхочень компактно,   что   делает реляционную модель очень простой  для разработчика  прикладного программного обеспечения.

С другой стороны, вся информация, которая должнахраниться и использоваться представляется в табличной форме, что являетсяхарактерной чертой представления информации в реляционных базах данных, а вчастности, в их разновидности — табличных базах данных.

                                     

2. Общие положения.

       Ниже изложеныосновные     теоретические положения и приемы их практической реализации    при организации информационной базы данных в СУБД FOXPRO и Excel    на ПЭВМ типа IBM PC.

       Сформулированыконтрольные задания для реализации студентом     конкретной базы данных наоснове информации, близкой ему по роду деятельности или интересов.

В процессе выполнения лабораторной работы студент должен по каждомуконтрольному заданию:

·    написать точнуюформулировку заданной команды (или нескольких     команд) управления,обеспечивающую получение от системы требуемой информации;

·    в произвольнойформе описать ожидаемую реакцию системы для своего варианта исходныхданных.     Описание реакции системы должно быть точным, не дающимвозможности     неоднозначного его толкования. Например, в задании 2 требуетсяописать структуру созданной базы     данных. В качестве ответа следует привестиимена полей, их тип и     длину. Объяснить смысл каждой из этих характеристик,обосновать     задание типа и длины поля. (Пример базы данных приведен на Рис.1).

     В задании 3требуется просмотреть все записи базы данных.     При описании реакции системыследует полностью привести информацию из исходных данных с указанием именполей, в которых     эта информация записывается, затем     требуетсяпросмотреть записи, удовлетворяющие заданному условию.     Это означает, что вкоманде управления нужно задать условие,     имеющее смысл для введенныхисходных данных, например,     «выдать наименование продукции с ценой менее 200условных единиц     за штуку», сформировать команду для этого условия, а приописании     результата указать либо номера записей, удовлетворяющих этомуусловию, либо дать конкретный перечень наименований продукции,    удовлетворяющий заданному условию.     Иными словами, описание реакции системыдолжно быть однозначным     и исчерпывающим по смыслу.

     Следует обратитьвнимание на то обстоятельство, что приводимые в     каждом пункте заданияподсказки типов используемых команд дают     лишь условное, а не точное ихнаписание. Точное написание команды     — задача студента. Каждая командапишется в отдельной строке,     исполнение каждой команды на ЭВМ происходитпосле нажатия     клавиши «ENTER».

            Дляоблегчения понимания студентом принципов организации     информации в типовойсистеме управления базой данных (СУБД)     при объяснении в качествеинформационной базы рассматривается     библиотечный каталог, смысл организациии назначение которого     предельно ясно любому студенту.

     Контрольныезадания ориентированы на  биржевую информацию, пример базы данных для которойприведен на рис.1.

     Поняв изпояснительного раздела настоящих указаний принципы     работы с библиотечнымкаталогом и биржевой информацией, студент самостоятельно должен     применитьзнания к созданию базы данных из другой информационной     области знаний.

          Для эффективной работы с информацией в ПКразработаны специальные программные средства, называемые системами управлениябазами данных -  (СУБД), которые позволяют вводить,       проверять, систематизироватьи обрабатывать информационные       данные, быстро находить нужную информацию ираспечатывать в виде       отчетов.

      Система FoxPro - одна из широко распространенных СУБД, предназначенная для эффективной обработкибольших       баз данных, обладающая развитыми средствами программирования.

В последних версиях системы Windows в рамках программного комплекса Microsoft Office широкое распространение получили  программныесредства обработки данных Accessи Excel.

Основные принципы работы с СУБД рассматриваются на примере FoxPro в командном режиме, дающем наиболееясное понимание смысла выполняемых функций, и  на примере Excel в режиме меню.

         Подавляющеебольшинство современных СУБД основано на реляционной        модели представленияданных, сущность которой заключается в представлении данных в виде таблиц такимобразом, что ко всем данным       при их обработке пользователь имеет прямойдоступ, т.е. данные       при построении базы иерархически не структурированы.

       В отличие отиерархических баз реляционная база дает большую       свободу пользователю какпри создании, так и при работе с базой,       но требует больших ресурсов ЭВМ.

        

 

Поля и записи.

         Для ввода ивывода информации из СУБД при ее создании необходимо определить поисковыеключевые признаки, позволяющие определять       принадлежность информации кконкретному понятию. Такие ключевые       поисковые признаки называются полями.Количество и виды полей       определяются пользователем в зависимости от егопредставлений       об информационном назначении создаваемой СУБД. Этоважный       момент, поскольку всякая дальнейшая работа с информациейвозможна       только в пределах понятий, заданных совокупностью полей.

       Для поясненийсказанного рассмотрим библиотечный каталог -       это информационная база,позволяющая найти нужную книгу среди       множества других. Как создать такуюбазу? Каковы ее ключевые       признаки — поля? А это зависит от нашеговоображения.       Можно искать книгу по названию, можно по автору, можнопо       месту расположения на стеллажах и т.д.

       Введем следующиепоисковые признаки:  фамилия автора, название, год издания, номерстеллажа,       номер ячейки на стеллаже, имеется ли книга на месте иливыдана,       фамилия пользователя, дата возврата.       Эти понятия и будутполями в нашей базе. В каждом поле содержатся конкретные данные — в полеавторов перечислены фамилии и т.д.       Совокупность данных одногоинформационного сообщения по всем       полям наз. записью. (в нашем случаезапись — это все данные       об одной книге.)       При задании каждого полянужно указать его название латинскими       буквами, максимальную длину данныхв символах (длина поля) и       тип данных(тип поля).       Данные могут бытьследующих типов  - символьный (character), числовой(numeric),дата(date),        логический(logical), примечание(memo).

Данные символьного типа это любая последовательностьсимволов.

Числовые данные могут быть двух видов: целые ивещественные.

       Вещественныечисла содержат дробную часть, отделяемую от целой       десятичной точкой, дляних задается точность представления.

       Поле даты имеетвсегда длину 8 символов. Дата задается в Европейском (Set Date German) — ЧЧ.ММ.ГГ, или американском (Set Date       American) — ММ/ЧЧ/ГГ формате.

       Данныелогического типа имеют значения да(yes) и нет(no).       В математическойлогике они называются соответственно истина (True)       и ложь (False). Этипонятия использует система, индицируя       состояние логического поля буквамиT и F. Длина логического       поля равна 1. Для хранения больших фрагментовтекста в базах данных       предусмотрены поля типапримечаний.                              

      

Создание базы данных.

1.Запускается исполняемый файл foxprol.exe. После этогозапускается система FoxPro ипоявляется       командное окно для ввода команд.

2. Создание структуры базы данных — Create BD1 (BD1 – имя базы данных, в общем случаепроизвольное). Появляется экран шаблон для ввода полей.

После задания последнего поля создание структуры базызавершается выходом на OK. Появляется запрос — Будете вводить данные   — нажимая клавишу Y, переходим в режим ввода данных, в котором,       собственнои осуществляется ввод информации.

Ввод информации в базу данных.

На экране появляется структура базы с именами полейзаданной       длины. Теперь после перехода на русский регистр вводятсяданные.       Переход с поля на поле клавишей Enter или стрелками,возврат       к предыдущей записи — PgUp, к последующей -PgDn.

Для выхода из режима после ввода всех данных — Ctrl-End.

Выход из базы Quit. Вход в существующую базу — Use BD1(активизация БД).

Вывод информации.

Clear очистка экрана. Для вывода информации используютсякоманды List и Display. Первая команда выводит на экран все записи,      вторая только одну, на которой стоит указатель записей, эта  запись называется текущей.Понятие указателя записей очень важно не       только при использовании командыDisplay, но и для ряда других       команд. Для установки указателя записисуществуют специальные       команды

GO TOP -перемещение указателя на первую запись

GO BOTTOM -             на последнюю

5 Enter  — на пятую запись

Если после этой команды дать команду Display — будетпоказана       пятая запись

SKIP +2 — перемещение указателя на две записи вперед

SKIP -2 -           на  две записи назад

DISPLAY ALL -выдача всех записей поэкранно

       GO 4 EnterDISPLAY REST -выдача записей, начиная с четвертой       (текущей)

       Выполнениекоманды LIST может быть инициировано клавишей F3, а       команды DISPLAYклавишей F8.

      

LIST AVT  просмотр всех фамилий в поле авторов

LIST AVT,NAZV просмотр фамилий авторов и названий книг

LIST RECORD 2 просмотр второй записи

       Чтобы командноеокно не мешало просмотру его можно передвинуть       нажав клавиши CTRL+F7 иизменить его размеры клавишами CTRL+F8 (можно использовать мышь)

      

       LIST FORGOD<1992 выводятся все поля для записей, удовлетворяющих       условию

       LIST NAZV FORGOD<1992 выводится только поле названий для книг,       изданных до 1992года

       Условия могутбыть сложными, использующими логические отношения       NOT,AND,OR в этой жеприоритетности они и исполняются, если       используются одновременно в однойкоманде.

LISTFOR (STEL=112).AND.(VOZVR<D)

      выдаютсякниги, расположенные на стеллаже 112 с просроченным       возвратом. Здесьиспользованы числовое поле стеллажа и поле даты.

       Прииспользовании логических операций с полями даты необходимо       предварительноопределить переменную типа даты следующим образом

D=CTOD('03.11.96') и затем уже работать с этойпеременной.

LISTAVT FOR (GOD>1990).OR.(NAL=’ЕСТЬ’)

Здесь использовано символьное поле, оно заключается вкавычки.

Логические условия заключаются в точки.

Символьная запись в кавычках должна быть задана точно теми жесимволами, которыми эта запись задана в базе. (ПК сравнивает коды      символов, поэтому русские и латинские буквы одного написания для       ПКразные символы, аналогично различаются строчные и прописные       буквы.

LIST FOR POLZOV='Орлов' выдаются книги, выданныеОрлову.

       LIST AVT,NAZVFOR NAL='ЕСТЬ' выводятся поля авторов и названий       для книг, имеющихся вналичии.

        

        Последовательный поиск записи по условию осуществляется        командой LOCATE.

       LOCATE FORSTEL=114  выдается номер одной первой найденной       записи. Просмотрнайденной записи осуществляется командой       DISPLAY. Следует обратитьвнимание, что действие команды начинается с перемещения указателя записи на первуюзапись и в процессе поиска указатель записи перемещается по базе данных.      После нахождения заданной записи указатель оказывается на этой       записи.Таким образом, команда работает с указателем записи       самостоятельно и,задавая после нее другую какую-нибудь команду,       нужно это учитывать. Вчастности, задавая для продолжения поиска       команду CONTINUE, нужнопонимать, что поиск продолжается с сохранением заданных условий от той записи,на которой остановился        поиск. Если заданные условия не найдены, тоуказатель записи       оказывается в конце базы и команда DISPLAY информации недает.

       Если в процессепоиска необходимо сменить условия, то, чтобы       не начинать поиск с началабазы, если это не нужно, а база       большая, следует использоватькоманду        LOCATE REST FOR STEL=115 — поиск будет продолжен оттекущей       записи с новыми условиями. Поиск может осуществляться и по      сочетанию нескольких условий:

       LOCATEFOR STEL=114.AND. NAL=’ЕСТЬ’,опять выдается только       номер первой записи, удоалетворяющей этому условию.

         Если мы нерасполагаем точной информацией о поисковом признаке,       т.е. не увереныабсолютно точно как записаны данные, то можно       организовать приближенныйпоиск:

       LIST AVT FORLIKE ('Ka*',AVT) — будут выданы все фамилии авторов, начинающиеся на Ка. Приэтом, конечно, будет выдана и лишняя       информация, но зато и нужная,которую при точном поиске       обнаружить бы не удалось. В опции LIKE символы* и? могут       употребляться в любых сочетаниях.       Может использоватьсятакже команда типа       BROWSEFIELD AVTFOR LIKE(‘Ka*’,AVT)  

        

Корректировка данных.

         Для изменения,дополнения или удаления записей используется       режим APPEND. После этойкоманды система переходит в режим       редактирования записей, при этомавтоматически в конец базы       добавляется пустая запись, на которую иустанавливается указатель записей. В эту пустую запись можно вводить новуюдополнительную информацию. Для перехода к предыдущим записям — PgUp.      Перейдя к нужной записи можно ее отредактировать обычным       образом. Дляудаления записи ее нужно предварительно пометить.       Пометка к удалению — команда CTRL+T. У помеченной записи слева       появляются метки в виде точек, однакозапись при этом не удаляется.       Восстановление помеченной к удалению записи(отмена удаления)       осуществляется повторной командой CTRL+T.

       Удалениеотмеченных записей производится командой PACK после       выхода из режимаредактирования. Выход из режима APPEND       командой CTRL+END. Пометить записьдля удаления можно и не       входя в режим APPEND командой DELETE RECORD 3 — третьязапись       оказывается помеченной или просто DELETE, помечена текущая запись.

Завершение удаления командой PACK.

Снятие пометок к удалению — команда RECALL, безпараметров       действует только на текущую запись.

Пример. RECALL ALL -снятие всех пометок.

USE BD1

GO 5  переход к пятой записи

SKIP-3 возврат ко второй записи

DELETE NEXT 3 пометка к удалению 2,3,4 записей

RECALL RECORD 4 снятие пометки с записи 4

       PACK удалениезаписей с возвратом указателя записей на первую       запись.

       В больших базахкоманда PACK работает медленно, поэтому используется редко. Чтобы помеченныезаписи не мешались, их делают       невидимыми командой SET DELETED ON, в этомслучае запись будет       появляться только при прямом обращении к ней (GO 20)-тогда       эта помеченная запись проявится.

Задав последовательность команд

USE BD1

APPEND FROM BDD1

       мы к открытойбазе BD1 добавим содержимое другой базы BDD1,       конечно при этом все базыдолжны существовать и поля у них       должны быть одинаковыми.

             

         Не в режимередактирования, а в командном, можно вставить новую       запись между ужеимеющимися. Для этого указатель записи устанавливается на нужную запись и онастановится текущей. Для вставки       после текущей записи используется командаINSERT BLANK,

для вставки перед текущей записью — команда INSERTBEFORE BLANK.

Изменение записейкомандой REPLACE

Командой REPLACE осуществляется модификация записей вбазе,       т.е. замена одного понятия другим, а не дописывание илиизменение       отдельных символов, как это делается в режиме APPEND.

Команда без параметров действует только на текущуюзапись.

       Пример. 3 ENTERREPLACE NAL WITH 'ЕСТЬ' — установлена третья       запись, и в поле наличиесделана запись о том, что книга       возвращена.

       REPLACE ALL GODWITH 1880 — все записи в поле GOD заменяются       на 1880.

       REPLACESTEL WITH222 FORSTEL=112 — все книги со стеллажа112       переставлены на стеллаж 222. Изменяются все записи, для которых      номер стеллажа 112.

       Практическитолько командой REPLACE в FoxPro можно изменять значения полей файла БД. В этомсмысле она эквивалентна знаку равенства       в операции присваивания дляпеременных в алгоритмических языках.

       Буквально фраза<поле> with <выражение> соответствует оператору       присвоения<поле>=<выражение>.

Пример использования команды.

Бригаде дана премия 20% от выработки каждого, у коговыработка       более 100р, а бригадиру еще 500р. Нужно изменить полевыработки       (VIR), т.е. начислить премию к зарплате.

У бригадира табельный номер 98.

USEBRIGADA

REPLACE VIR WITH VIR*1.2 FOR VIR>100

REPLACE VIR WITH VIR+500 FOR TAB=98

      Можноввести специальное понятие вычисляемого поля по аналогии       с тем, как этоделается в электронных таблицах.

       Пусть есть вбазе поля COST(цена) и QUANT(количество), в этих       полях есть записи. Естьпустое поле COST_PART(цена партии).

Заполнить это пустое вычисляемое поле можно так

REPLACE ALL COST_PART WITH COST*QUANT

BROWSE ОКНО

Является мощным средством редактирования, просмотра и      управления данными. В режиме Browse записи можно редактировать,       дополнятьи помечать к удалению. Допускается создавать т.н. вычисляемые поля. Эти поляфактически не являются полями базы данных, но могут быть их функциями иотображаются на экране наравне с настоящими полями.

Такой режим соответствует работе с электроннымитаблицами.

Вычисляемые поля не могут редактироваться изапоминаться в БД.

Длявведения вычисляемого поля при вызове режима BROWSE, указывается какуюинформацию       заносить в это поле. Эта информация будет индицироватьсяв       режиме BROWSE, но после выхода из режима она исчезает и если      затем просмотреть записи БД, то вычисляемое поле окажется       пустым.

       Пример: Пусть вбазе есть поля COST — стоимость единицы товара       и MINIM — минимальнаяпартия поставки. Сформируем вычисляемое       поле Стоимость минимальной партии- MIN_COST.

Входим в режим BROWSE:

BROWSE MIN_COST=COST*MINIM – формируется и индицируется      вычисляемое поле. По умолчанию в режиме BROWSE отображаются        все поля БД.Однако, можно уменьшить количество выводимых       полей, задавая их поименно:

BROWSEFIELDS COST,MINIM,MIN_COST=COST*MINIM

В качестве заголовков по умолчанию отображаются именаполей.       Однако, есть возможность задавать произвольные заголовки:

BROWSE FIELDS COST:H=’цена’,MINIM:H=’мин. партия’,

MIN_COST=COST*MINIM:H=’мин.цена’

      Еслизаголовок не нужен вообще, следует в качестве заголовка       использоватьпробел («).Можно использовать также условие-фильтр       при вхождении в режим.Например выдать товары с ценой менее       2 тыс.$: BROWSEFOR COST<2000

   

       Для сохранениязаданного режима работы BROWSE после выхода       из него предварительнозадается команда SET RESOURCE ON  тогда команда BROWSE LAST вызывает последнююверсию режима       BROWSE. Если SET RESOURCE OFF, то последняяконфигурация       не сохраняется и опция LAST никак не действует, акоманда       BROWSE LAST срабатывает просто как команда BROWSE.

        

         Работая врежиме BROWSE, можно клавишей F10 перейти в       верхнее меню, войти в менюBROWSE и там:

       опция GRIDOFF/ON -установить или убрать вертикальные       разделители между полями, MOVEFIELD — позволяет менять местами       поля в BROWSE окне, SIZE FIELD — позволяет менять видимые       размеры (ширину) выделенного поля.

       КлавишамиCTRL+F2 можно осуществить перевод маркера из BROWSE       окна в окно команд.

           

Изменение структуры базы данных.

         Изменениеструктуры базы данных, т.е. введение новых полей,       изменение или изъятиеимеющихся осуществляется в режиме       MODIFY STRUCTURE. На экране при этомпоявляются существующие       поля, их названия и параметры. Изменения всуществующих полях       осуществляется обычным посимвольным редактированием.       Длявставки нового поля перед текущим полем маркер передвигается в крайнюю левуюпозицию    (нажим ENTER вызывает появление стрелок ) и в этой позициинажимается клавиша       INSERT. Появляется поле с именем NEWFIELD, которомузатем       обычным редактированием можно задать любое другоеимя.                      Для уничтожения существующего поля маркер в той жекрайней       левой позиции и клавиша DELETE.

Выход из режима черезOK.

         Просмотрструктуры осуществляется командой       LIST STRUCTURE

       Структура новойбазы может быть создана из структуры уже       имеющейся командами

COPY STRUCTURE TO DB2

COPY STRUCTURE TO DB2 FIELDS AVT,NAZV

т.е. формирование новой базы с полным или частичнымнабором       полей.

Копирование базданных

Можно создавать новые базы данных, копируя не толькоструктуру,       но и сами данные.

USE BD1COPYTO BDD — скопируется вся базаCOPY TO BDD1 FIELD AVT — скопируются всезаписи в поле AVT

COPY TO BDD2 FOR GOD=1992 — все записи по всем полям где годиздания 1992

COPYTO BDD3 FIELD AVT FOR GOD=1992COPY TO BDD4 FIELD AVT FOR GOD=1992.AND.NAL=’есть’

Таким образом можно создавать частичные базы данных для      желаемых полей с заданными условиями.

Фильтр

Частичные базы данных можно создавать также с помощью        фильтра.Фильтр — это способ ограничения для просмотра       больших баз данных. Послевведения фильтра из большой базы       выводится только информация,удовлетворяющая заданным в фильтре условиям, а остальной как бы не существует,хотя на самом деле       сама база никаким изменениям не подвергается.

SETFILTER TO GOD>1990LIST

Будет выдана информация только по книгам, выпущеннымпосле 1990г.

       Если послевключения фильтра дать команду       COPY TO BDD  то будет создана новая база,в которую войдут       только книги, выпущенные после 1990г.

       Действие фильтраотменяется при выходе из БД, например, при       переходе к другой БД — USEBDD1.

       Отменяется такжезаданием команды SET FILTER TO без указания       условий. Установленный фильтрначинает действовать только в       случае, если после команды SET FILTER TO<условия> произведено       хоть какое-то перемещение указателя записей вфайле БД       (например, дана команда LIST, перемещающая этот указатель)      При задании фильтра возможны логические условия

SETFILTER TO STEL>112.AND.GOD>1990

Заданный фильтр отменяется также заданием другогофильтра

SET FILTER TO STEL>112

Сортировка базыданных

База данных для облегчения пользования ею может быть      упорядочена по заданному закону, например, по алфавиту в       поле авторов илипо возрастанию или убыванию года издания       или другим информационнымпризнакам данных.Но упорядоченная       база при этом создается как новая, т.е.каждая сортировка       требует создания новой базы, следовательно каждаясортировка       влечет за собой требования к месту размещения этой новойбазы.       Когда база маленькая об этом можно не думать, а если база      большая, то количество признаков упорядочивания ограничивается       объемамидисковой памяти компьютера.

Примеры:

USE BD1

SORT TO BD2 ON AVT база BD2 отсортирована по алфавитуавторов

SORT TO BD3 ON AVT/D обратная сортировка по алфавиту

SORT TO BD4 ON STEL по номеру стеллажа в возрастающемпорядке

SORPT TO BD5 ON STEL/D в убывающем порядке                     

SORT TO BD6 ON VOZVR по дате возврата в порядкевозрастания

Сортировка по нескольким полям:

       SORT TO BD7 ONSTEL,NOM/D по возрастанию номера стеллажа,       а внутри каждого стеллажа впорядке убывания номера ячейки.

       Сортировка базыпозволяет ускорить в большой базе поиск       нужной информации.

                   

Индексирование базданных

         Важнейшимэлементом любой системы управления базами данных       является наличие средствускоренного поиска данных, поскольку        поиск — самая распространеннаяоперация в системах обработки       данных. Этот механизм реализуется введениемт.н. индексных       файлов. Они имеют расширение IDX.

       ИндексированиеБД вводится для ускорения операции поиска данных.       Для этой же цели можноприменять сортировку БД по нужному       поисковому ключу, но каждая сортировкасоздает новую БД размером       с исходную. Реальные БД имеют большой размер имногократная их       сортировка оказывается технически нереализуемой.

       Индексные файлызанимают принципиально меньший объем, поэтому       для больших БД необходимаименно индексация, поскольку в неупорядоченной базе поиск длится долго, асортировка невозможна из-за       ограничений в дисковой памяти. Если файлпроиндексирован,       команды DISPLAY,BROWSE,SKIP,REPLACE и все другие,связанные       с движением в файле базы данных, перемещают указательзаписей       в соответствии с индексом, а не с физическим порядком расположениязаписей. В частности, команды GO TOP и GO BOTTOM       устанавливают указательзаписей не на первую и последнюю       физические записи, а на начальную иконечную записи индексного       файла соответственно. Один файл БД может бытьпроиндексирован       по нескольким полям и иметь любое число индексов.       Такие файлы не содержат сами записи, а содержат только указание       напорядок их расположения в файле БД для того поля, по которому      осуществлена индексация. Например, при индексации поля авторов       валфавитном порядке в индексном файле будут содержаться записи       такого типа1 — 3 справа  номера записей в файле БД в поле AVT,

2 — 1 слева номера записей в индексном файле     

3 — 5 для поля AVT и аналогично для других полей.

Размер индексного файла сравним с объемом дискового пространства,занимаемого полем базы данных, по которому было произведено      индексирование. Т.о. если база проиндексирована по всем полям,       суммарныйразмер всех индексных файлов будет близок к размеру       всей БД. При наличиимногих индексов замедляются операции ввода и редактирования БД, т.к. придополнении БД новой записью       автоматически должны быть отредактированы всеиндексные файлы.

Индексированиевыполняется следующей командой

INDEX ON <выражение> TO <IDX-файл> [COMPACT] [ADDITIVE]

Предпоследняя опция создает компактный индексный файл,поэтому       ею всегда надо пользоваться, это ускоряет поиск.       Последняяопция обеспечивает сохранность уже созданных индексных       файлов приоткрытии новых. По умолчанию вновь создаваемые индексы закрывают ранее открытыеиндексы для текущей БД.

Индексированная база из текущей создается :

USE BD1

INDEX ON AVT TO BD2 — из базы BD1  созданаиндексированная       по фамилиям база BD2 с расширением .IDX

Можно сделать ограниченную индексацию

INDEX ON AVT TO BD3 FOR STEL=112

После создания индексированной базой можно пользоватьсяслед.       образом: при открытии базы:

USE BD1 INDEX BD2 или

USE BD1

SET INDEX TO BD2

При корректировке записей БД индексированные файлыавтоматически       изменяются, поэтому при активизации БД нужно указыватьвсе       имеющиеся уже созданные индексированные файлы:

SET INDEX TO BD2,BD3 и т.д. сколько есть файлов .IDX

Отмена индексации: SET INDEX TO или SET ORDER TO 0                  

      Активнымявляется только первый из указанных индексов.       По нему индексируется база.Переключиться на другой индекс можно       командой SET ORDER TO N — где Nпорядковый номер индексированного       файла в последнем списке (SET INDEX TO...). Можно сделать       иначе — заново задать команду SET INDEX TO… гденужный индекс       должен быть у первого в списке индексного файла.        

       Виндексированном файле быстрый поиск нужной записи может       осуществлятьсякомандой

SEEK 'Попов'  для строкового поля

       SEEK 25   длячислового

       SEEK D    гдеD=ctod('22.03.94')   для даты

       После каждойкоманды SEEK нужно дать команду DISPLAY для       индикации результатов поиска.Пример.

USEBD

INDEX ON AVT TO BD1

INDEX ON VOZVR TO BD2

INDEX ON GOD TO BD3

USE BD INDEX BD1

SEEK ‘Попов’,  DISPLAY

USE BD INDEX BD2, D=CTOD(‘22.03.94’),  SEEK D, DISPLAY

USE BD INDEX BD3,  SEEK 1992,  DISPLAY

Если все индексные файлы не были перечислены при открытиибазы,       а она была изменена, нужно произвести переиндексацию командой

REINDEX предварительно задав командой SET INDEX TO ...

все индексные файлы, подлежащие переиндексации.

         Команда SEEK<выражение> применяет специальный алгоритм ускоренного поиска, в которомбаза просматривается не сплошь, а в       соответствии с информацией,содержащейся в индексном файле.

       При наличиииндекса сначала именно в нем, а не в самой базе       ведется поиск номеразаписи с указанным в команде SEEK значением       выражения в индексном поле.При этом поиск в индексе выполняется       не последовательно, а скачками (т.н.двоичный поиск), что позволяет быстро локализовать номер нужной записи. КомандаSEEK находит       только одну первую запись и устанавливает на нее указательзаписи.

       Сочетаниемкоманды SEEK с командой SET NEAR ON может быть осуществлен приближенный поиск,если точное значение искомого признака       неизвестно. Пример.

USEBD,  INDEX ON GOD TO BD1 COMPACT,  SET NEAR ON,  SEEK 1980,BROWSE

       В результатепоиска указатель записи установится на числе,       ближайшем к заданному.Войдя в режим BROWSE и оглядев ближайшие       записи, легко обнаружитьинтересующую, поскольку в индексированной       базе все записи упорядочены погодам и искомый год находится рядом.

       Команда SEEKявляется аналогом команды LOCATE для последовательного       поиска. Однакокоманде продолжения поиска CONTINUE нет индексного       аналога. Причина здесьочевидна. После того как командой SEEK       найдена первая нужная запись,розыск остальных записей, удовлетворяющих ключу поиска, является тривиальным.Следующая такая запись       (если есть) находится в индексированном файленепосредственно       ниже найденной, и переход на нее может быть выполненпросто       командой SKIP.

3.   Задание на лабораторную работу.

3.1       В программной системе FoxPro.

              

1.Создать файл базы данных (БД)

(Create ...)

2.Посмотреть описание структуры БД

(Use, List structure)      Пояснить содержание выдаваемойинформации

3.Посмотреть на экране все записи БД

(List)

Посмотреть записи, удовлетворяющие заданному условию

(List… for ...)

Посмотреть содержимое выбранных полей для всех записейБД

(List fields...)

Посмотреть содержимое выбранных полей, удовлетворяющих     заданному условию (List fields...for...)

Условия задать длясимвольного, числового и поля типа «дата»

Для полей типа «дата» предварительно задать

Set date german; D=CTOD(‘дата’);

List fields ...for D...)

Осуществить просмотр выбранных полей с приближенным     условием (List fields for like ...)

4.Командой Displayпосмотреть содержимое с выбранным номером

5.Осуществить последовательный поиск и просмотр первой      ипоследующих записей                     

(Locate for ...);

Display;

(Locate rest for...);

Display

6.Сделать архивную копию БД

(Copy to ...)

7.Добавить запись вконец активизированной рабочей БД

(Append)

8.Посмотреть добавленную запись

(Go bottom; Display)

9.Пометить для удаления последнююзапись и третью

(Delete; go 3; Delete)

10.Посмотреть все записи БД (Displayall)

Обратить внимание на третью и последнюю записи.

Сравнить варианты: Set deleted on; Displayall

Set deleted off;Display all

11.Запроситьколичество записей файла БД

Сравнить два варианта: Set deleted on; ?reccount()

Set deleted off;?reccount()

12.Отменить пометку к удалению длятретьей записи

(Recall record 3)

Посмотреть все записи. Объяснить результат

13.Выполнить физическое удалениепомеченной записи (Pack)

Посмотреть все запси в двух вариантах:

Setdeleted on и Set deleted off

14.Выполнить задание п.11 и сравнитьполученные результаты

15.Вставить дополнительные записи вБД перед и после третьей

записи, используя команды Insert blank, Insert before blank

Посмотреть все записи БД и сравнить с п.13

16.Удалить запись, вставленную послетретьей записи.

Посмотреть все записи.

17.Добавить поля «цена партии» и «ценаминимального комплекта

поставки». Заполнить новые поля как вычисляемые

(Modify structure ...

Go top

Replace all ...)

18.Осуществить просмотр содержимоговычисляемых полей.

19.Создать новую частичную БД из имеющейся с помощьюоперации      копирования с полями «наименование товара» и «цена».

(Copy to… fields ...).

Посмотреть и описать содержимое новой базы.

20.Для исходной БД ввести фильтр пополю “цена”.

(Set filter to cost ...)

Просмотреть содержимое БД с заданным фильтром.

21.Скопировать исходную БД свключенным фильтром в новую БД.

(Copy to ...). Просмотреть содержимое полученной БД.

(Use....; List)

22.Осуществить сортировку БД по полям «цена», «дата» и «наименованиетовара». (Sortto ...on...)

23.Посмотреть порядок расположениязаписей в полученных БД.

24.  В режиме Browseосуществить создание и просмотр вычисляемого поля, задать заголовки полей,изучить работу в режиме Browse Last.

Индексирование баз данных

25.Выполнитьиндексирование  БД по полю “количество” — QUANT

USE …

INDEX ON … TO …

LIST

26.Создать два дополнительных индексных файла по полям     «наименование товара»-Prod_name и «дата»-Date.

INDEX ON … TO … ADDITIVE

27.Просмотреть полученныеиндексированные базы

USE …

SET INDEX TO …

28.Закрыть исходную БД

29.Открыть исходную БД вместе со всемииндексными файлами

USE BD INDEX …

30.Ввести в исходную БД дополнительную запись с новымиданными      в полях, по которым проводилась индексация.

Посмотреть изменения в индексных файлах.

SET INDEX TO …

SET ORDER TO ...

LIST

31.Осуществить быстрый поиск записи в каждом индексном файле(по числовому, символьному и полю даты).

SET INDEX TO …

SEEK …

DISPLAY

32.Осуществить приближенный поиск вполе даты

SET NEAR ON

...                                

….

BROWSE

3.2       В программной системе Excel.

1.   Создание структурыБД.

В первой строке рабочего листа  ввести названия полей.

2.         Ввод данных  через меню

Данные — Форма.

Каждый новый список нужно создавать на отдельном рабочемлисте, т.к. программа Excelобрабатывает только одну БД на одном листе.

Осуществить автоматическую установку ширины столбца всоответствии с длиной записи в поле.

Осуществить изменение формата даты – выделением заголовкастолбца даты щелчком левой кнопки мыши в самом верху столбца.

3.   Осуществить поискэлементов в списке.

Активная рамка при этом должна находиться в пространстве сзаписями,  (т.е. внутри базы).

В качестве критерия поиска в числовых полях и полях датыупотребляются критерии > и <. В символьных полях можно использовать * и?.

Когда используются несколько критериев поиска, программа находитзапись, удовлетворяющую всем критериям.

4.   Осуществитьредактирование данных.

Данные — Форма.

5.   Задатьавтоматический фильтр.

Данные – Фильтр — Автофильтр.

6.   Осуществитькомбинированную фильтрацию по двум критериям с помощью автоматического фильтра.

7.   Осуществитьсортировку БД по одному и двум критериям в возрастающей и убывающейпоследовательностях.

Данные — Сортировка.

8.   Копирование БД.

1.   Копированиевыделением отдельных полей с помещением их в буфер и перемещением в другойфайл.

2.   Копирование спомощью фильтра – фильтром формируется желаемый вид записей, затем всеполучившееся копируется в буфер.

9.Осуществить заполнение вычисляемогополя с использованием формул    вида =d2*g2,  =d2*$g$2,(соответственно,   $g2 и g$2).

10.  Осуществить добавление и удалениестолбцов, строк, а также переименование страниц.

Рис.1        Пример исходной информации для базыданных.

Номер Код Наименование Цена Колич. Город Дата Мин.партия 27 К254 Дозиметр ДБГВ 542 100 Витебск 22.01.01 3 28 К348 Определит.номера 1720 800 Витебск 19.02.01 4 29 Б023 Судно типа «Луч» 7240 45 Саратов 15.10.01 2 30 К322 Теплоход 50000 30 Саратов 11.11.01 3 31 Л269 Фильтр-3М 50 300 Воронеж 13.08.01 30 32 Л314 Фильтр-5М 45 500 Воронеж 22.08.01 25 33 Л324 Фильтр-7М 24 90 Воронеж 12.08.01 50 34 Б017 Экскаватор 135000 8 Казань 12.07.01 2

Имена полей могут быть заданы, например, такими: NOM, KOD, CENA, KOL, MESTO, DATE,

MINPART.

Литература.

1. Глушаков С.В., Ломотько Д.В.   «Базыданных»,   изд. «Фолио»,  Харьков, 2000г.

2. А. Дубина «FoxPro. Технологияпрограммирования» ,  изд. «Филинъ», Москва, 1998

3.  А.А.Попов. Создание приложений для FoxPro 2.5/2.6 в DOS и Windows. М. Изд. ДЕССКОМ, 2000.

4.  Тихонов А. Тихонова Л. Visual FoxPro 5 без проблем.Издательство Бином, 1997.

5.  А.А.Попов. Программирование в среде СУБД FoxPro. М.,1995 и более поздние издания.

6.         Фейз Вемпен.Microsoft Office 97 Professional, М., 1997.

7.         МаркДодж, Крейг Стинсон. Эффективная работа с Excel 2000. Изд-воПитер,

 М. 2001.

                  

еще рефераты
Еще работы по информатике, программированию